ngx-material-navigation 18.1.3 → 18.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,10 +5,10 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
5
5
  import * as i0 from "@angular/core";
6
6
  export class NavImageComponent extends NgxMatNavigationBaseNavElementComponent {
7
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageComponent, isStandalone: true, selector: "nav-image", usesInheritance: true, ngImport: i0, template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageComponent, isStandalone: true, selector: "nav-image", usesInheritance: true, ngImport: i0, template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'nav-image', standalone: true, imports: [CommonModule], template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
12
+ args: [{ selector: 'nav-image', standalone: true, imports: [CommonModule], template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL25hdi1lbGVtZW50L2ltYWdlL25hdi1pbWFnZS9uYXYtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2LWVsZW1lbnQvaW1hZ2UvbmF2LWltYWdlL25hdi1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBVTNGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSx1Q0FBOEQ7d0dBQXhGLGlCQUFpQjs0RkFBakIsaUJBQWlCLDRGQ2Y5QiwrU0FHTSw4WURVUSxZQUFZOzs0RkFFYixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBRUksV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzZG9jL3JlcXVpcmUtanNkb2MgKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2RWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25hdi1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbmF2LWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXYtaW1hZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1pbWFnZS5jb21wb25lbnQuc2NzcycsICcuLi9iYXNlLW5hdi1pbWFnZS5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZJbWFnZUNvbXBvbmVudCBleHRlbmRzIE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudDxOYXZFbGVtZW50VHlwZXMuSU1BR0U+IHsgfSIsIjxkaXYgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cImlzU2lkZW5hdkVsZW1lbnRcIiBbY2xhc3MubWVudUl0ZW1dPVwiaXNNZW51SXRlbVwiPlxuICAgIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvcHJlZmVyLW5nc3JjIC0tPlxuICAgIDxpbWcgd2lkdGg9XCJhdXRvXCIgW2FsdF09XCJlbGVtZW50VmFsdWUuYWx0XCIgW2hlaWdodF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3N0eWxlLmhlaWdodF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3NyY109XCJlbGVtZW50VmFsdWUudXJsXCI+XG48L2Rpdj4iXX0=
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWltYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL25hdi1lbGVtZW50L2ltYWdlL25hdi1pbWFnZS9uYXYtaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2LWVsZW1lbnQvaW1hZ2UvbmF2LWltYWdlL25hdi1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUMsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBVTNGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSx1Q0FBOEQ7d0dBQXhGLGlCQUFpQjs0RkFBakIsaUJBQWlCLDRGQ2Y5QixrVEFHTSw4WURVUSxZQUFZOzs0RkFFYixpQkFBaUI7a0JBUjdCLFNBQVM7K0JBRUksV0FBVyxjQUdULElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzZG9jL3JlcXVpcmUtanNkb2MgKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2RWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25hdi1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbmF2LWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXYtaW1hZ2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uYXYtaW1hZ2UuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL25hdi1pbWFnZS5jb21wb25lbnQuc2NzcycsICcuLi9iYXNlLW5hdi1pbWFnZS5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZJbWFnZUNvbXBvbmVudCBleHRlbmRzIE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudDxOYXZFbGVtZW50VHlwZXMuSU1BR0U+IHsgfSIsIjxkaXYgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cImlzU2lkZW5hdkVsZW1lbnRcIiBbY2xhc3MubWVudUl0ZW1dPVwiaXNNZW51SXRlbVwiPlxuICAgIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvcHJlZmVyLW5nc3JjIC0tPlxuICAgIDxpbWcgd2lkdGg9XCJhdXRvXCIgW2FsdF09XCJlbGVtZW50VmFsdWUuYWx0XCIgW2hlaWdodF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3N0eWxlLmhlaWdodC5weF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3NyY109XCJlbGVtZW50VmFsdWUudXJsXCI+XG48L2Rpdj4iXX0=
@@ -5,10 +5,10 @@ import { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.
5
5
  import * as i0 from "@angular/core";
6
6
  export class NavImageWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent {
7
7
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithExternalLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
8
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithExternalLinkComponent, isStandalone: true, selector: "nav-image-with-external-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
8
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithExternalLinkComponent, isStandalone: true, selector: "nav-image-with-external-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
9
9
  }
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithExternalLinkComponent, decorators: [{
11
11
  type: Component,
12
- args: [{ selector: 'nav-image-with-external-link', standalone: true, imports: [CommonModule], template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
12
+ args: [{ selector: 'nav-image-with-external-link', standalone: true, imports: [CommonModule], template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
13
13
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtbmF2aWdhdGlvbi9zcmMvY29tcG9uZW50cy9uYXYtZWxlbWVudC9pbWFnZS9uYXYtaW1hZ2Utd2l0aC1leHRlcm5hbC1saW5rL25hdi1pbWFnZS13aXRoLWV4dGVybmFsLWxpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2LWVsZW1lbnQvaW1hZ2UvbmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay9uYXYtaW1hZ2Utd2l0aC1leHRlcm5hbC1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFVM0YsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHVDQUFpRjt3R0FBM0gsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsK0dDZjlDLHdoQkFTSSw4WURJVSxZQUFZOzs0RkFFYixpQ0FBaUM7a0JBUjdDLFNBQVM7K0JBRUksOEJBQThCLGNBRzVCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzZG9jL3JlcXVpcmUtanNkb2MgKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2RWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25hdi1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbmF2LWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXYtaW1hZ2Utd2l0aC1leHRlcm5hbC1saW5rJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay5jb21wb25lbnQuc2NzcycsICcuLi9iYXNlLW5hdi1pbWFnZS5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZJbWFnZVdpdGhFeHRlcm5hbExpbmtDb21wb25lbnQgZXh0ZW5kcyBOZ3hNYXROYXZpZ2F0aW9uQmFzZU5hdkVsZW1lbnRDb21wb25lbnQ8TmF2RWxlbWVudFR5cGVzLklNQUdFX1dJVEhfRVhURVJOQUxfTElOSz4geyB9IiwiPGEgY2xhc3M9XCJpbWFnZS1saW5rXCIgZGlzYWJsZVJpcHBsZVxuICAgIFtocmVmXT1cImVsZW1lbnRWYWx1ZS5saW5rLnVybFwiXG4gICAgW3RhcmdldF09XCJlbGVtZW50VmFsdWUubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgIFtyZWxdPVwiZWxlbWVudFZhbHVlLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwiaXNTaWRlbmF2RWxlbWVudFwiXG4gICAgW2NsYXNzLm1lbnVJdGVtXT1cImlzTWVudUl0ZW1cIlxuPlxuICAgIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvcHJlZmVyLW5nc3JjIC0tPlxuICAgIDxpbWcgd2lkdGg9XCJhdXRvXCIgW2FsdF09XCJlbGVtZW50VmFsdWUuYWx0XCIgW2hlaWdodF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3N0eWxlLmhlaWdodF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3NyY109XCJlbGVtZW50VmFsdWUudXJsXCI+XG48L2E+Il19
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtbmF2aWdhdGlvbi9zcmMvY29tcG9uZW50cy9uYXYtZWxlbWVudC9pbWFnZS9uYXYtaW1hZ2Utd2l0aC1leHRlcm5hbC1saW5rL25hdi1pbWFnZS13aXRoLWV4dGVybmFsLWxpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2LWVsZW1lbnQvaW1hZ2UvbmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay9uYXYtaW1hZ2Utd2l0aC1leHRlcm5hbC1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxPQUFPLEVBQUUsdUNBQXVDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFVM0YsTUFBTSxPQUFPLGlDQUFrQyxTQUFRLHVDQUFpRjt3R0FBM0gsaUNBQWlDOzRGQUFqQyxpQ0FBaUMsK0dDZjlDLDJoQkFTSSw4WURJVSxZQUFZOzs0RkFFYixpQ0FBaUM7a0JBUjdDLFNBQVM7K0JBRUksOEJBQThCLGNBRzVCLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGpzZG9jL3JlcXVpcmUtanNkb2MgKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgTmF2RWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25hdi1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbmF2LWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXYtaW1hZ2Utd2l0aC1leHRlcm5hbC1saW5rJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LWltYWdlLXdpdGgtZXh0ZXJuYWwtbGluay5jb21wb25lbnQuc2NzcycsICcuLi9iYXNlLW5hdi1pbWFnZS5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZJbWFnZVdpdGhFeHRlcm5hbExpbmtDb21wb25lbnQgZXh0ZW5kcyBOZ3hNYXROYXZpZ2F0aW9uQmFzZU5hdkVsZW1lbnRDb21wb25lbnQ8TmF2RWxlbWVudFR5cGVzLklNQUdFX1dJVEhfRVhURVJOQUxfTElOSz4geyB9IiwiPGEgY2xhc3M9XCJpbWFnZS1saW5rXCIgZGlzYWJsZVJpcHBsZVxuICAgIFtocmVmXT1cImVsZW1lbnRWYWx1ZS5saW5rLnVybFwiXG4gICAgW3RhcmdldF09XCJlbGVtZW50VmFsdWUubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxuICAgIFtyZWxdPVwiZWxlbWVudFZhbHVlLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcbiAgICBbY2xhc3Muc2lkZW5hdkVsZW1lbnRdPVwiaXNTaWRlbmF2RWxlbWVudFwiXG4gICAgW2NsYXNzLm1lbnVJdGVtXT1cImlzTWVudUl0ZW1cIlxuPlxuICAgIDwhLS0gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvcHJlZmVyLW5nc3JjIC0tPlxuICAgIDxpbWcgd2lkdGg9XCJhdXRvXCIgW2FsdF09XCJlbGVtZW50VmFsdWUuYWx0XCIgW2hlaWdodF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3N0eWxlLmhlaWdodC5weF09XCJlbGVtZW50VmFsdWUuaGVpZ2h0XCIgW3NyY109XCJlbGVtZW50VmFsdWUudXJsXCI+XG48L2E+Il19
@@ -13,13 +13,13 @@ export class NavImageWithInternalLinkComponent extends NgxMatNavigationBaseNavEl
13
13
  return this.elementValue.link.route.path;
14
14
  }
15
15
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithInternalLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
16
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithInternalLinkComponent, isStandalone: true, selector: "nav-image-with-internal-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
16
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithInternalLinkComponent, isStandalone: true, selector: "nav-image-with-internal-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
17
17
  }
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithInternalLinkComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'nav-image-with-internal-link', standalone: true, imports: [
21
21
  CommonModule,
22
22
  RouterModule
23
- ], template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
23
+ ], template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
24
24
  }] });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtbmF2aWdhdGlvbi9zcmMvY29tcG9uZW50cy9uYXYtZWxlbWVudC9pbWFnZS9uYXYtaW1hZ2Utd2l0aC1pbnRlcm5hbC1saW5rL25hdi1pbWFnZS13aXRoLWludGVybmFsLWxpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2LWVsZW1lbnQvaW1hZ2UvbmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay9uYXYtaW1hZ2Utd2l0aC1pbnRlcm5hbC1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQWEzRixNQUFNLE9BQU8saUNBQWtDLFNBQVEsdUNBQWlGO0lBQ3BJLElBQUksS0FBSztRQUNMLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO3dHQU5RLGlDQUFpQzs0RkFBakMsaUNBQWlDLCtHQ25COUMsOGdCQVNJLDhZRE1JLFlBQVksOEJBQ1osWUFBWTs7NEZBR1AsaUNBQWlDO2tCQVg3QyxTQUFTOytCQUVJLDhCQUE4QixjQUc1QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTmF2RWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25hdi1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbmF2LWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXYtaW1hZ2Utd2l0aC1pbnRlcm5hbC1saW5rJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay5jb21wb25lbnQuc2NzcycsICcuLi9iYXNlLW5hdi1pbWFnZS5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZJbWFnZVdpdGhJbnRlcm5hbExpbmtDb21wb25lbnQgZXh0ZW5kcyBOZ3hNYXROYXZpZ2F0aW9uQmFzZU5hdkVsZW1lbnRDb21wb25lbnQ8TmF2RWxlbWVudFR5cGVzLklNQUdFX1dJVEhfSU5URVJOQUxfTElOSz4ge1xuICAgIGdldCByb3V0ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZWxlbWVudFZhbHVlLmxpbmsucm91dGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50VmFsdWUubGluay5yb3V0ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50VmFsdWUubGluay5yb3V0ZS5wYXRoO1xuICAgIH1cbn0iLCI8YSBjbGFzcz1cImltYWdlLWxpbmtcIiBkaXNhYmxlUmlwcGxlXG4gICAgW3JvdXRlckxpbmtdPVwicm91dGVcIlxuICAgIFt0YXJnZXRdPVwiZWxlbWVudFZhbHVlLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICBbcmVsXT1cImVsZW1lbnRWYWx1ZS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cImlzU2lkZW5hdkVsZW1lbnRcIlxuICAgIFtjbGFzcy5tZW51SXRlbV09XCJpc01lbnVJdGVtXCJcbj5cbiAgICA8IS0tIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBhbmd1bGFyL3ByZWZlci1uZ3NyYyAtLT5cbiAgICA8aW1nIHdpZHRoPVwiYXV0b1wiIFthbHRdPVwiZWxlbWVudFZhbHVlLmFsdFwiIFtoZWlnaHRdPVwiZWxlbWVudFZhbHVlLmhlaWdodFwiIFtzdHlsZS5oZWlnaHRdPVwiZWxlbWVudFZhbHVlLmhlaWdodFwiIFtzcmNdPVwiZWxlbWVudFZhbHVlLnVybFwiPlxuPC9hPiJdfQ==
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbWF0ZXJpYWwtbmF2aWdhdGlvbi9zcmMvY29tcG9uZW50cy9uYXYtZWxlbWVudC9pbWFnZS9uYXYtaW1hZ2Utd2l0aC1pbnRlcm5hbC1saW5rL25hdi1pbWFnZS13aXRoLWludGVybmFsLWxpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvbmF2LWVsZW1lbnQvaW1hZ2UvbmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay9uYXYtaW1hZ2Utd2l0aC1pbnRlcm5hbC1saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUF3QztBQUN4QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHL0MsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7OztBQWEzRixNQUFNLE9BQU8saUNBQWtDLFNBQVEsdUNBQWlGO0lBQ3BJLElBQUksS0FBSztRQUNMLElBQUksT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEMsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUM3QyxDQUFDO3dHQU5RLGlDQUFpQzs0RkFBakMsaUNBQWlDLCtHQ25COUMsaWhCQVNJLDhZRE1JLFlBQVksOEJBQ1osWUFBWTs7NEZBR1AsaUNBQWlDO2tCQVg3QyxTQUFTOytCQUVJLDhCQUE4QixjQUc1QixJQUFJLFdBQ1A7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3FCQUNmIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUganNkb2MvcmVxdWlyZS1qc2RvYyAqL1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTmF2RWxlbWVudFR5cGVzIH0gZnJvbSAnLi4vLi4vLi4vLi4vbW9kZWxzL25hdi1lbGVtZW50Lm1vZGVsJztcbmltcG9ydCB7IE5neE1hdE5hdmlnYXRpb25CYXNlTmF2RWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2Jhc2UtbmF2LWVsZW1lbnQuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGFuZ3VsYXIvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICduYXYtaW1hZ2Utd2l0aC1pbnRlcm5hbC1saW5rJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmF2LWltYWdlLXdpdGgtaW50ZXJuYWwtbGluay5jb21wb25lbnQuc2NzcycsICcuLi9iYXNlLW5hdi1pbWFnZS5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUm91dGVyTW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOYXZJbWFnZVdpdGhJbnRlcm5hbExpbmtDb21wb25lbnQgZXh0ZW5kcyBOZ3hNYXROYXZpZ2F0aW9uQmFzZU5hdkVsZW1lbnRDb21wb25lbnQ8TmF2RWxlbWVudFR5cGVzLklNQUdFX1dJVEhfSU5URVJOQUxfTElOSz4ge1xuICAgIGdldCByb3V0ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZWxlbWVudFZhbHVlLmxpbmsucm91dGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50VmFsdWUubGluay5yb3V0ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50VmFsdWUubGluay5yb3V0ZS5wYXRoO1xuICAgIH1cbn0iLCI8YSBjbGFzcz1cImltYWdlLWxpbmtcIiBkaXNhYmxlUmlwcGxlXG4gICAgW3JvdXRlckxpbmtdPVwicm91dGVcIlxuICAgIFt0YXJnZXRdPVwiZWxlbWVudFZhbHVlLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcbiAgICBbcmVsXT1cImVsZW1lbnRWYWx1ZS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXG4gICAgW2NsYXNzLnNpZGVuYXZFbGVtZW50XT1cImlzU2lkZW5hdkVsZW1lbnRcIlxuICAgIFtjbGFzcy5tZW51SXRlbV09XCJpc01lbnVJdGVtXCJcbj5cbiAgICA8IS0tIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBhbmd1bGFyL3ByZWZlci1uZ3NyYyAtLT5cbiAgICA8aW1nIHdpZHRoPVwiYXV0b1wiIFthbHRdPVwiZWxlbWVudFZhbHVlLmFsdFwiIFtoZWlnaHRdPVwiZWxlbWVudFZhbHVlLmhlaWdodFwiIFtzdHlsZS5oZWlnaHQucHhdPVwiZWxlbWVudFZhbHVlLmhlaWdodFwiIFtzcmNdPVwiZWxlbWVudFZhbHVlLnVybFwiPlxuPC9hPiJdfQ==
@@ -125,21 +125,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
125
125
  /* eslint-disable jsdoc/require-jsdoc */
126
126
  class NavImageComponent extends NgxMatNavigationBaseNavElementComponent {
127
127
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
128
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageComponent, isStandalone: true, selector: "nav-image", usesInheritance: true, ngImport: i0, template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
128
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageComponent, isStandalone: true, selector: "nav-image", usesInheritance: true, ngImport: i0, template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
129
129
  }
130
130
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageComponent, decorators: [{
131
131
  type: Component,
132
- args: [{ selector: 'nav-image', standalone: true, imports: [CommonModule], template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
132
+ args: [{ selector: 'nav-image', standalone: true, imports: [CommonModule], template: "<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
133
133
  }] });
134
134
 
135
135
  /* eslint-disable jsdoc/require-jsdoc */
136
136
  class NavImageWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent {
137
137
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithExternalLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
138
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithExternalLinkComponent, isStandalone: true, selector: "nav-image-with-external-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithExternalLinkComponent, isStandalone: true, selector: "nav-image-with-external-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
139
139
  }
140
140
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithExternalLinkComponent, decorators: [{
141
141
  type: Component,
142
- args: [{ selector: 'nav-image-with-external-link', standalone: true, imports: [CommonModule], template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
142
+ args: [{ selector: 'nav-image-with-external-link', standalone: true, imports: [CommonModule], template: "<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
143
143
  }] });
144
144
 
145
145
  /* eslint-disable jsdoc/require-jsdoc */
@@ -151,14 +151,14 @@ class NavImageWithInternalLinkComponent extends NgxMatNavigationBaseNavElementCo
151
151
  return this.elementValue.link.route.path;
152
152
  }
153
153
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithInternalLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
154
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithInternalLinkComponent, isStandalone: true, selector: "nav-image-with-internal-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
154
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: NavImageWithInternalLinkComponent, isStandalone: true, selector: "nav-image-with-internal-link", usesInheritance: true, ngImport: i0, template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: ["", ".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
155
155
  }
156
156
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: NavImageWithInternalLinkComponent, decorators: [{
157
157
  type: Component,
158
158
  args: [{ selector: 'nav-image-with-internal-link', standalone: true, imports: [
159
159
  CommonModule,
160
160
  RouterModule
161
- ], template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
161
+ ], template: "<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>", styles: [".image-link{display:inline-flex}.image-link:hover{background:transparent}.sidenavElement{display:inline-block;width:100%;text-align:left}.sidenavElement img{margin-left:8px;margin-right:8px}.menuItem{display:flex;align-items:center;justify-content:flex-start;width:100%;min-height:48px}.menuItem img{margin-left:12px;margin-right:12px}\n"] }]
162
162
  }] });
163
163
 
164
164
  /* eslint-disable jsdoc/require-jsdoc */
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-material-navigation.mjs","sources":["../../../projects/ngx-material-navigation/src/components/nav-element/base-nav-element.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button/nav-button.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button/nav-button.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button-flat/nav-button-flat.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button-flat/nav-button-flat.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/custom/nav-custom/nav-custom.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/custom/nav-custom/nav-custom.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image/nav-image.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image/nav-image.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-external-link/nav-image-with-external-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-external-link/nav-image-with-external-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-internal-link/nav-image-with-internal-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-internal-link/nav-image-with-internal-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-external-link/nav-external-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-external-link/nav-external-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-internal-link/nav-internal-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-internal-link/nav-internal-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/text/nav-text/nav-text.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/text/nav-text/nav-text.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title/nav-title.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title/nav-title.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-external-link/nav-title-with-external-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-external-link/nav-title-with-external-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-internal-link/nav-title-with-internal-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-internal-link/nav-title-with-internal-link.component.html","../../../projects/ngx-material-navigation/src/models/nav-element.model.ts","../../../projects/ngx-material-navigation/src/utilities/nav.utilities.ts","../../../projects/ngx-material-navigation/src/components/nav-element/nav-element.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/nav-element.component.html","../../../projects/ngx-material-navigation/src/components/footer/footer.component.ts","../../../projects/ngx-material-navigation/src/components/footer/footer.component.html","../../../projects/ngx-material-navigation/src/services/nav.service.ts","../../../projects/ngx-material-navigation/src/components/navbar/navbar.component.ts","../../../projects/ngx-material-navigation/src/components/navbar/navbar.component.html","../../../projects/ngx-material-navigation/src/components/not-found/not-found.component.ts","../../../projects/ngx-material-navigation/src/components/not-found/not-found.component.html","../../../projects/ngx-material-navigation/src/models/nav-link.model.ts","../../../projects/ngx-material-navigation/src/public-api.ts","../../../projects/ngx-material-navigation/src/ngx-material-navigation.ts"],"sourcesContent":["/* eslint-disable stylistic/indent */\nimport { Component, Input } from '@angular/core';\n\nimport { NavButton } from '../../models/nav-button.model';\nimport { NavCustom } from '../../models/nav-custom.model';\nimport { NavElement, NavElementTypes } from '../../models/nav-element.model';\nimport { NavImage, NavImageWithExternalLink, NavImageWithInternalLink } from '../../models/nav-image.model';\nimport { NavExternalLink, NavInternalLink } from '../../models/nav-link.model';\nimport { NavMenu } from '../../models/nav-menu.model';\nimport { NavText } from '../../models/nav-text.model';\nimport { NavTitle, NavTitleWithExternalLink, NavTitleWithInternalLink } from '../../models/nav-title.model';\n\n/**\n * The abstract base class of any ngx-mat-navigation nav element.\n *\n * It already provides the elementValue: Just the typed version of the element.\n */\n// eslint-disable-next-line angular/prefer-standalone\n@Component({\n selector: 'ngx-mat-navigation-base-nav-element',\n template: ''\n})\nexport abstract class NgxMatNavigationBaseNavElementComponent<Type extends NavElementTypes> {\n /**\n * The input nav element to display.\n */\n @Input()\n element!: NavElement;\n\n /**\n * Whether or not the element is inside a sidenav.\n */\n @Input()\n isSidenavElement!: boolean;\n\n /**\n * Whether or not the element is inside a menu.\n */\n @Input()\n isMenuItem!: boolean;\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * The nav element correctly typed.\n */\n get elementValue(): NavElementType<Type> {\n return this.element as NavElementType<Type>;\n }\n}\n\n/**\n * Gives the metadata-config Type based on the DecoratorTypes enum.\n */\nexport type NavElementType<T> =\n T extends NavElementTypes.TITLE ? NavTitle\n : T extends NavElementTypes.TITLE_WITH_INTERNAL_LINK ? NavTitleWithInternalLink\n : T extends NavElementTypes.TITLE_WITH_EXTERNAL_LINK ? NavTitleWithExternalLink\n : T extends NavElementTypes.IMAGE ? NavImage\n : T extends NavElementTypes.IMAGE_WITH_INTERNAL_LINK ? NavImageWithInternalLink\n : T extends NavElementTypes.IMAGE_WITH_EXTERNAL_LINK ? NavImageWithExternalLink\n : T extends NavElementTypes.INTERNAL_LINK ? NavInternalLink\n : T extends NavElementTypes.EXTERNAL_LINK ? NavExternalLink\n : T extends NavElementTypes.BUTTON ? NavButton\n : T extends NavElementTypes.BUTTON_FLAT ? NavButton\n : T extends NavElementTypes.MENU ? NavMenu\n // eslint-disable-next-line typescript/no-explicit-any\n : T extends NavElementTypes.CUSTOM ? NavCustom<any>\n : T extends NavElementTypes.TEXT ? NavText\n : never;","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component, EnvironmentInjector, runInInjectionContext } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-button',\n templateUrl: './nav-button.component.html',\n styleUrls: ['./nav-button.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n FaIconComponent\n ]\n})\nexport class NavButtonComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.BUTTON> {\n\n constructor(private readonly injector: EnvironmentInjector) {\n super();\n }\n\n /**\n * Runs the action of the element.\n * This wrapper is needed to enable the user to use injections in his action functions.\n */\n runAction(): void {\n runInInjectionContext(this.injector, () => this.elementValue.action());\n }\n}","<div [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n <button mat-raised-button type=\"button\" (click)=\"runAction()\">\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.name}}\n </button>\n</div>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavButtonComponent } from '../nav-button/nav-button.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-button-flat',\n templateUrl: './nav-button-flat.component.html',\n styleUrls: ['./nav-button-flat.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n FaIconComponent\n ]\n})\nexport class NavButtonFlatComponent extends NavButtonComponent {}","<button mat-button\n type=\"button\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n (click)=\"runAction()\"\n>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.name}}\n</button>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component, ComponentRef, OnInit, Type, ViewContainerRef } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-custom',\n templateUrl: './nav-custom.component.html',\n styleUrls: ['./nav-custom.component.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavCustomComponent<\n ComponentType extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.CUSTOM>\n> extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.CUSTOM> implements OnInit {\n\n component!: ComponentRef<ComponentType>;\n\n constructor(private readonly viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this.component = this.viewContainerRef.createComponent<ComponentType>(this.elementValue.component as Type<ComponentType>);\n this.component.instance.element = this.element;\n this.component.instance.isMenuItem = this.isMenuItem;\n this.component.instance.isSidenavElement = this.isSidenavElement;\n }\n}","","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-image',\n templateUrl: './nav-image.component.html',\n styleUrls: ['./nav-image.component.scss', '../base-nav-image.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavImageComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.IMAGE> { }","<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-image-with-external-link',\n templateUrl: './nav-image-with-external-link.component.html',\n styleUrls: ['./nav-image-with-external-link.component.scss', '../base-nav-image.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavImageWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.IMAGE_WITH_EXTERNAL_LINK> { }","<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-image-with-internal-link',\n templateUrl: './nav-image-with-internal-link.component.html',\n styleUrls: ['./nav-image-with-internal-link.component.scss', '../base-nav-image.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterModule\n ]\n})\nexport class NavImageWithInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.IMAGE_WITH_INTERNAL_LINK> {\n get route(): string {\n if (typeof this.elementValue.link.route === 'string') {\n return this.elementValue.link.route;\n }\n return this.elementValue.link.route.path;\n }\n}","<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-external-link',\n templateUrl: './nav-external-link.component.html',\n styleUrls: ['./nav-external-link.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n FaIconComponent\n ]\n})\nexport class NavExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.EXTERNAL_LINK> { }","<a mat-button\n [href]=\"elementValue.url\"\n [target]=\"elementValue.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.name}}\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterModule } from '@angular/router';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-internal-link',\n templateUrl: './nav-internal-link.component.html',\n styleUrls: ['./nav-internal-link.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n RouterModule,\n FaIconComponent\n ]\n})\nexport class NavInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.INTERNAL_LINK> {\n get route(): string {\n if (typeof this.elementValue.route === 'string') {\n return this.elementValue.route;\n }\n return this.elementValue.route.path;\n }\n}","<a mat-button\n [routerLink]=\"route\"\n [fragment]=\"elementValue.fragment\"\n [target]=\"elementValue.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon> \n }\n {{elementValue.name}}\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-text',\n templateUrl: './nav-text.component.html',\n styleUrls: ['./nav-text.component.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavTextComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TEXT> {}","@for (paragraph of elementValue.paragraphs; track $index) {\n <div>{{paragraph}}</div>\n}","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-title',\n templateUrl: './nav-title.component.html',\n styleUrls: ['./nav-title.component.scss', '../base-nav-title.scss'],\n standalone: true,\n imports: [CommonModule, FaIconComponent]\n})\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport class NavTitleComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE> { }","<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\" [attr.aria-label]=\"elementValue.ariaLabel\">\n <h1>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.title}}\n </h1>\n</div>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-title-with-external-link',\n templateUrl: './nav-title-with-external-link.component.html',\n styleUrls: ['./nav-title-with-external-link.component.scss', '../base-nav-title.scss'],\n standalone: true,\n imports: [CommonModule, FaIconComponent]\n})\nexport class NavTitleWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE_WITH_EXTERNAL_LINK> { }","<a class=\"title-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n <h1>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.title}}\n </h1>\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-title-with-internal-link',\n templateUrl: './nav-title-with-internal-link.component.html',\n styleUrls: ['./nav-title-with-internal-link.component.scss', '../base-nav-title.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n FaIconComponent\n ]\n})\nexport class NavTitleWithInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE_WITH_INTERNAL_LINK> {\n get route(): string {\n if (typeof this.elementValue.link.route === 'string') {\n return this.elementValue.link.route;\n }\n return this.elementValue.link.route.path;\n }\n}","<a id=\"title-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n <h1>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.title}}\n </h1>\n</a>","import { Route } from '@angular/router';\n\nimport { NavButton } from './nav-button.model';\nimport { NavCustom } from './nav-custom.model';\nimport { NavImage, NavImageWithExternalLink, NavImageWithInternalLink } from './nav-image.model';\nimport { NavExternalLink, NavInternalLink } from './nav-link.model';\nimport { NavMenu } from './nav-menu.model';\nimport { NavRoute } from './nav-route.model';\nimport { NavText } from './nav-text.model';\nimport { NavTitle, NavTitleWithExternalLink, NavTitleWithInternalLink } from './nav-title.model';\n\n/**\n * The three currently supported breakpoints.\n * These are the same as in bootstrap.\n */\nexport type ScreenWidthName = 'lg' | 'md' | 'sm';\n\n/**\n * Type for the position of a nav element inside the navbar or footer.\n */\nexport type NavElementPosition = 'left' | 'center' | 'right';\n\n/**\n * The type of the nav element. Eg. Title or button.\n */\nexport enum NavElementTypes {\n TITLE = 'title',\n TITLE_WITH_INTERNAL_LINK = 'titleWithInternalLink',\n TITLE_WITH_EXTERNAL_LINK = 'titleWithExternalLink',\n IMAGE = 'image',\n IMAGE_WITH_INTERNAL_LINK = 'imageWithInternalLink',\n IMAGE_WITH_EXTERNAL_LINK = 'imageWithExternalLink',\n INTERNAL_LINK = 'internalLink',\n BUTTON = 'button',\n BUTTON_FLAT = 'buttonFlat',\n EXTERNAL_LINK = 'externalLink',\n MENU = 'menu',\n CUSTOM = 'custom',\n TEXT = 'text'\n}\n\n/**\n * The abstract base class of any nav element.\n */\nexport abstract class BaseNavElement {\n /**\n * The type of the element.\n */\n type!: NavElementTypes;\n /**\n * The position of the element.\n */\n position?: 'left' | 'center' | 'right';\n /**\n * At which breakpoint the element should be moved inside the sidenav.\n */\n collapse?: ScreenWidthName | 'never' | 'always';\n /**\n * A condition that must be met for the element to be displayed.\n */\n condition?: () => boolean;\n /**\n * The aria label of the element.\n */\n ariaLabel?: string;\n}\n\n/**\n * One of the many NavElements.\n */\nexport type NavElement<RouteType extends Route = NavRoute> =\n NavTitle | NavTitleWithInternalLink<RouteType> | NavTitleWithExternalLink\n | NavImage | NavImageWithExternalLink | NavImageWithInternalLink<RouteType>\n // eslint-disable-next-line typescript/no-explicit-any\n | NavButton | NavInternalLink<RouteType> | NavExternalLink | NavMenu | NavCustom<any> | NavText;","import { Route } from '@angular/router';\n\nimport { FooterRow, NavFooterElement } from '../models/footer.model';\nimport { NavElement, NavElementTypes } from '../models/nav-element.model';\nimport { NavImageWithInternalLink } from '../models/nav-image.model';\nimport { NavInternalLink } from '../models/nav-link.model';\nimport { NavMenu, NavMenuElement } from '../models/nav-menu.model';\nimport { NavRoute } from '../models/nav-route.model';\nimport { NavTitleWithInternalLink } from '../models/nav-title.model';\nimport { NavbarRow } from '../models/navbar.model';\n\n/**\n * Contains HelperMethods around handling Navigation.\n */\nexport abstract class NavUtilities {\n // eslint-disable-next-line jsdoc/require-jsdoc\n static asMenu(element: NavElement | NavMenuElement | NavFooterElement): NavMenu {\n return element as NavMenu;\n }\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n static isMenu(element: NavElement | NavFooterElement): element is NavMenu {\n return Object.keys(element).includes('elements');\n }\n\n private static isAngularRoute(route: Route | string): route is Route {\n return typeof route !== 'string';\n }\n\n /**\n * Gets the angular routes.\n * Extracts them from the navbar and footer rows and adds any additional routes provided in additionalRoutes.\n * @param navbarRows - The NavbarRows used as a configuration for the navbar element.\n * @param footerRows - The FooterRows used as a configuration for the footer element.\n * @param additionalRoutes - Any additional routes that aren't included in the navbar or footer rows.\n * @returns All found angular routes.\n */\n static getAngularRoutes<RouteType extends Route = NavRoute>(\n navbarRows: NavbarRow[] = [],\n footerRows: FooterRow[] = [],\n additionalRoutes: RouteType[] = []\n ): RouteType[] {\n let allRoutes: RouteType[] = [];\n allRoutes = allRoutes.concat(NavUtilities.getRoutesFromNavbar<RouteType>(navbarRows));\n allRoutes = allRoutes.concat(NavUtilities.getRoutesFromFooter<RouteType>(footerRows));\n allRoutes = allRoutes.concat(additionalRoutes);\n // Filters to only contain unique paths\n const uniquePaths: string[] = [];\n const res: RouteType[] = [];\n for (const route of allRoutes) {\n // eslint-disable-next-line sonar/no-empty-collection\n if (!uniquePaths.find(r => r === route.path)) {\n res.push(route);\n }\n }\n return res;\n }\n\n private static getRoutesFromNavbar<RouteType extends Route>(navbarRows: NavbarRow[]): RouteType[] {\n let res: RouteType[] = [];\n for (const row of navbarRows) {\n res = res.concat(NavUtilities.getRoutesFromElements<RouteType>(row.elements));\n }\n return res;\n }\n\n private static getRoutesFromFooter<RouteType extends Route>(footerRows: FooterRow[]): RouteType[] {\n let res: RouteType[] = [];\n for (const row of footerRows) {\n res = res.concat(NavUtilities.getRoutesFromElements<RouteType>(row.elements));\n }\n return res;\n }\n\n private static getRoutesFromElements<RouteType extends Route>(elements: NavElement[] | NavFooterElement[]): RouteType[] {\n let res: RouteType[] = [];\n\n const linksRoutes: (string | NavRoute)[] = NavUtilities.findInternalLinksFromElements(elements).map(l => l.route);\n res = res.concat(linksRoutes.filter(r => NavUtilities.isAngularRoute(r)) as RouteType[]);\n\n const titleLinksRoutes: (string | NavRoute)[] = NavUtilities.findTitleLinksFromElements(elements).map(l => l.link.route);\n res = res.concat(titleLinksRoutes.filter(r => NavUtilities.isAngularRoute(r)) as RouteType[]);\n\n const imageLinksRoutes: (string | NavRoute)[] = NavUtilities.findImageLinksFromElements(elements).map(l => l.link.route);\n res = res.concat(imageLinksRoutes.filter(r => NavUtilities.isAngularRoute(r)) as RouteType[]);\n\n const menus: NavMenu[] = elements.filter(e => e.type === NavElementTypes.MENU) as NavMenu[];\n for (const menu of menus) {\n res = res.concat(NavUtilities.getRoutesFromElements<RouteType>(menu.elements));\n }\n return res;\n }\n\n private static findImageLinksFromElements(elements: NavElement[] | NavMenuElement[]): NavImageWithInternalLink[] {\n return elements.filter(e => e.type === NavElementTypes.IMAGE_WITH_INTERNAL_LINK) as NavImageWithInternalLink[];\n }\n\n private static findTitleLinksFromElements(elements: NavElement[] | NavMenuElement[]): NavTitleWithInternalLink[] {\n return elements.filter(e => e.type === NavElementTypes.TITLE_WITH_INTERNAL_LINK) as NavTitleWithInternalLink[];\n }\n\n private static findInternalLinksFromElements(elements: NavElement[]): NavInternalLink[] {\n return elements.filter(e => e.type === NavElementTypes.INTERNAL_LINK);\n }\n}","\nimport { CommonModule } from '@angular/common';\nimport { AfterContentChecked, Component, HostListener, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatButton, MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavButtonComponent } from './button/nav-button/nav-button.component';\nimport { NavButtonFlatComponent } from './button/nav-button-flat/nav-button-flat.component';\nimport { NavCustomComponent } from './custom/nav-custom/nav-custom.component';\nimport { NavImageComponent } from './image/nav-image/nav-image.component';\nimport { NavImageWithExternalLinkComponent } from './image/nav-image-with-external-link/nav-image-with-external-link.component';\nimport { NavImageWithInternalLinkComponent } from './image/nav-image-with-internal-link/nav-image-with-internal-link.component';\nimport { NavExternalLinkComponent } from './link/nav-external-link/nav-external-link.component';\nimport { NavInternalLinkComponent } from './link/nav-internal-link/nav-internal-link.component';\nimport { NavTextComponent } from './text/nav-text/nav-text.component';\nimport { NavTitleComponent } from './title/nav-title/nav-title.component';\nimport { NavTitleWithExternalLinkComponent } from './title/nav-title-with-external-link/nav-title-with-external-link.component';\nimport { NavTitleWithInternalLinkComponent } from './title/nav-title-with-internal-link/nav-title-with-internal-link.component';\nimport { NavElement, NavElementTypes } from '../../models/nav-element.model';\nimport { NavMenu } from '../../models/nav-menu.model';\nimport { NavUtilities } from '../../utilities/nav.utilities';\n\n/**\n * Displays a single Navigation Element.\n */\n@Component({\n standalone: true,\n selector: 'ngx-mat-navigation-element',\n templateUrl: './nav-element.component.html',\n styleUrls: ['./nav-element.component.scss'],\n imports: [\n CommonModule,\n MatMenuModule,\n MatButtonModule,\n MatSidenavModule,\n NavTitleComponent,\n NavTitleWithInternalLinkComponent,\n NavTitleWithExternalLinkComponent,\n NavImageComponent,\n NavImageWithInternalLinkComponent,\n NavImageWithExternalLinkComponent,\n NavButtonComponent,\n NavButtonFlatComponent,\n NavInternalLinkComponent,\n NavExternalLinkComponent,\n NavCustomComponent,\n NavTextComponent,\n FaIconComponent\n ]\n})\nexport class NavElementComponent implements AfterContentChecked, OnInit {\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n NavElementTypes: typeof NavElementTypes = NavElementTypes;\n\n /**\n * The element to display.\n */\n @Input()\n element!: NavElement;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n elementMenu!: NavMenu;\n\n /**\n * A reference to the sidenav. Is needed for the menu to close the sidenav.\n */\n @Input()\n sidenav?: MatSidenav;\n\n /**\n * Whether or not this element should be displayed inside the sidenav.\n * Used to apply different styling.\n */\n @Input()\n isSidenavElement?: boolean;\n // eslint-disable-next-line jsdoc/require-jsdoc\n protected internalIsSidenavElement!: boolean;\n\n /**\n * Whether or not this element should be displayed inside a menu.\n * Used to apply different styling.\n */\n @Input()\n isMenuItem?: boolean;\n // eslint-disable-next-line jsdoc/require-jsdoc\n protected internalIsMenuItem!: boolean;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n @ViewChild('menuButton')\n menuButton?: MatButton;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n menuWidth!: number;\n\n ngOnInit(): void {\n this.internalIsSidenavElement = this.isSidenavElement ?? false;\n this.internalIsMenuItem = this.isMenuItem ?? false;\n this.elementMenu = NavUtilities.asMenu(this.element);\n }\n\n ngAfterContentChecked(): void {\n this.onResize();\n }\n\n /**\n * Updates the width of the menu to the value of its button.\n */\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n if (this.menuButton) {\n this.menuWidth = this.getMenuWidth();\n }\n }\n\n private getMenuWidth(): number {\n return (this.menuButton?._elementRef.nativeElement as HTMLElement).offsetWidth;\n }\n\n /**\n * Defines if the sidenav should be closed when the given element is clicked.\n * @param element - The element that has been clicked.\n */\n async clickSidenavElement(element: NavElement): Promise<void> {\n switch (element.type) {\n case NavElementTypes.TITLE:\n case NavElementTypes.IMAGE:\n case NavElementTypes.MENU:\n case NavElementTypes.CUSTOM: {\n return;\n }\n default: {\n await this.sidenav?.close();\n }\n }\n }\n}","@switch (element.type) {\n <!-------------------------------------------->\n <!------------------Titles-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.TITLE) {\n <nav-title [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-title>\n }\n @case (NavElementTypes.TITLE_WITH_INTERNAL_LINK) {\n <nav-title-with-internal-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-title-with-internal-link>\n }\n @case (NavElementTypes.TITLE_WITH_EXTERNAL_LINK) {\n <nav-title-with-external-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-title-with-external-link>\n }\n <!-------------------------------------------->\n <!-------------------Images------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.IMAGE) {\n <nav-image [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-image>\n }\n @case (NavElementTypes.IMAGE_WITH_INTERNAL_LINK) {\n <nav-image-with-internal-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-image-with-internal-link>\n }\n @case (NavElementTypes.IMAGE_WITH_EXTERNAL_LINK) {\n <nav-image-with-external-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-image-with-external-link>\n }\n <!-------------------------------------------->\n <!-------------------Buttons------------------>\n <!-------------------------------------------->\n @case (NavElementTypes.BUTTON) {\n <nav-button [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-button>\n }\n @case (NavElementTypes.BUTTON_FLAT) {\n <nav-button-flat [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-button-flat>\n }\n <!-------------------------------------------->\n <!--------------------Link-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.INTERNAL_LINK) {\n <nav-internal-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-internal-link>\n }\n @case (NavElementTypes.EXTERNAL_LINK) {\n <nav-external-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-external-link>\n }\n <!-------------------------------------------->\n <!-------------------CUSTOM------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.CUSTOM) {\n <div [class.menuItem]=\"internalIsMenuItem\" [class.customMenuItem]=\"internalIsMenuItem\">\n <nav-custom\n [element]=\"element\" \n [isSidenavElement]=\"internalIsSidenavElement\"\n [isMenuItem]=\"internalIsMenuItem\"\n >\n </nav-custom>\n </div>\n }\n <!-------------------------------------------->\n <!--------------------TEXT-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.TEXT) {\n <nav-text [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-text>\n }\n <!-------------------------------------------->\n <!--------------------Menu-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.MENU) {\n @if (internalIsMenuItem) {\n <button #menuButton\n type=\"button\"\n mat-menu-item\n style=\"padding-left: 12px; padding-right: 12px;\"\n [matMenuTriggerFor]=\"menu\"\n [class.sidenavElement]=\"isSidenavElement\"\n [attr.aria-label]=\"element.ariaLabel\"\n >\n @if (elementMenu.icon) {\n <fa-icon [icon]=\"elementMenu.icon\"></fa-icon>\n }\n {{elementMenu.name}}\n </button>\n }\n @else {\n <button #menuButton\n type=\"button\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n [class.sidenavElement]=\"isSidenavElement\"\n [attr.aria-label]=\"element.ariaLabel\"\n >\n @if (elementMenu.icon) {\n <fa-icon [icon]=\"elementMenu.icon\"></fa-icon>\n }\n {{elementMenu.name}}\n </button>\n }\n }\n}\n\n<mat-menu #menu=\"matMenu\" [overlapTrigger]=\"false\" [style.min-width.px]=\"menuWidth\">\n @for (menuElement of elementMenu.elements; track $index) {\n <div>\n <ngx-mat-navigation-element [isSidenavElement]=\"internalIsSidenavElement\" [sidenav]=\"sidenav\" [isMenuItem]=\"true\" [element]=\"menuElement\" (click)=\"clickSidenavElement(menuElement)\">\n </ngx-mat-navigation-element>\n </div>\n }\n</mat-menu>","import { CommonModule } from '@angular/common';\nimport { Component, EnvironmentInjector, Input, runInInjectionContext } from '@angular/core';\nimport { MatToolbarModule } from '@angular/material/toolbar';\n\nimport { FooterRow, NavFooterElement } from '../../models/footer.model';\nimport { NavElement, NavElementPosition } from '../../models/nav-element.model';\nimport { NavElementComponent } from '../nav-element/nav-element.component';\n\n/**\n * Displays a footer based on the provided input data.\n */\n@Component({\n selector: 'ngx-mat-navigation-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatToolbarModule,\n NavElementComponent\n ]\n})\nexport class NgxMatNavigationFooterComponent {\n\n /**\n * The minimum height of the footer.\n */\n @Input()\n minHeight!: number;\n\n /**\n * The footer rows to build the footer from.\n */\n @Input()\n footerRows!: FooterRow[];\n\n constructor(private readonly injector: EnvironmentInjector) {}\n\n /**\n * Gets the footer elements for the given row at the provided position.\n * @param row - The row to get the elements for.\n * @param position - Where in the footer the elements are positioned.\n * @returns An array of the resolved footer elements.\n */\n getFooterElements(row: FooterRow, position: NavElementPosition): NavFooterElement[] {\n let res: NavFooterElement[] = [];\n res = res.concat(row.elements);\n res = res.filter(e => this.checkCondition(e));\n\n if (position === 'left') {\n return res.filter(e => e.position == undefined || e.position === position);\n }\n return res.filter(e => e.position === position);\n }\n\n private checkCondition(element: NavElement): boolean {\n if (element.condition == undefined) {\n return true;\n }\n // runInInjectionContext(...) is needed to enable the user to use injections in his condition functions.\n return runInInjectionContext(this.injector, () => element.condition ? element.condition() : true);\n }\n}","<!-- eslint-disable angular/no-call-expression -->\n<footer [style.min-height.px]=\"minHeight\">\n @for (row of footerRows; track $index) {\n <div class=\"footer-row\">\n <div class=\"footer-col\" id=\"left\">\n @for (element of getFooterElements(row, 'left'); track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"footer-col\" id=\"center\">\n @for (element of getFooterElements(row, 'center'); track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"footer-col\" id=\"right\">\n @for (element of getFooterElements(row, 'right'); track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n </div>\n }\n</footer>","import { EnvironmentInjector, Injectable } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { NavElementTypes } from '../models/nav-element.model';\nimport { NavInternalLink } from '../models/nav-link.model';\nimport { DefaultNavRouteDataType, NavAnchor } from '../models/nav-route.model';\nimport { NavbarRow } from '../models/navbar.model';\n\n/**\n * The service that contains information and functionality about he navigation data.\n */\n@Injectable({ providedIn: 'root' })\nexport class NgxMatNavigationService {\n\n /**\n * The subject of the anchors of the current page.\n */\n readonly anchorsSubject: BehaviorSubject<NavAnchor[]> = new BehaviorSubject<NavAnchor[]>([]);\n\n private get currentRoute(): string {\n return this.router.url.split('#')[0];\n }\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * The anchor row, dynamically generated from the current route.\n */\n get anchorRow(): NavbarRow {\n const elements: NavInternalLink[] = this.anchorsSubject.value.map(a => {\n return {\n type: NavElementTypes.INTERNAL_LINK,\n route: this.currentRoute,\n collapse: 'never',\n ...a\n };\n });\n return {\n elements: elements\n };\n }\n\n constructor(private readonly injector: EnvironmentInjector, private readonly router: Router) {\n this.router.events.subscribe(e => {\n if (e instanceof NavigationEnd) {\n let route: ActivatedRoute | null = this.router.routerState.root.firstChild;\n while (route?.firstChild) {\n route = route.firstChild;\n }\n const data: DefaultNavRouteDataType | undefined = route?.snapshot.data;\n this.anchorsSubject.next(data?.anchors ?? []);\n }\n });\n }\n\n}","import { CommonModule } from '@angular/common';\nimport { AfterContentChecked, Component, ElementRef, EnvironmentInjector, HostListener, Inject, InjectionToken, Input, runInInjectionContext, ViewChild } from '@angular/core';\nimport { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { faBars } from '@fortawesome/free-solid-svg-icons';\n\nimport { NavElement, NavElementPosition, NavElementTypes } from '../../models/nav-element.model';\nimport { NavbarRow } from '../../models/navbar.model';\nimport { NgxMatNavigationService } from '../../services/nav.service';\nimport { NavElementComponent } from '../nav-element/nav-element.component';\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport const NGX_BURGER_MENU_ARIA_LABEL: InjectionToken<string> = new InjectionToken<string>(\n 'Provider for the burger menu aria label. Default: \"Open Sidenav\"',\n {\n providedIn: 'root',\n factory: () => 'Open Sidenav'\n }\n);\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport const NGX_BURGER_MENU_ICON: InjectionToken<IconDefinition> = new InjectionToken<IconDefinition>(\n 'Provider for the burger menu icon. Default: \"faBars\"',\n {\n providedIn: 'root',\n factory: () => faBars\n }\n);\n\n/**\n * The navbar component.\n * Takes in your configuration and builds a toolbar as well as a sidenav accordingly.\n * Also handles responsiveness.\n */\n@Component({\n selector: 'ngx-mat-navigation-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatToolbarModule,\n NavElementComponent,\n MatSidenavModule\n ]\n})\nexport class NgxMatNavigationNavbarComponent implements AfterContentChecked {\n /**\n * The navbar rows to build the navbar from.\n */\n @Input()\n navbarRows!: NavbarRow[];\n\n /**\n * The minimum height of the navbar.\n */\n @Input()\n minHeight?: number;\n\n /**\n * The minimum height of all other elements that are on the same level as the navbar component.\n */\n @Input()\n minHeightOtherElements?: number;\n\n /**\n * The minimum width of the sidenav.\n */\n @Input()\n minSidenavWidth?: string;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n @ViewChild('sidenav')\n sidenav?: MatSidenav;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n @ViewChild('navbar', { read: ElementRef })\n navbar?: ElementRef<HTMLElement>;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n burgerMenu!: NavElement;\n\n /**\n * The minimum height of the navbar in sanitized.\n */\n sanitizedMinHeight!: SafeStyle;\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * All navbar rows, including the anchor row from the nav service.\n */\n get allNavbarRows(): NavbarRow[] {\n return [\n ...this.navbarRows,\n this.navService.anchorRow\n ];\n }\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * All sidenav elements which conditions are fulfilled.\n */\n get sidenavElements(): NavElement[] {\n const res: NavElement[] = [];\n // anchorRow is excluded from sidenav\n for (const row of this.navbarRows) {\n res.push(...row.elements.filter(e => this.checkCondition(e)));\n }\n return res;\n }\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n public navService: NgxMatNavigationService,\n @Inject(NGX_BURGER_MENU_ICON)\n private readonly burgerMenuIcon: IconDefinition,\n @Inject(NGX_BURGER_MENU_ARIA_LABEL)\n private readonly burgerMenuAriaLabel: string,\n private readonly injector: EnvironmentInjector\n ) {\n this.burgerMenu = {\n type: NavElementTypes.BUTTON_FLAT,\n name: '',\n icon: this.burgerMenuIcon,\n action: () => this.sidenav?.toggle(),\n collapse: 'never',\n ariaLabel: this.burgerMenuAriaLabel\n };\n }\n\n /**\n * Gets thee navbar elements for the row with the given index at the given position.\n * @param row - The index of the row to get the elements for.\n * @param position - Where in the row the elements are positioned.\n * @returns An array of the resolved navbar elements.\n */\n getNavbarElements(row: NavbarRow, position: NavElementPosition): NavElement[] {\n return row.elements.filter(e => {\n return ((e.position === position) || (e.position == undefined && position === 'left'))\n && this.checkCondition(e);\n });\n }\n\n private checkCondition(element: NavElement): boolean {\n if (!element.condition) {\n return true;\n }\n // runInInjectionContext(...) is needed to enable the user to use injections in his condition functions.\n return runInInjectionContext(this.injector, () => element.condition ? element.condition() : true);\n }\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n getElementClass(element: NavElement): string {\n return `collapse-${element.collapse ?? 'sm'}`;\n }\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n getBurgerMenuClass(): string {\n if (this.sidenavElements.find(e => e.collapse === 'always')) {\n return 'burger-always';\n }\n if (this.sidenavElements.find(e => e.collapse === 'lg')) {\n return 'burger-lg';\n }\n if (this.sidenavElements.find(e => e.collapse === 'md')) {\n return 'burger-md';\n }\n if (this.sidenavElements.find(e => e.collapse === 'sm' || e.collapse === undefined)) {\n return 'burger-sm';\n }\n return 'burger-never';\n }\n\n ngAfterContentChecked(): void {\n this.updateHeights();\n }\n\n private updateHeights(): void {\n if (this.minHeight && typeof this.minHeight !== 'number') {\n throw new Error('Incorrect input data');\n }\n if (this.minHeightOtherElements && typeof this.minHeightOtherElements !== 'number') {\n throw new Error('Incorrect input data');\n }\n if (!this.navbar) {\n return;\n }\n if (!this.minHeight || (this.navbar.nativeElement.offsetHeight > this.minHeight)) {\n this.sanitizedMinHeight = this.sanitizer.bypassSecurityTrustStyle(\n `calc(100vh - ${this.navbar.nativeElement.offsetHeight + (this.minHeightOtherElements ?? 0)}px)`\n );\n return;\n }\n this.sanitizedMinHeight = this.sanitizer.bypassSecurityTrustStyle(\n `calc(100vh - ${(this.minHeight ?? 0) + (this.minHeightOtherElements ?? 0)}px)`\n );\n }\n\n /**\n * Updates the current screen width and filters the sidenav elements accordingly.\n * @throws When no height data is provided or the data is invalid.\n */\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.updateHeights();\n if (this.sidenav?.opened === true) {\n void this.sidenav.close();\n }\n }\n\n /**\n * Defines if the sidenav should be closed when the given element is clicked.\n * @param element - The element that has been clicked.\n */\n async clickSidenavElement(element: NavElement): Promise<void> {\n switch (element.type) {\n case NavElementTypes.TITLE:\n case NavElementTypes.IMAGE:\n case NavElementTypes.MENU:\n case NavElementTypes.CUSTOM: {\n return;\n }\n default: {\n await this.sidenav?.close();\n }\n }\n }\n}","<!-- eslint-disable angular/no-call-expression -->\n\n@if (allNavbarRows.length > 1) {\n <mat-toolbar #navbar id=\"toolbar\" class=\"mat-elevation-z8\" [style.min-height.px]=\"minHeight ?? 0\">\n @for (row of navbarRows; track $index) {\n <mat-toolbar-row class=\"toolbar-row\">\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(row, 'left'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(row, 'center'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(row, 'right'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n @if ($index === 0) {\n <ngx-mat-navigation-element [class]=\"getBurgerMenuClass()\" [element]=\"burgerMenu\"></ngx-mat-navigation-element>\n }\n </div>\n </mat-toolbar-row>\n }\n @if (navService.anchorRow.elements.length) {\n <mat-toolbar-row class=\"anchor-row\">\n @for (element of navService.anchorRow.elements; track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </mat-toolbar-row>\n }\n </mat-toolbar>\n}\n@else {\n <mat-toolbar #navbar id=\"toolbar\" class=\"mat-elevation-z8\" [style.min-height.px]=\"minHeight ?? 0\">\n <div class=\"toolbar-row\">\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(navbarRows[0], 'left'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(navbarRows[0], 'center'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(navbarRows[0], 'right'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n <ngx-mat-navigation-element [class]=\"getBurgerMenuClass()\" [element]=\"burgerMenu\"></ngx-mat-navigation-element>\n </div>\n </div>\n </mat-toolbar>\n}\n\n<mat-sidenav-container [style.min-height]=\"sanitizedMinHeight\">\n <mat-sidenav #sidenav position=\"end\" [style.min-width]=\"minSidenavWidth\" [autoFocus]=\"false\">\n @for (element of sidenavElements; track $index) {\n <div class=\"sidenav-row\">\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [sidenav]=\"sidenav\" [isSidenavElement]=\"true\" [element]=\"element\" (click)=\"clickSidenavElement(element)\"></ngx-mat-navigation-element>\n </div>\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\n\nimport { PageNotFoundConfig } from '../../models/page-not-found-config.model';\n\n/**\n * A default 404 Not found page to display when the user tries to access an unknown resource.\n */\n@Component({\n selector: 'ngx-mat-navigation-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n RouterModule\n ]\n})\nexport class NgxMatNavigationNotFoundComponent implements OnInit {\n /**\n * The custom configuration for the 404 Page.\n * You can alternatively define this on the data of the route with the key 'pageNotFoundData'.\n */\n @Input()\n config?: PageNotFoundConfig;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n title!: string;\n // eslint-disable-next-line jsdoc/require-jsdoc\n message!: string;\n // eslint-disable-next-line jsdoc/require-jsdoc\n buttonLabel!: string;\n // eslint-disable-next-line jsdoc/require-jsdoc\n homeRoute!: string;\n\n constructor(private readonly route: ActivatedRoute) {}\n\n ngOnInit(): void {\n const routeData: PageNotFoundConfig | undefined = this.route.snapshot.data['pageNotFoundConfig'] as PageNotFoundConfig | undefined;\n this.title = this.config?.title ?? routeData?.title ?? 'Page not found';\n this.message = this.config?.message\n ?? routeData?.message\n ?? 'The page you are looking for might have been removed, had its name changed or is temporarily unavailable.';\n this.buttonLabel = this.config?.buttonLabel ?? routeData?.buttonLabel ?? 'Homepage';\n this.homeRoute = this.config?.homeRoute ?? routeData?.homeRoute ?? '/';\n }\n}","<div>\n <h1>404</h1>\n <h2>{{title}}</h2>\n <p>\n {{message}}\n </p>\n <a mat-raised-button [routerLink]=\"homeRoute\">{{buttonLabel}}</a>\n</div>","import { Route } from '@angular/router';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\n\nimport { BaseNavElement, NavElementTypes } from './nav-element.model';\nimport { NavRoute } from './nav-route.model';\n\n/**\n * The base abstract definition for internal and external links.\n */\nexport abstract class NavLink extends BaseNavElement {\n /**\n * The name to display for the link.\n */\n name!: string;\n /**\n * An icon to display left of the link.\n */\n icon?: IconDefinition;\n /**\n * Whether or not the link should be opened in a new tab.\n */\n openInNewTab?: boolean;\n}\n\n/**\n * The definition for an internal route.\n */\nexport interface NavInternalLink<RouteType extends Route = NavRoute> extends NavLink {\n // eslint-disable-next-line jsdoc/require-jsdoc\n type: NavElementTypes.INTERNAL_LINK,\n /**\n * The route of the Link. Can be either an angular route or a simple string.\n */\n route: RouteType | string,\n /**\n * The fragment of the route used for anchor scrolling.\n */\n fragment?: string\n}\n\n/**\n * The definition for an external link.\n */\nexport interface NavExternalLink extends NavLink {\n // eslint-disable-next-line jsdoc/require-jsdoc\n type: NavElementTypes.EXTERNAL_LINK,\n /**\n * The url of the link.\n */\n url: string\n}","/*\n * Public API Surface of ngx-material-navigation\n */\nexport * from './components/footer/footer.component';\nexport * from './components/navbar/navbar.component';\nexport * from './components/not-found/not-found.component';\nexport * from './components/nav-element/base-nav-element.component';\nexport * from './models/footer.model';\nexport * from './models/nav-button.model';\nexport * from './models/nav-custom.model';\nexport * from './models/nav-image.model';\nexport * from './models/nav-link.model';\nexport * from './models/nav-menu.model';\nexport * from './models/nav-route.model';\nexport * from './models/nav-title.model';\nexport * from './models/nav-element.model';\nexport * from './models/navbar.model';\nexport * from './models/page-not-found-config.model';\nexport * from './utilities/nav.utilities';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.NgxMatNavigationService"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAYA;;;;AAIG;AACH;MAKsB,uCAAuC,CAAA;AACzD;;AAEG;AAEH,IAAA,OAAO,CAAc;AAErB;;AAEG;AAEH,IAAA,gBAAgB,CAAW;AAE3B;;AAEG;AAEH,IAAA,UAAU,CAAW;;AAGrB;;AAEG;AACH,IAAA,IAAI,YAAY,GAAA;QACZ,OAAO,IAAI,CAAC,OAA+B,CAAC;KAC/C;wGAzBiB,uCAAuC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,uCAAuC,2KAF/C,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA;;4FAEM,uCAAuC,EAAA,UAAA,EAAA,CAAA;kBAJ5D,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qCAAqC;AAC/C,oBAAA,QAAQ,EAAE,EAAE;AACf,iBAAA,CAAA;8BAMG,OAAO,EAAA,CAAA;sBADN,KAAK;gBAON,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAON,UAAU,EAAA,CAAA;sBADT,KAAK;;;ACtCV;AAqBM,MAAO,kBAAmB,SAAQ,uCAA+D,CAAA;AAEtE,IAAA,QAAA,CAAA;AAA7B,IAAA,WAAA,CAA6B,QAA6B,EAAA;AACtD,QAAA,KAAK,EAAE,CAAC;QADiB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;KAEzD;AAED;;;AAGG;IACH,SAAS,GAAA;AACL,QAAA,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;KAC1E;wGAZQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,6FCrB/B,sXAUM,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDME,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,4NACf,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGV,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAZ9B,SAAS;+BAEI,YAAY,EAAA,UAAA,EAGV,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,eAAe;wBACf,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,sXAAA,EAAA,MAAA,EAAA,CAAA,kPAAA,CAAA,EAAA,CAAA;;;AEnBL;AAoBM,MAAO,sBAAuB,SAAQ,kBAAkB,CAAA;wGAAjD,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,kGCpBnC,uVAWS,EAAA,MAAA,EAAA,CAAA,oJAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDID,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,4NACf,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGV,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAZlC,SAAS;+BAEI,iBAAiB,EAAA,UAAA,EAGf,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,eAAe;wBACf,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,uVAAA,EAAA,MAAA,EAAA,CAAA,oJAAA,CAAA,EAAA,CAAA;;;AElBL;AAeM,MAAO,kBAEX,SAAQ,uCAA+D,CAAA;AAIxC,IAAA,gBAAA,CAAA;AAF7B,IAAA,SAAS,CAA+B;AAExC,IAAA,WAAA,CAA6B,gBAAkC,EAAA;AAC3D,QAAA,KAAK,EAAE,CAAC;QADiB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;KAE9D;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAgB,IAAI,CAAC,YAAY,CAAC,SAAgC,CAAC,CAAC;QAC1H,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;KACpE;wGAfQ,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAlB,kBAAkB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf/B,EAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDac,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEb,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGV,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;;AEb3B;AAeM,MAAO,iBAAkB,SAAQ,uCAA8D,CAAA;wGAAxF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAjB,iBAAiB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf9B,+SAGM,EAAA,MAAA,EAAA,CAAA,EAAA,EAAA,mVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDUQ,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEb,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAR7B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,EAGT,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,+SAAA,EAAA,MAAA,EAAA,CAAA,mVAAA,CAAA,EAAA,CAAA;;;AEb3B;AAeM,MAAO,iCAAkC,SAAQ,uCAAiF,CAAA;wGAA3H,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAjC,iCAAiC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf9C,whBASI,EAAA,MAAA,EAAA,CAAA,EAAA,EAAA,mVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDIU,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEb,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAR7C,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,EAG5B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,whBAAA,EAAA,MAAA,EAAA,CAAA,mVAAA,CAAA,EAAA,CAAA;;;AEb3B;AAmBM,MAAO,iCAAkC,SAAQ,uCAAiF,CAAA;AACpI,IAAA,IAAI,KAAK,GAAA;QACL,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClD,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;SACvC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAC5C;wGANQ,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,ECnB9C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8gBASI,EDMI,MAAA,EAAA,CAAA,EAAA,EAAA,mVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BACZ,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAX7C,SAAS;+BAEI,8BAA8B,EAAA,UAAA,EAG5B,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,YAAY;AACf,qBAAA,EAAA,QAAA,EAAA,8gBAAA,EAAA,MAAA,EAAA,CAAA,mVAAA,CAAA,EAAA,CAAA;;;AEjBL;AAqBM,MAAO,wBAAyB,SAAQ,uCAAsE,CAAA;wGAAvG,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,oGCrBrC,0cAYI,EAAA,MAAA,EAAA,CAAA,yLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDII,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,4MACf,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;+BAEI,mBAAmB,EAAA,UAAA,EAGjB,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,eAAe;wBACf,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,0cAAA,EAAA,MAAA,EAAA,CAAA,yLAAA,CAAA,EAAA,CAAA;;;AEnBL;AAuBM,MAAO,wBAAyB,SAAQ,uCAAsE,CAAA;AAChH,IAAA,IAAI,KAAK,GAAA;QACL,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE;AAC7C,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;SAClC;AACD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;KACvC;wGANQ,wBAAwB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECvBrC,gfAaI,EDII,MAAA,EAAA,CAAA,yLAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,8BACZ,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,gFAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACZ,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGV,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAbpC,SAAS;+BAEI,mBAAmB,EAAA,UAAA,EAGjB,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,eAAe;wBACf,YAAY;wBACZ,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,gfAAA,EAAA,MAAA,EAAA,CAAA,yLAAA,CAAA,EAAA,CAAA;;;AErBL;AAeM,MAAO,gBAAiB,SAAQ,uCAA6D,CAAA;wGAAtF,gBAAgB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECf7B,8FAEC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDWa,YAAY,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAEb,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAR5B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,EAGR,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,YAAY,CAAC,EAAA,QAAA,EAAA,8FAAA,EAAA,CAAA;;;AEE3B;AACM,MAAO,iBAAkB,SAAQ,uCAA8D,CAAA;wGAAxF,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,EChB9B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,ySAOM,EDMQ,MAAA,EAAA,CAAA,EAAA,EAAA,uXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+BAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAG9B,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,WAAW,cAGT,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,ySAAA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,CAAA;;;AEb5C;AAgBM,MAAO,iCAAkC,SAAQ,uCAAiF,CAAA;wGAA3H,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,EChB9C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,uhBAcI,EDAU,MAAA,EAAA,CAAA,EAAA,EAAA,uXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,+BAAE,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAE9B,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAR7C,SAAS;AAEI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,8BAA8B,cAG5B,IAAI,EAAA,OAAA,EACP,CAAC,YAAY,EAAE,eAAe,CAAC,EAAA,QAAA,EAAA,uhBAAA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,CAAA;;;AEd5C;AAqBM,MAAO,iCAAkC,SAAQ,uCAAiF,CAAA;AACpI,IAAA,IAAI,KAAK,GAAA;QACL,IAAI,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;AAClD,YAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;SACvC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAC5C;wGANQ,iCAAiC,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,+GCrB9C,0gBAcI,EAAA,MAAA,EAAA,CAAA,EAAA,EAAA,uXAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDEI,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,kRACZ,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGV,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAZ7C,SAAS;+BAEI,8BAA8B,EAAA,UAAA,EAG5B,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,YAAY;wBACZ,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,0gBAAA,EAAA,MAAA,EAAA,CAAA,uXAAA,CAAA,EAAA,CAAA;;;AEGL;;AAEG;IACS,gBAcX;AAdD,CAAA,UAAY,eAAe,EAAA;AACvB,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,eAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,eAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;AACf,IAAA,eAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,eAAA,CAAA,0BAAA,CAAA,GAAA,uBAAkD,CAAA;AAClD,IAAA,eAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,aAAA,CAAA,GAAA,YAA0B,CAAA;AAC1B,IAAA,eAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;AAC9B,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,eAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;AACjB,IAAA,eAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACjB,CAAC,EAdW,eAAe,KAAf,eAAe,GAc1B,EAAA,CAAA,CAAA,CAAA;AAED;;AAEG;MACmB,cAAc,CAAA;AAChC;;AAEG;AACH,IAAA,IAAI,CAAmB;AACvB;;AAEG;AACH,IAAA,QAAQ,CAA+B;AACvC;;AAEG;AACH,IAAA,QAAQ,CAAwC;AAChD;;AAEG;AACH,IAAA,SAAS,CAAiB;AAC1B;;AAEG;AACH,IAAA,SAAS,CAAU;AACtB;;ACtDD;;AAEG;MACmB,YAAY,CAAA;;IAE9B,OAAO,MAAM,CAAC,OAAuD,EAAA;AACjE,QAAA,OAAO,OAAkB,CAAC;KAC7B;;IAGD,OAAO,MAAM,CAAC,OAAsC,EAAA;QAChD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACpD;IAEO,OAAO,cAAc,CAAC,KAAqB,EAAA;AAC/C,QAAA,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;KACpC;AAED;;;;;;;AAOG;IACH,OAAO,gBAAgB,CACnB,UAA0B,GAAA,EAAE,EAC5B,UAA0B,GAAA,EAAE,EAC5B,gBAAA,GAAgC,EAAE,EAAA;QAElC,IAAI,SAAS,GAAgB,EAAE,CAAC;AAChC,QAAA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAY,UAAU,CAAC,CAAC,CAAC;AACtF,QAAA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,CAAY,UAAU,CAAC,CAAC,CAAC;AACtF,QAAA,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;;QAE/C,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,GAAG,GAAgB,EAAE,CAAC;AAC5B,QAAA,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE;;AAE3B,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE;AAC1C,gBAAA,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnB;SACJ;AACD,QAAA,OAAO,GAAG,CAAC;KACd;IAEO,OAAO,mBAAmB,CAA0B,UAAuB,EAAA;QAC/E,IAAI,GAAG,GAAgB,EAAE,CAAC;AAC1B,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC1B,YAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjF;AACD,QAAA,OAAO,GAAG,CAAC;KACd;IAEO,OAAO,mBAAmB,CAA0B,UAAuB,EAAA;QAC/E,IAAI,GAAG,GAAgB,EAAE,CAAC;AAC1B,QAAA,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE;AAC1B,YAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAY,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjF;AACD,QAAA,OAAO,GAAG,CAAC;KACd;IAEO,OAAO,qBAAqB,CAA0B,QAA2C,EAAA;QACrG,IAAI,GAAG,GAAgB,EAAE,CAAC;AAE1B,QAAA,MAAM,WAAW,GAA0B,YAAY,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QAClH,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAgB,CAAC,CAAC;QAEzF,MAAM,gBAAgB,GAA0B,YAAY,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzH,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAgB,CAAC,CAAC;QAE9F,MAAM,gBAAgB,GAA0B,YAAY,CAAC,0BAA0B,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzH,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAgB,CAAC,CAAC;AAE9F,QAAA,MAAM,KAAK,GAAc,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,CAAc,CAAC;AAC5F,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,qBAAqB,CAAY,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;SAClF;AACD,QAAA,OAAO,GAAG,CAAC;KACd;IAEO,OAAO,0BAA0B,CAAC,QAAyC,EAAA;AAC/E,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,wBAAwB,CAA+B,CAAC;KAClH;IAEO,OAAO,0BAA0B,CAAC,QAAyC,EAAA;AAC/E,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,wBAAwB,CAA+B,CAAC;KAClH;IAEO,OAAO,6BAA6B,CAAC,QAAsB,EAAA;AAC/D,QAAA,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,aAAa,CAAC,CAAC;KACzE;AACJ;;AChFD;;AAEG;MA0BU,mBAAmB,CAAA;;IAG5B,eAAe,GAA2B,eAAe,CAAC;AAE1D;;AAEG;AAEH,IAAA,OAAO,CAAc;;AAGrB,IAAA,WAAW,CAAW;AAEtB;;AAEG;AAEH,IAAA,OAAO,CAAc;AAErB;;;AAGG;AAEH,IAAA,gBAAgB,CAAW;;AAEjB,IAAA,wBAAwB,CAAW;AAE7C;;;AAGG;AAEH,IAAA,UAAU,CAAW;;AAEX,IAAA,kBAAkB,CAAW;;AAIvC,IAAA,UAAU,CAAa;;AAGvB,IAAA,SAAS,CAAU;IAEnB,QAAQ,GAAA;QACJ,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC;QAC/D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC;QACnD,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACxD;IAED,qBAAqB,GAAA;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;KACnB;AAED;;AAEG;IAEH,QAAQ,GAAA;AACJ,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;AACjB,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;SACxC;KACJ;IAEO,YAAY,GAAA;QAChB,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,aAA6B,EAAC,WAAW,CAAC;KAClF;AAED;;;AAGG;IACH,MAAM,mBAAmB,CAAC,OAAmB,EAAA;AACzC,QAAA,QAAQ,OAAO,CAAC,IAAI;YAChB,KAAK,eAAe,CAAC,KAAK,CAAC;YAC3B,KAAK,eAAe,CAAC,KAAK,CAAC;YAC3B,KAAK,eAAe,CAAC,IAAI,CAAC;AAC1B,YAAA,KAAK,eAAe,CAAC,MAAM,EAAE;gBACzB,OAAO;aACV;YACD,SAAS;AACL,gBAAA,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;aAC/B;SACJ;KACJ;wGArFQ,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,kXCpDhC,kyKAyGW,EAAA,MAAA,EAAA,CAAA,qcAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDrDE,mBAAmB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAnBxB,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,eAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,OAAA,EAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,WAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,QAAA,EAAA,6CAAA,EAAA,MAAA,EAAA,CAAA,sBAAA,EAAA,mBAAA,EAAA,oBAAA,EAAA,4BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,YAAA,EAAA,YAAA,EAAA,aAAA,CAAA,EAAA,QAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,2NACf,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,iBAAiB,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjB,iCAAiC,EACjC,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iCAAiC,EACjC,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,iBAAiB,sDACjB,iCAAiC,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjC,iCAAiC,EAAA,QAAA,EAAA,8BAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACjC,kBAAkB,EAClB,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,sBAAsB,EACtB,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,8DACxB,wBAAwB,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACxB,kBAAkB,EAClB,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,qDAChB,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGV,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAzB/B,SAAS;iCACM,IAAI,EAAA,QAAA,EACN,4BAA4B,EAG7B,OAAA,EAAA;wBACL,YAAY;wBACZ,aAAa;wBACb,eAAe;wBACf,gBAAgB;wBAChB,iBAAiB;wBACjB,iCAAiC;wBACjC,iCAAiC;wBACjC,iBAAiB;wBACjB,iCAAiC;wBACjC,iCAAiC;wBACjC,kBAAkB;wBAClB,sBAAsB;wBACtB,wBAAwB;wBACxB,wBAAwB;wBACxB,kBAAkB;wBAClB,gBAAgB;wBAChB,eAAe;AAClB,qBAAA,EAAA,QAAA,EAAA,kyKAAA,EAAA,MAAA,EAAA,CAAA,qcAAA,CAAA,EAAA,CAAA;8BAWD,OAAO,EAAA,CAAA;sBADN,KAAK;gBAUN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAQN,gBAAgB,EAAA,CAAA;sBADf,KAAK;gBAUN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAON,UAAU,EAAA,CAAA;sBADT,SAAS;uBAAC,YAAY,CAAA;gBAoBvB,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AEtG7C;;AAEG;MAYU,+BAA+B,CAAA;AAcX,IAAA,QAAA,CAAA;AAZ7B;;AAEG;AAEH,IAAA,SAAS,CAAU;AAEnB;;AAEG;AAEH,IAAA,UAAU,CAAe;AAEzB,IAAA,WAAA,CAA6B,QAA6B,EAAA;QAA7B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;KAAI;AAE9D;;;;;AAKG;IACH,iBAAiB,CAAC,GAAc,EAAE,QAA4B,EAAA;QAC1D,IAAI,GAAG,GAAuB,EAAE,CAAC;QACjC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/B,QAAA,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9C,QAAA,IAAI,QAAQ,KAAK,MAAM,EAAE;YACrB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;SAC9E;AACD,QAAA,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;KACnD;AAEO,IAAA,cAAc,CAAC,OAAmB,EAAA;AACtC,QAAA,IAAI,OAAO,CAAC,SAAS,IAAI,SAAS,EAAE;AAChC,YAAA,OAAO,IAAI,CAAC;SACf;;QAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;KACrG;wGAvCQ,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA/B,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,+BAA+B,mJCtB5C,khCAqBS,EAAA,MAAA,EAAA,CAAA,yVAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDJD,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,gBAAgB,+BAChB,mBAAmB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGd,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAX3C,SAAS;+BACI,2BAA2B,EAAA,UAAA,EAGzB,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,mBAAmB;AACtB,qBAAA,EAAA,QAAA,EAAA,khCAAA,EAAA,MAAA,EAAA,CAAA,yVAAA,CAAA,EAAA,CAAA;wFAQD,SAAS,EAAA,CAAA;sBADR,KAAK;gBAON,UAAU,EAAA,CAAA;sBADT,KAAK;;;AExBV;;AAEG;MAEU,uBAAuB,CAAA;AA6BH,IAAA,QAAA,CAAA;AAAgD,IAAA,MAAA,CAAA;AA3B7E;;AAEG;AACM,IAAA,cAAc,GAAiC,IAAI,eAAe,CAAc,EAAE,CAAC,CAAC;AAE7F,IAAA,IAAY,YAAY,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACxC;;AAGD;;AAEG;AACH,IAAA,IAAI,SAAS,GAAA;AACT,QAAA,MAAM,QAAQ,GAAsB,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAG;YAClE,OAAO;gBACH,IAAI,EAAE,eAAe,CAAC,aAAa;gBACnC,KAAK,EAAE,IAAI,CAAC,YAAY;AACxB,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,GAAG,CAAC;aACP,CAAC;AACN,SAAC,CAAC,CAAC;QACH,OAAO;AACH,YAAA,QAAQ,EAAE,QAAQ;SACrB,CAAC;KACL;IAED,WAA6B,CAAA,QAA6B,EAAmB,MAAc,EAAA;QAA9D,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;QAAmB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACvF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAG;AAC7B,YAAA,IAAI,CAAC,YAAY,aAAa,EAAE;gBAC5B,IAAI,KAAK,GAA0B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;AAC3E,gBAAA,OAAO,KAAK,EAAE,UAAU,EAAE;AACtB,oBAAA,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;iBAC5B;AACD,gBAAA,MAAM,IAAI,GAAwC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC;gBACvE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;aACjD;AACL,SAAC,CAAC,CAAC;KACN;wGAxCQ,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,uBAAuB,cADV,MAAM,EAAA,CAAA,CAAA;;4FACnB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACClC;MACa,0BAA0B,GAA2B,IAAI,cAAc,CAChF,kEAAkE,EAClE;AACI,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,cAAc;AAChC,CAAA,EACH;AAEF;MACa,oBAAoB,GAAmC,IAAI,cAAc,CAClF,sDAAsD,EACtD;AACI,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,MAAM;AACxB,CAAA,EACH;AAEF;;;;AAIG;MAaU,+BAA+B,CAAA;AAkEnB,IAAA,SAAA,CAAA;AACV,IAAA,UAAA,CAAA;AAEU,IAAA,cAAA,CAAA;AAEA,IAAA,mBAAA,CAAA;AACA,IAAA,QAAA,CAAA;AAvErB;;AAEG;AAEH,IAAA,UAAU,CAAe;AAEzB;;AAEG;AAEH,IAAA,SAAS,CAAU;AAEnB;;AAEG;AAEH,IAAA,sBAAsB,CAAU;AAEhC;;AAEG;AAEH,IAAA,eAAe,CAAU;;AAIzB,IAAA,OAAO,CAAc;;AAIrB,IAAA,MAAM,CAA2B;;AAGjC,IAAA,UAAU,CAAc;AAExB;;AAEG;AACH,IAAA,kBAAkB,CAAa;;AAG/B;;AAEG;AACH,IAAA,IAAI,aAAa,GAAA;QACb,OAAO;YACH,GAAG,IAAI,CAAC,UAAU;YAClB,IAAI,CAAC,UAAU,CAAC,SAAS;SAC5B,CAAC;KACL;;AAGD;;AAEG;AACH,IAAA,IAAI,eAAe,GAAA;QACf,MAAM,GAAG,GAAiB,EAAE,CAAC;;AAE7B,QAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjE;AACD,QAAA,OAAO,GAAG,CAAC;KACd;IAED,WACqB,CAAA,SAAuB,EACjC,UAAmC,EAEzB,cAA8B,EAE9B,mBAA2B,EAC3B,QAA6B,EAAA;QAN7B,IAAS,CAAA,SAAA,GAAT,SAAS,CAAc;QACjC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAyB;QAEzB,IAAc,CAAA,cAAA,GAAd,cAAc,CAAgB;QAE9B,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAQ;QAC3B,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAqB;QAE9C,IAAI,CAAC,UAAU,GAAG;YACd,IAAI,EAAE,eAAe,CAAC,WAAW;AACjC,YAAA,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,cAAc;YACzB,MAAM,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;AACpC,YAAA,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,IAAI,CAAC,mBAAmB;SACtC,CAAC;KACL;AAED;;;;;AAKG;IACH,iBAAiB,CAAC,GAAc,EAAE,QAA4B,EAAA;QAC1D,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAG;YAC3B,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,MAAM,CAAC,CAAC,QAAQ,IAAI,SAAS,IAAI,QAAQ,KAAK,MAAM,CAAC;AAC9E,mBAAA,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;AAClC,SAAC,CAAC,CAAC;KACN;AAEO,IAAA,cAAc,CAAC,OAAmB,EAAA;AACtC,QAAA,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC;SACf;;QAED,OAAO,qBAAqB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;KACrG;;AAGD,IAAA,eAAe,CAAC,OAAmB,EAAA;AAC/B,QAAA,OAAO,YAAY,OAAO,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;KACjD;;IAGD,kBAAkB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE;AACzD,YAAA,OAAO,eAAe,CAAC;SAC1B;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE;AACrD,YAAA,OAAO,WAAW,CAAC;SACtB;AACD,QAAA,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,EAAE;AACrD,YAAA,OAAO,WAAW,CAAC;SACtB;QACD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,EAAE;AACjF,YAAA,OAAO,WAAW,CAAC;SACtB;AACD,QAAA,OAAO,cAAc,CAAC;KACzB;IAED,qBAAqB,GAAA;QACjB,IAAI,CAAC,aAAa,EAAE,CAAC;KACxB;IAEO,aAAa,GAAA;QACjB,IAAI,IAAI,CAAC,SAAS,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE;AACtD,YAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;QACD,IAAI,IAAI,CAAC,sBAAsB,IAAI,OAAO,IAAI,CAAC,sBAAsB,KAAK,QAAQ,EAAE;AAChF,YAAA,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SAC3C;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACd,OAAO;SACV;AACD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE;YAC9E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAC7D,CAAgB,aAAA,EAAA,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAK,GAAA,CAAA,CACnG,CAAC;YACF,OAAO;SACV;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAC7D,CAAgB,aAAA,EAAA,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,KAAK,IAAI,CAAC,sBAAsB,IAAI,CAAC,CAAC,CAAK,GAAA,CAAA,CAClF,CAAC;KACL;AAED;;;AAGG;IAEH,QAAQ,GAAA;QACJ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAAE;AAC/B,YAAA,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;SAC7B;KACJ;AAED;;;AAGG;IACH,MAAM,mBAAmB,CAAC,OAAmB,EAAA;AACzC,QAAA,QAAQ,OAAO,CAAC,IAAI;YAChB,KAAK,eAAe,CAAC,KAAK,CAAC;YAC3B,KAAK,eAAe,CAAC,KAAK,CAAC;YAC3B,KAAK,eAAe,CAAC,IAAI,CAAC;AAC1B,YAAA,KAAK,eAAe,CAAC,MAAM,EAAE;gBACzB,OAAO;aACV;YACD,SAAS;AACL,gBAAA,MAAM,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;aAC/B;SACJ;KACJ;wGApLQ,+BAA+B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAAE,uBAAA,EAAA,EAAA,EAAA,KAAA,EAoE5B,oBAAoB,EAAA,EAAA,EAAA,KAAA,EAEpB,0BAA0B,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;4FAtE7B,+BAA+B,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,SAAA,EAAA,WAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,SAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,QAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,QAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EA8BX,UAAU,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC9E3C,quHAqEwB,EAAA,MAAA,EAAA,CAAA,6yCAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,ED3BhB,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACZ,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAChB,mBAAmB,EAAA,QAAA,EAAA,4BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,gBAAgB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,QAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGX,+BAA+B,EAAA,UAAA,EAAA,CAAA;kBAZ3C,SAAS;+BACI,2BAA2B,EAAA,UAAA,EAGzB,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,gBAAgB;wBAChB,mBAAmB;wBACnB,gBAAgB;AACnB,qBAAA,EAAA,QAAA,EAAA,quHAAA,EAAA,MAAA,EAAA,CAAA,6yCAAA,CAAA,EAAA,CAAA;;0BAsEI,MAAM;2BAAC,oBAAoB,CAAA;;0BAE3B,MAAM;2BAAC,0BAA0B,CAAA;2EAjEtC,UAAU,EAAA,CAAA;sBADT,KAAK;gBAON,SAAS,EAAA,CAAA;sBADR,KAAK;gBAON,sBAAsB,EAAA,CAAA;sBADrB,KAAK;gBAON,eAAe,EAAA,CAAA;sBADd,KAAK;gBAKN,OAAO,EAAA,CAAA;sBADN,SAAS;uBAAC,SAAS,CAAA;gBAKpB,MAAM,EAAA,CAAA;sBADL,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAA;gBA+HzC,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAA;;;AErM7C;;AAEG;MAYU,iCAAiC,CAAA;AAiBb,IAAA,KAAA,CAAA;AAhB7B;;;AAGG;AAEH,IAAA,MAAM,CAAsB;;AAG5B,IAAA,KAAK,CAAU;;AAEf,IAAA,OAAO,CAAU;;AAEjB,IAAA,WAAW,CAAU;;AAErB,IAAA,SAAS,CAAU;AAEnB,IAAA,WAAA,CAA6B,KAAqB,EAAA;QAArB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAgB;KAAI;IAEtD,QAAQ,GAAA;AACJ,QAAA,MAAM,SAAS,GAAmC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAmC,CAAC;AACnI,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,SAAS,EAAE,KAAK,IAAI,gBAAgB,CAAC;AACxE,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO;AAChC,eAAA,SAAS,EAAE,OAAO;AAClB,eAAA,2GAA2G,CAAC;AAC/G,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,IAAI,SAAS,EAAE,WAAW,IAAI,UAAU,CAAC;AACpF,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,SAAS,EAAE,SAAS,IAAI,GAAG,CAAC;KAC1E;wGA3BQ,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAF,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iCAAiC,sHCrB9C,0KAOM,EAAA,MAAA,EAAA,CAAA,4TAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EDSE,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,eAAe,2MACf,YAAY,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGP,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAX7C,SAAS;+BACI,8BAA8B,EAAA,UAAA,EAG5B,IAAI,EACP,OAAA,EAAA;wBACL,YAAY;wBACZ,eAAe;wBACf,YAAY;AACf,qBAAA,EAAA,QAAA,EAAA,0KAAA,EAAA,MAAA,EAAA,CAAA,4TAAA,CAAA,EAAA,CAAA;qFAQD,MAAM,EAAA,CAAA;sBADL,KAAK;;;AEpBV;;AAEG;AACG,MAAgB,OAAQ,SAAQ,cAAc,CAAA;AAChD;;AAEG;AACH,IAAA,IAAI,CAAU;AACd;;AAEG;AACH,IAAA,IAAI,CAAkB;AACtB;;AAEG;AACH,IAAA,YAAY,CAAW;AAC1B;;ACtBD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"ngx-material-navigation.mjs","sources":["../../../projects/ngx-material-navigation/src/components/nav-element/base-nav-element.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button/nav-button.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button/nav-button.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button-flat/nav-button-flat.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/button/nav-button-flat/nav-button-flat.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/custom/nav-custom/nav-custom.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/custom/nav-custom/nav-custom.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image/nav-image.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image/nav-image.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-external-link/nav-image-with-external-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-external-link/nav-image-with-external-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-internal-link/nav-image-with-internal-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/image/nav-image-with-internal-link/nav-image-with-internal-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-external-link/nav-external-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-external-link/nav-external-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-internal-link/nav-internal-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/link/nav-internal-link/nav-internal-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/text/nav-text/nav-text.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/text/nav-text/nav-text.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title/nav-title.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title/nav-title.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-external-link/nav-title-with-external-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-external-link/nav-title-with-external-link.component.html","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-internal-link/nav-title-with-internal-link.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/title/nav-title-with-internal-link/nav-title-with-internal-link.component.html","../../../projects/ngx-material-navigation/src/models/nav-element.model.ts","../../../projects/ngx-material-navigation/src/utilities/nav.utilities.ts","../../../projects/ngx-material-navigation/src/components/nav-element/nav-element.component.ts","../../../projects/ngx-material-navigation/src/components/nav-element/nav-element.component.html","../../../projects/ngx-material-navigation/src/components/footer/footer.component.ts","../../../projects/ngx-material-navigation/src/components/footer/footer.component.html","../../../projects/ngx-material-navigation/src/services/nav.service.ts","../../../projects/ngx-material-navigation/src/components/navbar/navbar.component.ts","../../../projects/ngx-material-navigation/src/components/navbar/navbar.component.html","../../../projects/ngx-material-navigation/src/components/not-found/not-found.component.ts","../../../projects/ngx-material-navigation/src/components/not-found/not-found.component.html","../../../projects/ngx-material-navigation/src/models/nav-link.model.ts","../../../projects/ngx-material-navigation/src/public-api.ts","../../../projects/ngx-material-navigation/src/ngx-material-navigation.ts"],"sourcesContent":["/* eslint-disable stylistic/indent */\nimport { Component, Input } from '@angular/core';\n\nimport { NavButton } from '../../models/nav-button.model';\nimport { NavCustom } from '../../models/nav-custom.model';\nimport { NavElement, NavElementTypes } from '../../models/nav-element.model';\nimport { NavImage, NavImageWithExternalLink, NavImageWithInternalLink } from '../../models/nav-image.model';\nimport { NavExternalLink, NavInternalLink } from '../../models/nav-link.model';\nimport { NavMenu } from '../../models/nav-menu.model';\nimport { NavText } from '../../models/nav-text.model';\nimport { NavTitle, NavTitleWithExternalLink, NavTitleWithInternalLink } from '../../models/nav-title.model';\n\n/**\n * The abstract base class of any ngx-mat-navigation nav element.\n *\n * It already provides the elementValue: Just the typed version of the element.\n */\n// eslint-disable-next-line angular/prefer-standalone\n@Component({\n selector: 'ngx-mat-navigation-base-nav-element',\n template: ''\n})\nexport abstract class NgxMatNavigationBaseNavElementComponent<Type extends NavElementTypes> {\n /**\n * The input nav element to display.\n */\n @Input()\n element!: NavElement;\n\n /**\n * Whether or not the element is inside a sidenav.\n */\n @Input()\n isSidenavElement!: boolean;\n\n /**\n * Whether or not the element is inside a menu.\n */\n @Input()\n isMenuItem!: boolean;\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * The nav element correctly typed.\n */\n get elementValue(): NavElementType<Type> {\n return this.element as NavElementType<Type>;\n }\n}\n\n/**\n * Gives the metadata-config Type based on the DecoratorTypes enum.\n */\nexport type NavElementType<T> =\n T extends NavElementTypes.TITLE ? NavTitle\n : T extends NavElementTypes.TITLE_WITH_INTERNAL_LINK ? NavTitleWithInternalLink\n : T extends NavElementTypes.TITLE_WITH_EXTERNAL_LINK ? NavTitleWithExternalLink\n : T extends NavElementTypes.IMAGE ? NavImage\n : T extends NavElementTypes.IMAGE_WITH_INTERNAL_LINK ? NavImageWithInternalLink\n : T extends NavElementTypes.IMAGE_WITH_EXTERNAL_LINK ? NavImageWithExternalLink\n : T extends NavElementTypes.INTERNAL_LINK ? NavInternalLink\n : T extends NavElementTypes.EXTERNAL_LINK ? NavExternalLink\n : T extends NavElementTypes.BUTTON ? NavButton\n : T extends NavElementTypes.BUTTON_FLAT ? NavButton\n : T extends NavElementTypes.MENU ? NavMenu\n // eslint-disable-next-line typescript/no-explicit-any\n : T extends NavElementTypes.CUSTOM ? NavCustom<any>\n : T extends NavElementTypes.TEXT ? NavText\n : never;","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component, EnvironmentInjector, runInInjectionContext } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-button',\n templateUrl: './nav-button.component.html',\n styleUrls: ['./nav-button.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n FaIconComponent\n ]\n})\nexport class NavButtonComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.BUTTON> {\n\n constructor(private readonly injector: EnvironmentInjector) {\n super();\n }\n\n /**\n * Runs the action of the element.\n * This wrapper is needed to enable the user to use injections in his action functions.\n */\n runAction(): void {\n runInInjectionContext(this.injector, () => this.elementValue.action());\n }\n}","<div [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n <button mat-raised-button type=\"button\" (click)=\"runAction()\">\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.name}}\n </button>\n</div>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavButtonComponent } from '../nav-button/nav-button.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-button-flat',\n templateUrl: './nav-button-flat.component.html',\n styleUrls: ['./nav-button-flat.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n FaIconComponent\n ]\n})\nexport class NavButtonFlatComponent extends NavButtonComponent {}","<button mat-button\n type=\"button\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n (click)=\"runAction()\"\n>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.name}}\n</button>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component, ComponentRef, OnInit, Type, ViewContainerRef } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-custom',\n templateUrl: './nav-custom.component.html',\n styleUrls: ['./nav-custom.component.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavCustomComponent<\n ComponentType extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.CUSTOM>\n> extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.CUSTOM> implements OnInit {\n\n component!: ComponentRef<ComponentType>;\n\n constructor(private readonly viewContainerRef: ViewContainerRef) {\n super();\n }\n\n ngOnInit(): void {\n this.component = this.viewContainerRef.createComponent<ComponentType>(this.elementValue.component as Type<ComponentType>);\n this.component.instance.element = this.element;\n this.component.instance.isMenuItem = this.isMenuItem;\n this.component.instance.isSidenavElement = this.isSidenavElement;\n }\n}","","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-image',\n templateUrl: './nav-image.component.html',\n styleUrls: ['./nav-image.component.scss', '../base-nav-image.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavImageComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.IMAGE> { }","<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\">\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</div>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-image-with-external-link',\n templateUrl: './nav-image-with-external-link.component.html',\n styleUrls: ['./nav-image-with-external-link.component.scss', '../base-nav-image.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavImageWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.IMAGE_WITH_EXTERNAL_LINK> { }","<a class=\"image-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-image-with-internal-link',\n templateUrl: './nav-image-with-internal-link.component.html',\n styleUrls: ['./nav-image-with-internal-link.component.scss', '../base-nav-image.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterModule\n ]\n})\nexport class NavImageWithInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.IMAGE_WITH_INTERNAL_LINK> {\n get route(): string {\n if (typeof this.elementValue.link.route === 'string') {\n return this.elementValue.link.route;\n }\n return this.elementValue.link.route.path;\n }\n}","<a class=\"image-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n>\n <!-- eslint-disable-next-line angular/prefer-ngsrc -->\n <img width=\"auto\" [alt]=\"elementValue.alt\" [height]=\"elementValue.height\" [style.height.px]=\"elementValue.height\" [src]=\"elementValue.url\">\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-external-link',\n templateUrl: './nav-external-link.component.html',\n styleUrls: ['./nav-external-link.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n FaIconComponent\n ]\n})\nexport class NavExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.EXTERNAL_LINK> { }","<a mat-button\n [href]=\"elementValue.url\"\n [target]=\"elementValue.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.name}}\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { RouterModule } from '@angular/router';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-internal-link',\n templateUrl: './nav-internal-link.component.html',\n styleUrls: ['./nav-internal-link.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n RouterModule,\n FaIconComponent\n ]\n})\nexport class NavInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.INTERNAL_LINK> {\n get route(): string {\n if (typeof this.elementValue.route === 'string') {\n return this.elementValue.route;\n }\n return this.elementValue.route.path;\n }\n}","<a mat-button\n [routerLink]=\"route\"\n [fragment]=\"elementValue.fragment\"\n [target]=\"elementValue.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon> \n }\n {{elementValue.name}}\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-text',\n templateUrl: './nav-text.component.html',\n styleUrls: ['./nav-text.component.scss'],\n standalone: true,\n imports: [CommonModule]\n})\nexport class NavTextComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TEXT> {}","@for (paragraph of elementValue.paragraphs; track $index) {\n <div>{{paragraph}}</div>\n}","import { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-title',\n templateUrl: './nav-title.component.html',\n styleUrls: ['./nav-title.component.scss', '../base-nav-title.scss'],\n standalone: true,\n imports: [CommonModule, FaIconComponent]\n})\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport class NavTitleComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE> { }","<div [class.sidenavElement]=\"isSidenavElement\" [class.menuItem]=\"isMenuItem\" [attr.aria-label]=\"elementValue.ariaLabel\">\n <h1>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.title}}\n </h1>\n</div>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-title-with-external-link',\n templateUrl: './nav-title-with-external-link.component.html',\n styleUrls: ['./nav-title-with-external-link.component.scss', '../base-nav-title.scss'],\n standalone: true,\n imports: [CommonModule, FaIconComponent]\n})\nexport class NavTitleWithExternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE_WITH_EXTERNAL_LINK> { }","<a class=\"title-link\" disableRipple\n [href]=\"elementValue.link.url\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n <h1>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.title}}\n </h1>\n</a>","/* eslint-disable jsdoc/require-jsdoc */\nimport { CommonModule } from '@angular/common';\nimport { Component } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavElementTypes } from '../../../../models/nav-element.model';\nimport { NgxMatNavigationBaseNavElementComponent } from '../../base-nav-element.component';\n\n@Component({\n // eslint-disable-next-line angular/component-selector\n selector: 'nav-title-with-internal-link',\n templateUrl: './nav-title-with-internal-link.component.html',\n styleUrls: ['./nav-title-with-internal-link.component.scss', '../base-nav-title.scss'],\n standalone: true,\n imports: [\n CommonModule,\n RouterModule,\n FaIconComponent\n ]\n})\nexport class NavTitleWithInternalLinkComponent extends NgxMatNavigationBaseNavElementComponent<NavElementTypes.TITLE_WITH_INTERNAL_LINK> {\n get route(): string {\n if (typeof this.elementValue.link.route === 'string') {\n return this.elementValue.link.route;\n }\n return this.elementValue.link.route.path;\n }\n}","<a id=\"title-link\" disableRipple\n [routerLink]=\"route\"\n [target]=\"elementValue.link.openInNewTab ? '_blank' : '_self'\"\n [rel]=\"elementValue.link.openInNewTab ? 'noreferrer noopener' : undefined\"\n [class.sidenavElement]=\"isSidenavElement\"\n [class.menuItem]=\"isMenuItem\"\n [attr.aria-label]=\"elementValue.ariaLabel\"\n>\n <h1>\n @if (elementValue.icon) {\n <fa-icon [icon]=\"elementValue.icon\"></fa-icon>\n }\n {{elementValue.title}}\n </h1>\n</a>","import { Route } from '@angular/router';\n\nimport { NavButton } from './nav-button.model';\nimport { NavCustom } from './nav-custom.model';\nimport { NavImage, NavImageWithExternalLink, NavImageWithInternalLink } from './nav-image.model';\nimport { NavExternalLink, NavInternalLink } from './nav-link.model';\nimport { NavMenu } from './nav-menu.model';\nimport { NavRoute } from './nav-route.model';\nimport { NavText } from './nav-text.model';\nimport { NavTitle, NavTitleWithExternalLink, NavTitleWithInternalLink } from './nav-title.model';\n\n/**\n * The three currently supported breakpoints.\n * These are the same as in bootstrap.\n */\nexport type ScreenWidthName = 'lg' | 'md' | 'sm';\n\n/**\n * Type for the position of a nav element inside the navbar or footer.\n */\nexport type NavElementPosition = 'left' | 'center' | 'right';\n\n/**\n * The type of the nav element. Eg. Title or button.\n */\nexport enum NavElementTypes {\n TITLE = 'title',\n TITLE_WITH_INTERNAL_LINK = 'titleWithInternalLink',\n TITLE_WITH_EXTERNAL_LINK = 'titleWithExternalLink',\n IMAGE = 'image',\n IMAGE_WITH_INTERNAL_LINK = 'imageWithInternalLink',\n IMAGE_WITH_EXTERNAL_LINK = 'imageWithExternalLink',\n INTERNAL_LINK = 'internalLink',\n BUTTON = 'button',\n BUTTON_FLAT = 'buttonFlat',\n EXTERNAL_LINK = 'externalLink',\n MENU = 'menu',\n CUSTOM = 'custom',\n TEXT = 'text'\n}\n\n/**\n * The abstract base class of any nav element.\n */\nexport abstract class BaseNavElement {\n /**\n * The type of the element.\n */\n type!: NavElementTypes;\n /**\n * The position of the element.\n */\n position?: 'left' | 'center' | 'right';\n /**\n * At which breakpoint the element should be moved inside the sidenav.\n */\n collapse?: ScreenWidthName | 'never' | 'always';\n /**\n * A condition that must be met for the element to be displayed.\n */\n condition?: () => boolean;\n /**\n * The aria label of the element.\n */\n ariaLabel?: string;\n}\n\n/**\n * One of the many NavElements.\n */\nexport type NavElement<RouteType extends Route = NavRoute> =\n NavTitle | NavTitleWithInternalLink<RouteType> | NavTitleWithExternalLink\n | NavImage | NavImageWithExternalLink | NavImageWithInternalLink<RouteType>\n // eslint-disable-next-line typescript/no-explicit-any\n | NavButton | NavInternalLink<RouteType> | NavExternalLink | NavMenu | NavCustom<any> | NavText;","import { Route } from '@angular/router';\n\nimport { FooterRow, NavFooterElement } from '../models/footer.model';\nimport { NavElement, NavElementTypes } from '../models/nav-element.model';\nimport { NavImageWithInternalLink } from '../models/nav-image.model';\nimport { NavInternalLink } from '../models/nav-link.model';\nimport { NavMenu, NavMenuElement } from '../models/nav-menu.model';\nimport { NavRoute } from '../models/nav-route.model';\nimport { NavTitleWithInternalLink } from '../models/nav-title.model';\nimport { NavbarRow } from '../models/navbar.model';\n\n/**\n * Contains HelperMethods around handling Navigation.\n */\nexport abstract class NavUtilities {\n // eslint-disable-next-line jsdoc/require-jsdoc\n static asMenu(element: NavElement | NavMenuElement | NavFooterElement): NavMenu {\n return element as NavMenu;\n }\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n static isMenu(element: NavElement | NavFooterElement): element is NavMenu {\n return Object.keys(element).includes('elements');\n }\n\n private static isAngularRoute(route: Route | string): route is Route {\n return typeof route !== 'string';\n }\n\n /**\n * Gets the angular routes.\n * Extracts them from the navbar and footer rows and adds any additional routes provided in additionalRoutes.\n * @param navbarRows - The NavbarRows used as a configuration for the navbar element.\n * @param footerRows - The FooterRows used as a configuration for the footer element.\n * @param additionalRoutes - Any additional routes that aren't included in the navbar or footer rows.\n * @returns All found angular routes.\n */\n static getAngularRoutes<RouteType extends Route = NavRoute>(\n navbarRows: NavbarRow[] = [],\n footerRows: FooterRow[] = [],\n additionalRoutes: RouteType[] = []\n ): RouteType[] {\n let allRoutes: RouteType[] = [];\n allRoutes = allRoutes.concat(NavUtilities.getRoutesFromNavbar<RouteType>(navbarRows));\n allRoutes = allRoutes.concat(NavUtilities.getRoutesFromFooter<RouteType>(footerRows));\n allRoutes = allRoutes.concat(additionalRoutes);\n // Filters to only contain unique paths\n const uniquePaths: string[] = [];\n const res: RouteType[] = [];\n for (const route of allRoutes) {\n // eslint-disable-next-line sonar/no-empty-collection\n if (!uniquePaths.find(r => r === route.path)) {\n res.push(route);\n }\n }\n return res;\n }\n\n private static getRoutesFromNavbar<RouteType extends Route>(navbarRows: NavbarRow[]): RouteType[] {\n let res: RouteType[] = [];\n for (const row of navbarRows) {\n res = res.concat(NavUtilities.getRoutesFromElements<RouteType>(row.elements));\n }\n return res;\n }\n\n private static getRoutesFromFooter<RouteType extends Route>(footerRows: FooterRow[]): RouteType[] {\n let res: RouteType[] = [];\n for (const row of footerRows) {\n res = res.concat(NavUtilities.getRoutesFromElements<RouteType>(row.elements));\n }\n return res;\n }\n\n private static getRoutesFromElements<RouteType extends Route>(elements: NavElement[] | NavFooterElement[]): RouteType[] {\n let res: RouteType[] = [];\n\n const linksRoutes: (string | NavRoute)[] = NavUtilities.findInternalLinksFromElements(elements).map(l => l.route);\n res = res.concat(linksRoutes.filter(r => NavUtilities.isAngularRoute(r)) as RouteType[]);\n\n const titleLinksRoutes: (string | NavRoute)[] = NavUtilities.findTitleLinksFromElements(elements).map(l => l.link.route);\n res = res.concat(titleLinksRoutes.filter(r => NavUtilities.isAngularRoute(r)) as RouteType[]);\n\n const imageLinksRoutes: (string | NavRoute)[] = NavUtilities.findImageLinksFromElements(elements).map(l => l.link.route);\n res = res.concat(imageLinksRoutes.filter(r => NavUtilities.isAngularRoute(r)) as RouteType[]);\n\n const menus: NavMenu[] = elements.filter(e => e.type === NavElementTypes.MENU) as NavMenu[];\n for (const menu of menus) {\n res = res.concat(NavUtilities.getRoutesFromElements<RouteType>(menu.elements));\n }\n return res;\n }\n\n private static findImageLinksFromElements(elements: NavElement[] | NavMenuElement[]): NavImageWithInternalLink[] {\n return elements.filter(e => e.type === NavElementTypes.IMAGE_WITH_INTERNAL_LINK) as NavImageWithInternalLink[];\n }\n\n private static findTitleLinksFromElements(elements: NavElement[] | NavMenuElement[]): NavTitleWithInternalLink[] {\n return elements.filter(e => e.type === NavElementTypes.TITLE_WITH_INTERNAL_LINK) as NavTitleWithInternalLink[];\n }\n\n private static findInternalLinksFromElements(elements: NavElement[]): NavInternalLink[] {\n return elements.filter(e => e.type === NavElementTypes.INTERNAL_LINK);\n }\n}","\nimport { CommonModule } from '@angular/common';\nimport { AfterContentChecked, Component, HostListener, Input, OnInit, ViewChild } from '@angular/core';\nimport { MatButton, MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\n\nimport { NavButtonComponent } from './button/nav-button/nav-button.component';\nimport { NavButtonFlatComponent } from './button/nav-button-flat/nav-button-flat.component';\nimport { NavCustomComponent } from './custom/nav-custom/nav-custom.component';\nimport { NavImageComponent } from './image/nav-image/nav-image.component';\nimport { NavImageWithExternalLinkComponent } from './image/nav-image-with-external-link/nav-image-with-external-link.component';\nimport { NavImageWithInternalLinkComponent } from './image/nav-image-with-internal-link/nav-image-with-internal-link.component';\nimport { NavExternalLinkComponent } from './link/nav-external-link/nav-external-link.component';\nimport { NavInternalLinkComponent } from './link/nav-internal-link/nav-internal-link.component';\nimport { NavTextComponent } from './text/nav-text/nav-text.component';\nimport { NavTitleComponent } from './title/nav-title/nav-title.component';\nimport { NavTitleWithExternalLinkComponent } from './title/nav-title-with-external-link/nav-title-with-external-link.component';\nimport { NavTitleWithInternalLinkComponent } from './title/nav-title-with-internal-link/nav-title-with-internal-link.component';\nimport { NavElement, NavElementTypes } from '../../models/nav-element.model';\nimport { NavMenu } from '../../models/nav-menu.model';\nimport { NavUtilities } from '../../utilities/nav.utilities';\n\n/**\n * Displays a single Navigation Element.\n */\n@Component({\n standalone: true,\n selector: 'ngx-mat-navigation-element',\n templateUrl: './nav-element.component.html',\n styleUrls: ['./nav-element.component.scss'],\n imports: [\n CommonModule,\n MatMenuModule,\n MatButtonModule,\n MatSidenavModule,\n NavTitleComponent,\n NavTitleWithInternalLinkComponent,\n NavTitleWithExternalLinkComponent,\n NavImageComponent,\n NavImageWithInternalLinkComponent,\n NavImageWithExternalLinkComponent,\n NavButtonComponent,\n NavButtonFlatComponent,\n NavInternalLinkComponent,\n NavExternalLinkComponent,\n NavCustomComponent,\n NavTextComponent,\n FaIconComponent\n ]\n})\nexport class NavElementComponent implements AfterContentChecked, OnInit {\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n NavElementTypes: typeof NavElementTypes = NavElementTypes;\n\n /**\n * The element to display.\n */\n @Input()\n element!: NavElement;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n elementMenu!: NavMenu;\n\n /**\n * A reference to the sidenav. Is needed for the menu to close the sidenav.\n */\n @Input()\n sidenav?: MatSidenav;\n\n /**\n * Whether or not this element should be displayed inside the sidenav.\n * Used to apply different styling.\n */\n @Input()\n isSidenavElement?: boolean;\n // eslint-disable-next-line jsdoc/require-jsdoc\n protected internalIsSidenavElement!: boolean;\n\n /**\n * Whether or not this element should be displayed inside a menu.\n * Used to apply different styling.\n */\n @Input()\n isMenuItem?: boolean;\n // eslint-disable-next-line jsdoc/require-jsdoc\n protected internalIsMenuItem!: boolean;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n @ViewChild('menuButton')\n menuButton?: MatButton;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n menuWidth!: number;\n\n ngOnInit(): void {\n this.internalIsSidenavElement = this.isSidenavElement ?? false;\n this.internalIsMenuItem = this.isMenuItem ?? false;\n this.elementMenu = NavUtilities.asMenu(this.element);\n }\n\n ngAfterContentChecked(): void {\n this.onResize();\n }\n\n /**\n * Updates the width of the menu to the value of its button.\n */\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n if (this.menuButton) {\n this.menuWidth = this.getMenuWidth();\n }\n }\n\n private getMenuWidth(): number {\n return (this.menuButton?._elementRef.nativeElement as HTMLElement).offsetWidth;\n }\n\n /**\n * Defines if the sidenav should be closed when the given element is clicked.\n * @param element - The element that has been clicked.\n */\n async clickSidenavElement(element: NavElement): Promise<void> {\n switch (element.type) {\n case NavElementTypes.TITLE:\n case NavElementTypes.IMAGE:\n case NavElementTypes.MENU:\n case NavElementTypes.CUSTOM: {\n return;\n }\n default: {\n await this.sidenav?.close();\n }\n }\n }\n}","@switch (element.type) {\n <!-------------------------------------------->\n <!------------------Titles-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.TITLE) {\n <nav-title [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-title>\n }\n @case (NavElementTypes.TITLE_WITH_INTERNAL_LINK) {\n <nav-title-with-internal-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-title-with-internal-link>\n }\n @case (NavElementTypes.TITLE_WITH_EXTERNAL_LINK) {\n <nav-title-with-external-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-title-with-external-link>\n }\n <!-------------------------------------------->\n <!-------------------Images------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.IMAGE) {\n <nav-image [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-image>\n }\n @case (NavElementTypes.IMAGE_WITH_INTERNAL_LINK) {\n <nav-image-with-internal-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-image-with-internal-link>\n }\n @case (NavElementTypes.IMAGE_WITH_EXTERNAL_LINK) {\n <nav-image-with-external-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-image-with-external-link>\n }\n <!-------------------------------------------->\n <!-------------------Buttons------------------>\n <!-------------------------------------------->\n @case (NavElementTypes.BUTTON) {\n <nav-button [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-button>\n }\n @case (NavElementTypes.BUTTON_FLAT) {\n <nav-button-flat [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-button-flat>\n }\n <!-------------------------------------------->\n <!--------------------Link-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.INTERNAL_LINK) {\n <nav-internal-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-internal-link>\n }\n @case (NavElementTypes.EXTERNAL_LINK) {\n <nav-external-link [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-external-link>\n }\n <!-------------------------------------------->\n <!-------------------CUSTOM------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.CUSTOM) {\n <div [class.menuItem]=\"internalIsMenuItem\" [class.customMenuItem]=\"internalIsMenuItem\">\n <nav-custom\n [element]=\"element\" \n [isSidenavElement]=\"internalIsSidenavElement\"\n [isMenuItem]=\"internalIsMenuItem\"\n >\n </nav-custom>\n </div>\n }\n <!-------------------------------------------->\n <!--------------------TEXT-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.TEXT) {\n <nav-text [element]=\"element\" [isSidenavElement]=\"internalIsSidenavElement\" [isMenuItem]=\"internalIsMenuItem\"></nav-text>\n }\n <!-------------------------------------------->\n <!--------------------Menu-------------------->\n <!-------------------------------------------->\n @case (NavElementTypes.MENU) {\n @if (internalIsMenuItem) {\n <button #menuButton\n type=\"button\"\n mat-menu-item\n style=\"padding-left: 12px; padding-right: 12px;\"\n [matMenuTriggerFor]=\"menu\"\n [class.sidenavElement]=\"isSidenavElement\"\n [attr.aria-label]=\"element.ariaLabel\"\n >\n @if (elementMenu.icon) {\n <fa-icon [icon]=\"elementMenu.icon\"></fa-icon>\n }\n {{elementMenu.name}}\n </button>\n }\n @else {\n <button #menuButton\n type=\"button\"\n mat-button\n [matMenuTriggerFor]=\"menu\"\n [class.sidenavElement]=\"isSidenavElement\"\n [attr.aria-label]=\"element.ariaLabel\"\n >\n @if (elementMenu.icon) {\n <fa-icon [icon]=\"elementMenu.icon\"></fa-icon>\n }\n {{elementMenu.name}}\n </button>\n }\n }\n}\n\n<mat-menu #menu=\"matMenu\" [overlapTrigger]=\"false\" [style.min-width.px]=\"menuWidth\">\n @for (menuElement of elementMenu.elements; track $index) {\n <div>\n <ngx-mat-navigation-element [isSidenavElement]=\"internalIsSidenavElement\" [sidenav]=\"sidenav\" [isMenuItem]=\"true\" [element]=\"menuElement\" (click)=\"clickSidenavElement(menuElement)\">\n </ngx-mat-navigation-element>\n </div>\n }\n</mat-menu>","import { CommonModule } from '@angular/common';\nimport { Component, EnvironmentInjector, Input, runInInjectionContext } from '@angular/core';\nimport { MatToolbarModule } from '@angular/material/toolbar';\n\nimport { FooterRow, NavFooterElement } from '../../models/footer.model';\nimport { NavElement, NavElementPosition } from '../../models/nav-element.model';\nimport { NavElementComponent } from '../nav-element/nav-element.component';\n\n/**\n * Displays a footer based on the provided input data.\n */\n@Component({\n selector: 'ngx-mat-navigation-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatToolbarModule,\n NavElementComponent\n ]\n})\nexport class NgxMatNavigationFooterComponent {\n\n /**\n * The minimum height of the footer.\n */\n @Input()\n minHeight!: number;\n\n /**\n * The footer rows to build the footer from.\n */\n @Input()\n footerRows!: FooterRow[];\n\n constructor(private readonly injector: EnvironmentInjector) {}\n\n /**\n * Gets the footer elements for the given row at the provided position.\n * @param row - The row to get the elements for.\n * @param position - Where in the footer the elements are positioned.\n * @returns An array of the resolved footer elements.\n */\n getFooterElements(row: FooterRow, position: NavElementPosition): NavFooterElement[] {\n let res: NavFooterElement[] = [];\n res = res.concat(row.elements);\n res = res.filter(e => this.checkCondition(e));\n\n if (position === 'left') {\n return res.filter(e => e.position == undefined || e.position === position);\n }\n return res.filter(e => e.position === position);\n }\n\n private checkCondition(element: NavElement): boolean {\n if (element.condition == undefined) {\n return true;\n }\n // runInInjectionContext(...) is needed to enable the user to use injections in his condition functions.\n return runInInjectionContext(this.injector, () => element.condition ? element.condition() : true);\n }\n}","<!-- eslint-disable angular/no-call-expression -->\n<footer [style.min-height.px]=\"minHeight\">\n @for (row of footerRows; track $index) {\n <div class=\"footer-row\">\n <div class=\"footer-col\" id=\"left\">\n @for (element of getFooterElements(row, 'left'); track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"footer-col\" id=\"center\">\n @for (element of getFooterElements(row, 'center'); track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"footer-col\" id=\"right\">\n @for (element of getFooterElements(row, 'right'); track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n </div>\n }\n</footer>","import { EnvironmentInjector, Injectable } from '@angular/core';\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\n\nimport { NavElementTypes } from '../models/nav-element.model';\nimport { NavInternalLink } from '../models/nav-link.model';\nimport { DefaultNavRouteDataType, NavAnchor } from '../models/nav-route.model';\nimport { NavbarRow } from '../models/navbar.model';\n\n/**\n * The service that contains information and functionality about he navigation data.\n */\n@Injectable({ providedIn: 'root' })\nexport class NgxMatNavigationService {\n\n /**\n * The subject of the anchors of the current page.\n */\n readonly anchorsSubject: BehaviorSubject<NavAnchor[]> = new BehaviorSubject<NavAnchor[]>([]);\n\n private get currentRoute(): string {\n return this.router.url.split('#')[0];\n }\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * The anchor row, dynamically generated from the current route.\n */\n get anchorRow(): NavbarRow {\n const elements: NavInternalLink[] = this.anchorsSubject.value.map(a => {\n return {\n type: NavElementTypes.INTERNAL_LINK,\n route: this.currentRoute,\n collapse: 'never',\n ...a\n };\n });\n return {\n elements: elements\n };\n }\n\n constructor(private readonly injector: EnvironmentInjector, private readonly router: Router) {\n this.router.events.subscribe(e => {\n if (e instanceof NavigationEnd) {\n let route: ActivatedRoute | null = this.router.routerState.root.firstChild;\n while (route?.firstChild) {\n route = route.firstChild;\n }\n const data: DefaultNavRouteDataType | undefined = route?.snapshot.data;\n this.anchorsSubject.next(data?.anchors ?? []);\n }\n });\n }\n\n}","import { CommonModule } from '@angular/common';\nimport { AfterContentChecked, Component, ElementRef, EnvironmentInjector, HostListener, Inject, InjectionToken, Input, runInInjectionContext, ViewChild } from '@angular/core';\nimport { MatSidenav, MatSidenavModule } from '@angular/material/sidenav';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\nimport { faBars } from '@fortawesome/free-solid-svg-icons';\n\nimport { NavElement, NavElementPosition, NavElementTypes } from '../../models/nav-element.model';\nimport { NavbarRow } from '../../models/navbar.model';\nimport { NgxMatNavigationService } from '../../services/nav.service';\nimport { NavElementComponent } from '../nav-element/nav-element.component';\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport const NGX_BURGER_MENU_ARIA_LABEL: InjectionToken<string> = new InjectionToken<string>(\n 'Provider for the burger menu aria label. Default: \"Open Sidenav\"',\n {\n providedIn: 'root',\n factory: () => 'Open Sidenav'\n }\n);\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nexport const NGX_BURGER_MENU_ICON: InjectionToken<IconDefinition> = new InjectionToken<IconDefinition>(\n 'Provider for the burger menu icon. Default: \"faBars\"',\n {\n providedIn: 'root',\n factory: () => faBars\n }\n);\n\n/**\n * The navbar component.\n * Takes in your configuration and builds a toolbar as well as a sidenav accordingly.\n * Also handles responsiveness.\n */\n@Component({\n selector: 'ngx-mat-navigation-navbar',\n templateUrl: './navbar.component.html',\n styleUrls: ['./navbar.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatToolbarModule,\n NavElementComponent,\n MatSidenavModule\n ]\n})\nexport class NgxMatNavigationNavbarComponent implements AfterContentChecked {\n /**\n * The navbar rows to build the navbar from.\n */\n @Input()\n navbarRows!: NavbarRow[];\n\n /**\n * The minimum height of the navbar.\n */\n @Input()\n minHeight?: number;\n\n /**\n * The minimum height of all other elements that are on the same level as the navbar component.\n */\n @Input()\n minHeightOtherElements?: number;\n\n /**\n * The minimum width of the sidenav.\n */\n @Input()\n minSidenavWidth?: string;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n @ViewChild('sidenav')\n sidenav?: MatSidenav;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n @ViewChild('navbar', { read: ElementRef })\n navbar?: ElementRef<HTMLElement>;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n burgerMenu!: NavElement;\n\n /**\n * The minimum height of the navbar in sanitized.\n */\n sanitizedMinHeight!: SafeStyle;\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * All navbar rows, including the anchor row from the nav service.\n */\n get allNavbarRows(): NavbarRow[] {\n return [\n ...this.navbarRows,\n this.navService.anchorRow\n ];\n }\n\n // eslint-disable-next-line jsdoc/require-returns\n /**\n * All sidenav elements which conditions are fulfilled.\n */\n get sidenavElements(): NavElement[] {\n const res: NavElement[] = [];\n // anchorRow is excluded from sidenav\n for (const row of this.navbarRows) {\n res.push(...row.elements.filter(e => this.checkCondition(e)));\n }\n return res;\n }\n\n constructor(\n private readonly sanitizer: DomSanitizer,\n public navService: NgxMatNavigationService,\n @Inject(NGX_BURGER_MENU_ICON)\n private readonly burgerMenuIcon: IconDefinition,\n @Inject(NGX_BURGER_MENU_ARIA_LABEL)\n private readonly burgerMenuAriaLabel: string,\n private readonly injector: EnvironmentInjector\n ) {\n this.burgerMenu = {\n type: NavElementTypes.BUTTON_FLAT,\n name: '',\n icon: this.burgerMenuIcon,\n action: () => this.sidenav?.toggle(),\n collapse: 'never',\n ariaLabel: this.burgerMenuAriaLabel\n };\n }\n\n /**\n * Gets thee navbar elements for the row with the given index at the given position.\n * @param row - The index of the row to get the elements for.\n * @param position - Where in the row the elements are positioned.\n * @returns An array of the resolved navbar elements.\n */\n getNavbarElements(row: NavbarRow, position: NavElementPosition): NavElement[] {\n return row.elements.filter(e => {\n return ((e.position === position) || (e.position == undefined && position === 'left'))\n && this.checkCondition(e);\n });\n }\n\n private checkCondition(element: NavElement): boolean {\n if (!element.condition) {\n return true;\n }\n // runInInjectionContext(...) is needed to enable the user to use injections in his condition functions.\n return runInInjectionContext(this.injector, () => element.condition ? element.condition() : true);\n }\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n getElementClass(element: NavElement): string {\n return `collapse-${element.collapse ?? 'sm'}`;\n }\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n getBurgerMenuClass(): string {\n if (this.sidenavElements.find(e => e.collapse === 'always')) {\n return 'burger-always';\n }\n if (this.sidenavElements.find(e => e.collapse === 'lg')) {\n return 'burger-lg';\n }\n if (this.sidenavElements.find(e => e.collapse === 'md')) {\n return 'burger-md';\n }\n if (this.sidenavElements.find(e => e.collapse === 'sm' || e.collapse === undefined)) {\n return 'burger-sm';\n }\n return 'burger-never';\n }\n\n ngAfterContentChecked(): void {\n this.updateHeights();\n }\n\n private updateHeights(): void {\n if (this.minHeight && typeof this.minHeight !== 'number') {\n throw new Error('Incorrect input data');\n }\n if (this.minHeightOtherElements && typeof this.minHeightOtherElements !== 'number') {\n throw new Error('Incorrect input data');\n }\n if (!this.navbar) {\n return;\n }\n if (!this.minHeight || (this.navbar.nativeElement.offsetHeight > this.minHeight)) {\n this.sanitizedMinHeight = this.sanitizer.bypassSecurityTrustStyle(\n `calc(100vh - ${this.navbar.nativeElement.offsetHeight + (this.minHeightOtherElements ?? 0)}px)`\n );\n return;\n }\n this.sanitizedMinHeight = this.sanitizer.bypassSecurityTrustStyle(\n `calc(100vh - ${(this.minHeight ?? 0) + (this.minHeightOtherElements ?? 0)}px)`\n );\n }\n\n /**\n * Updates the current screen width and filters the sidenav elements accordingly.\n * @throws When no height data is provided or the data is invalid.\n */\n @HostListener('window:resize', ['$event'])\n onResize(): void {\n this.updateHeights();\n if (this.sidenav?.opened === true) {\n void this.sidenav.close();\n }\n }\n\n /**\n * Defines if the sidenav should be closed when the given element is clicked.\n * @param element - The element that has been clicked.\n */\n async clickSidenavElement(element: NavElement): Promise<void> {\n switch (element.type) {\n case NavElementTypes.TITLE:\n case NavElementTypes.IMAGE:\n case NavElementTypes.MENU:\n case NavElementTypes.CUSTOM: {\n return;\n }\n default: {\n await this.sidenav?.close();\n }\n }\n }\n}","<!-- eslint-disable angular/no-call-expression -->\n\n@if (allNavbarRows.length > 1) {\n <mat-toolbar #navbar id=\"toolbar\" class=\"mat-elevation-z8\" [style.min-height.px]=\"minHeight ?? 0\">\n @for (row of navbarRows; track $index) {\n <mat-toolbar-row class=\"toolbar-row\">\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(row, 'left'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(row, 'center'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(row, 'right'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n @if ($index === 0) {\n <ngx-mat-navigation-element [class]=\"getBurgerMenuClass()\" [element]=\"burgerMenu\"></ngx-mat-navigation-element>\n }\n </div>\n </mat-toolbar-row>\n }\n @if (navService.anchorRow.elements.length) {\n <mat-toolbar-row class=\"anchor-row\">\n @for (element of navService.anchorRow.elements; track $index) {\n <ngx-mat-navigation-element [element]=\"element\"></ngx-mat-navigation-element>\n }\n </mat-toolbar-row>\n }\n </mat-toolbar>\n}\n@else {\n <mat-toolbar #navbar id=\"toolbar\" class=\"mat-elevation-z8\" [style.min-height.px]=\"minHeight ?? 0\">\n <div class=\"toolbar-row\">\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(navbarRows[0], 'left'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(navbarRows[0], 'center'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n </div>\n <div class=\"toolbar-col\">\n @for (element of getNavbarElements(navbarRows[0], 'right'); track $index) {\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [element]=\"element\"></ngx-mat-navigation-element>\n }\n <ngx-mat-navigation-element [class]=\"getBurgerMenuClass()\" [element]=\"burgerMenu\"></ngx-mat-navigation-element>\n </div>\n </div>\n </mat-toolbar>\n}\n\n<mat-sidenav-container [style.min-height]=\"sanitizedMinHeight\">\n <mat-sidenav #sidenav position=\"end\" [style.min-width]=\"minSidenavWidth\" [autoFocus]=\"false\">\n @for (element of sidenavElements; track $index) {\n <div class=\"sidenav-row\">\n <ngx-mat-navigation-element [class]=\"getElementClass(element)\" [sidenav]=\"sidenav\" [isSidenavElement]=\"true\" [element]=\"element\" (click)=\"clickSidenavElement(element)\"></ngx-mat-navigation-element>\n </div>\n }\n </mat-sidenav>\n <mat-sidenav-content>\n <ng-content></ng-content>\n </mat-sidenav-content>\n</mat-sidenav-container>","import { CommonModule } from '@angular/common';\nimport { Component, Input, OnInit } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { ActivatedRoute, RouterModule } from '@angular/router';\n\nimport { PageNotFoundConfig } from '../../models/page-not-found-config.model';\n\n/**\n * A default 404 Not found page to display when the user tries to access an unknown resource.\n */\n@Component({\n selector: 'ngx-mat-navigation-not-found',\n templateUrl: './not-found.component.html',\n styleUrls: ['./not-found.component.scss'],\n standalone: true,\n imports: [\n CommonModule,\n MatButtonModule,\n RouterModule\n ]\n})\nexport class NgxMatNavigationNotFoundComponent implements OnInit {\n /**\n * The custom configuration for the 404 Page.\n * You can alternatively define this on the data of the route with the key 'pageNotFoundData'.\n */\n @Input()\n config?: PageNotFoundConfig;\n\n // eslint-disable-next-line jsdoc/require-jsdoc\n title!: string;\n // eslint-disable-next-line jsdoc/require-jsdoc\n message!: string;\n // eslint-disable-next-line jsdoc/require-jsdoc\n buttonLabel!: string;\n // eslint-disable-next-line jsdoc/require-jsdoc\n homeRoute!: string;\n\n constructor(private readonly route: ActivatedRoute) {}\n\n ngOnInit(): void {\n const routeData: PageNotFoundConfig | undefined = this.route.snapshot.data['pageNotFoundConfig'] as PageNotFoundConfig | undefined;\n this.title = this.config?.title ?? routeData?.title ?? 'Page not found';\n this.message = this.config?.message\n ?? routeData?.message\n ?? 'The page you are looking for might have been removed, had its name changed or is temporarily unavailable.';\n this.buttonLabel = this.config?.buttonLabel ?? routeData?.buttonLabel ?? 'Homepage';\n this.homeRoute = this.config?.homeRoute ?? routeData?.homeRoute ?? '/';\n }\n}","<div>\n <h1>404</h1>\n <h2>{{title}}</h2>\n <p>\n {{message}}\n </p>\n <a mat-raised-button [routerLink]=\"homeRoute\">{{buttonLabel}}</a>\n</div>","import { Route } from '@angular/router';\nimport { IconDefinition } from '@fortawesome/angular-fontawesome';\n\nimport { BaseNavElement, NavElementTypes } from './nav-element.model';\nimport { NavRoute } from './nav-route.model';\n\n/**\n * The base abstract definition for internal and external links.\n */\nexport abstract class NavLink extends BaseNavElement {\n /**\n * The name to display for the link.\n */\n name!: string;\n /**\n * An icon to display left of the link.\n */\n icon?: IconDefinition;\n /**\n * Whether or not the link should be opened in a new tab.\n */\n openInNewTab?: boolean;\n}\n\n/**\n * The definition for an internal route.\n */\nexport interface NavInternalLink<RouteType extends Route = NavRoute> extends NavLink {\n // eslint-disable-next-line jsdoc/require-jsdoc\n type: NavElementTypes.INTERNAL_LINK,\n /**\n * The route of the Link. Can be either an angular route or a simple string.\n */\n route: RouteType | string,\n /**\n * The fragment of the route used for anchor scrolling.\n */\n fragment?: string\n}\n\n/**\n * The definition for an external link.\n */\nexport interface NavExternalLink extends NavLink {\n // eslint-disable-next-line jsdoc/require-jsdoc\n type: NavElementTypes.EXTERNAL_LINK,\n /**\n * The url of the link.\n */\n url: string\n}","/*\n * Public API Surface of ngx-material-navigation\n */\nexport * from './components/footer/footer.component';\nexport * from './components/navbar/navbar.component';\nexport * from './components/not-found/not-found.component';\nexport * from './components/nav-element/base-nav-element.component';\nexport * from './models/footer.model';\nexport * from './models/nav-button.model';\nexport * from './models/nav-custom.model';\nexport * from './models/nav-image.model';\nexport * from './models/nav-link.model';\nexport * from './models/nav-menu.model';\nexport * from './models/nav-route.model';\nexport * from './models/nav-title.model';\nexport * from './models/nav-element.model';\nexport * from './models/navbar.model';\nexport * from './models/page-not-found-config.model';\nexport * from './utilities/nav.utilities';","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i2.NgxMatNavigationService"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-material-navigation",
3
- "version": "18.1.3",
3
+ "version": "18.1.4",
4
4
  "license": "MIT",
5
5
  "keywords": [
6
6
  "angular",