ngx-material-navigation 0.0.1 → 1.0.0
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.
- package/components/footer/footer-element/footer-element.component.d.ts +30 -0
- package/components/footer/footer-element/footer-element.module.d.ts +12 -0
- package/components/footer/footer.component.d.ts +10 -4
- package/components/footer/footer.module.d.ts +3 -1
- package/components/navbar/nav-element/nav-element.component.d.ts +7 -2
- package/components/navbar/nav-menu/nav-menu.component.d.ts +12 -1
- package/components/navbar/navbar.component.d.ts +12 -7
- package/components/navbar/navbar.module.d.ts +1 -1
- package/esm2020/components/footer/footer-element/footer-element.component.mjs +55 -0
- package/esm2020/components/footer/footer-element/footer-element.module.mjs +38 -0
- package/esm2020/components/footer/footer.component.mjs +15 -8
- package/esm2020/components/footer/footer.module.mjs +15 -7
- package/esm2020/components/navbar/nav-element/nav-element.component.mjs +19 -11
- package/esm2020/components/navbar/nav-menu/nav-menu.component.mjs +29 -10
- package/esm2020/components/navbar/navbar.component.mjs +35 -14
- package/esm2020/components/navbar/navbar.module.mjs +6 -6
- package/esm2020/models/footer.model.mjs +2 -0
- package/esm2020/models/nav-html.model.mjs +2 -0
- package/esm2020/models/nav-menu.model.mjs +1 -1
- package/esm2020/models/nav.model.mjs +1 -1
- package/esm2020/public-api.mjs +3 -1
- package/esm2020/utilities/nav.utilities.mjs +63 -11
- package/fesm2015/ngx-material-navigation.mjs +239 -57
- package/fesm2015/ngx-material-navigation.mjs.map +1 -1
- package/fesm2020/ngx-material-navigation.mjs +239 -57
- package/fesm2020/ngx-material-navigation.mjs.map +1 -1
- package/models/footer.model.d.ts +33 -0
- package/models/nav-html.model.d.ts +14 -0
- package/models/nav-menu.model.d.ts +2 -1
- package/models/nav.model.d.ts +3 -2
- package/package.json +9 -1
- package/public-api.d.ts +2 -0
- package/utilities/nav.utilities.d.ts +39 -12
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AfterContentChecked, OnInit } from '@angular/core';
|
|
2
|
+
import { NavUtilities } from '../../../utilities/nav.utilities';
|
|
3
|
+
import { MatButton } from '@angular/material/button';
|
|
4
|
+
import { NavFooterElement } from '../../../models/footer.model';
|
|
5
|
+
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
/**
|
|
8
|
+
* Displays a single Navigation Element.
|
|
9
|
+
*/
|
|
10
|
+
export declare class FooterElementComponent implements AfterContentChecked, OnInit {
|
|
11
|
+
private readonly sanitizer;
|
|
12
|
+
NavUtilities: typeof NavUtilities;
|
|
13
|
+
/**
|
|
14
|
+
* The element to display.
|
|
15
|
+
*/
|
|
16
|
+
element: NavFooterElement;
|
|
17
|
+
sanitizedHtml?: SafeHtml;
|
|
18
|
+
menuButton: MatButton;
|
|
19
|
+
menuWidth: number;
|
|
20
|
+
constructor(sanitizer: DomSanitizer);
|
|
21
|
+
ngOnInit(): void;
|
|
22
|
+
ngAfterContentChecked(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Updates the width of the menu to the value of its button.
|
|
25
|
+
*/
|
|
26
|
+
onResize(): void;
|
|
27
|
+
private getMenuWidth;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FooterElementComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FooterElementComponent, "ngx-mat-navigation-footer-element", never, { "element": "element"; }, {}, never, never>;
|
|
30
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./footer-element.component";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/router";
|
|
5
|
+
import * as i4 from "@angular/material/menu";
|
|
6
|
+
import * as i5 from "@angular/material/button";
|
|
7
|
+
import * as i6 from "../../navbar/nav-menu/nav-menu.module";
|
|
8
|
+
export declare class FooterElementModule {
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FooterElementModule, never>;
|
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FooterElementModule, [typeof i1.FooterElementComponent], [typeof i2.CommonModule, typeof i3.RouterModule, typeof i4.MatMenuModule, typeof i5.MatButtonModule, typeof i6.NavMenuModule], [typeof i1.FooterElementComponent]>;
|
|
11
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FooterElementModule>;
|
|
12
|
+
}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
|
+
import { FooterRow } from '../../models/footer.model';
|
|
2
|
+
import { NavUtilities } from '../../utilities/nav.utilities';
|
|
1
3
|
import * as i0 from "@angular/core";
|
|
2
4
|
/**
|
|
3
5
|
* Displays a footer based on the provided input data.
|
|
4
6
|
*/
|
|
5
|
-
export declare class
|
|
7
|
+
export declare class NgxMatNavigationFooterComponent {
|
|
8
|
+
NavUtilities: typeof NavUtilities;
|
|
6
9
|
/**
|
|
7
10
|
* The minimum height of the footer.
|
|
8
11
|
*/
|
|
9
12
|
minHeight: number;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
/**
|
|
14
|
+
* The footer rows to build the footer from.
|
|
15
|
+
*/
|
|
16
|
+
footerRows: FooterRow[];
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationFooterComponent, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationFooterComponent, "ngx-mat-navigation-footer", never, { "minHeight": "minHeight"; "footerRows": "footerRows"; }, {}, never, never>;
|
|
13
19
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./footer.component";
|
|
3
3
|
import * as i2 from "@angular/common";
|
|
4
|
+
import * as i3 from "@angular/material/toolbar";
|
|
5
|
+
import * as i4 from "./footer-element/footer-element.module";
|
|
4
6
|
export declare class NgxMatNavigationFooterModule {
|
|
5
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationFooterModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatNavigationFooterModule, [typeof i1.
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatNavigationFooterModule, [typeof i1.NgxMatNavigationFooterComponent], [typeof i2.CommonModule, typeof i3.MatToolbarModule, typeof i4.FooterElementModule], [typeof i1.NgxMatNavigationFooterComponent]>;
|
|
7
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatNavigationFooterModule>;
|
|
8
10
|
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { AfterContentChecked } from '@angular/core';
|
|
1
|
+
import { AfterContentChecked, OnInit } from '@angular/core';
|
|
2
2
|
import { NavElement } from '../../../models/nav.model';
|
|
3
3
|
import { NavUtilities } from '../../../utilities/nav.utilities';
|
|
4
4
|
import { MatSidenav } from '@angular/material/sidenav';
|
|
5
5
|
import { MatButton } from '@angular/material/button';
|
|
6
|
+
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
/**
|
|
8
9
|
* Displays a single Navigation Element.
|
|
9
10
|
*/
|
|
10
|
-
export declare class NavElementComponent implements AfterContentChecked {
|
|
11
|
+
export declare class NavElementComponent implements AfterContentChecked, OnInit {
|
|
12
|
+
private readonly sanitizer;
|
|
11
13
|
NavUtilities: typeof NavUtilities;
|
|
12
14
|
/**
|
|
13
15
|
* The element to display.
|
|
14
16
|
*/
|
|
15
17
|
element: NavElement;
|
|
18
|
+
sanitizedHtml?: SafeHtml;
|
|
16
19
|
/**
|
|
17
20
|
* A reference to the sidenav. Is needed for the menu to close the sidenav.
|
|
18
21
|
*/
|
|
@@ -24,6 +27,8 @@ export declare class NavElementComponent implements AfterContentChecked {
|
|
|
24
27
|
sidenavElement?: boolean;
|
|
25
28
|
menuButton: MatButton;
|
|
26
29
|
menuWidth: number;
|
|
30
|
+
constructor(sanitizer: DomSanitizer);
|
|
31
|
+
ngOnInit(): void;
|
|
27
32
|
ngAfterContentChecked(): void;
|
|
28
33
|
/**
|
|
29
34
|
* Updates the width of the menu to the value of its button.
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { AfterContentChecked } from '@angular/core';
|
|
2
2
|
import { MatMenu } from '@angular/material/menu';
|
|
3
|
-
import { NavMenu, NavMenuElement } from
|
|
3
|
+
import { NavMenu, NavMenuElement } from '../../../models/nav-menu.model';
|
|
4
4
|
import { NavUtilities } from '../../../utilities/nav.utilities';
|
|
5
5
|
import { MatSidenav } from '@angular/material/sidenav';
|
|
6
6
|
import { MatButton } from '@angular/material/button';
|
|
7
|
+
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
/**
|
|
9
10
|
* Displays a menu based on the provided NavMenu data.
|
|
10
11
|
*/
|
|
11
12
|
export declare class NavMenuComponent implements AfterContentChecked {
|
|
13
|
+
private readonly sanitizer;
|
|
12
14
|
menu: MatMenu;
|
|
13
15
|
/**
|
|
14
16
|
* The data that is used to generate the menu.
|
|
@@ -25,12 +27,21 @@ export declare class NavMenuComponent implements AfterContentChecked {
|
|
|
25
27
|
NavUtilities: typeof NavUtilities;
|
|
26
28
|
nestedMenuButton: MatButton;
|
|
27
29
|
nestedMenuWidth: number;
|
|
30
|
+
constructor(sanitizer: DomSanitizer);
|
|
28
31
|
ngAfterContentChecked(): void;
|
|
29
32
|
/**
|
|
30
33
|
* Updates the width of the nestedMenu.
|
|
31
34
|
*/
|
|
32
35
|
onResize(): void;
|
|
33
36
|
private getMenuWidth;
|
|
37
|
+
/**
|
|
38
|
+
* Gets the sanitized HTML for the given element.
|
|
39
|
+
*
|
|
40
|
+
* @param element - The NavHtml element.
|
|
41
|
+
* @returns The safe html.
|
|
42
|
+
* @throws When the given element is not html.
|
|
43
|
+
*/
|
|
44
|
+
getSanitizedHtmlFor(element: NavMenuElement): SafeHtml;
|
|
34
45
|
/**
|
|
35
46
|
* Defines if the sidenav should be closed when the given element is clicked.
|
|
36
47
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnInit } from '@angular/core';
|
|
1
|
+
import { AfterContentChecked, ElementRef, OnInit } from '@angular/core';
|
|
2
2
|
import { MatSidenav } from '@angular/material/sidenav';
|
|
3
3
|
import { DomSanitizer, SafeStyle } from '@angular/platform-browser';
|
|
4
4
|
import { NavElement } from '../../models/nav.model';
|
|
@@ -10,8 +10,8 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
* Takes in your configuration and builds a toolbar as well as a sidenav accordingly.
|
|
11
11
|
* Also handles responsiveness.
|
|
12
12
|
*/
|
|
13
|
-
export declare class
|
|
14
|
-
sanitizer
|
|
13
|
+
export declare class NgxMatNavigationNavbarComponent implements OnInit, AfterContentChecked {
|
|
14
|
+
private readonly sanitizer;
|
|
15
15
|
NavUtilities: typeof NavUtilities;
|
|
16
16
|
/**
|
|
17
17
|
* The navbar rows to build the navbar from.
|
|
@@ -20,16 +20,17 @@ export declare class NavbarComponent implements OnInit {
|
|
|
20
20
|
/**
|
|
21
21
|
* The minimum height of the navbar.
|
|
22
22
|
*/
|
|
23
|
-
minHeight
|
|
23
|
+
minHeight?: number;
|
|
24
24
|
/**
|
|
25
25
|
* The minimum height of all other elements that are on the same level as the navbar component.
|
|
26
26
|
*/
|
|
27
|
-
minHeightOtherElements
|
|
27
|
+
minHeightOtherElements?: number;
|
|
28
28
|
/**
|
|
29
29
|
* The minimum width of the sidenav.
|
|
30
30
|
*/
|
|
31
31
|
minSidenavWidth?: string;
|
|
32
32
|
sidenav: MatSidenav;
|
|
33
|
+
navbar: ElementRef<HTMLElement>;
|
|
33
34
|
sidenavElements: NavElement[];
|
|
34
35
|
burgerMenu: NavElement;
|
|
35
36
|
sanitizedMinHeight: SafeStyle;
|
|
@@ -37,8 +38,12 @@ export declare class NavbarComponent implements OnInit {
|
|
|
37
38
|
screenWidthName: 'lg' | 'md' | 'sm';
|
|
38
39
|
constructor(sanitizer: DomSanitizer);
|
|
39
40
|
ngOnInit(): void;
|
|
41
|
+
ngAfterContentChecked(): void;
|
|
42
|
+
private updateHeights;
|
|
40
43
|
/**
|
|
41
44
|
* Updates the current screen width and filters the sidenav elements accordingly.
|
|
45
|
+
*
|
|
46
|
+
* @throws When no height data is provided or the data is invalid.
|
|
42
47
|
*/
|
|
43
48
|
onResize(): void;
|
|
44
49
|
/**
|
|
@@ -48,6 +53,6 @@ export declare class NavbarComponent implements OnInit {
|
|
|
48
53
|
*/
|
|
49
54
|
clickSidenavElement(element: NavElement): void;
|
|
50
55
|
private getCurrentScreenWidth;
|
|
51
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
52
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<
|
|
56
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationNavbarComponent, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxMatNavigationNavbarComponent, "ngx-mat-navigation-navbar", never, { "navbarRows": "navbarRows"; "minHeight": "minHeight"; "minHeightOtherElements": "minHeightOtherElements"; "minSidenavWidth": "minSidenavWidth"; }, {}, never, ["*"]>;
|
|
53
58
|
}
|
|
@@ -6,6 +6,6 @@ import * as i4 from "./nav-element/nav-element.module";
|
|
|
6
6
|
import * as i5 from "@angular/material/sidenav";
|
|
7
7
|
export declare class NgxMatNavigationNavbarModule {
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxMatNavigationNavbarModule, never>;
|
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatNavigationNavbarModule, [typeof i1.
|
|
9
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgxMatNavigationNavbarModule, [typeof i1.NgxMatNavigationNavbarComponent], [typeof i2.CommonModule, typeof i3.MatToolbarModule, typeof i4.NavElementModule, typeof i5.MatSidenavModule], [typeof i1.NgxMatNavigationNavbarComponent]>;
|
|
10
10
|
static ɵinj: i0.ɵɵInjectorDeclaration<NgxMatNavigationNavbarModule>;
|
|
11
11
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Component, HostListener, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { NavUtilities } from '../../../utilities/nav.utilities';
|
|
3
|
+
import * as DOMPurify from 'dompurify';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/platform-browser";
|
|
6
|
+
import * as i2 from "@angular/material/menu";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "../../navbar/nav-menu/nav-menu.component";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
import * as i6 from "@angular/router";
|
|
11
|
+
/**
|
|
12
|
+
* Displays a single Navigation Element.
|
|
13
|
+
*/
|
|
14
|
+
export class FooterElementComponent {
|
|
15
|
+
constructor(sanitizer) {
|
|
16
|
+
this.sanitizer = sanitizer;
|
|
17
|
+
this.NavUtilities = NavUtilities;
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
if (NavUtilities.isNavHtml(this.element)) {
|
|
21
|
+
this.sanitizedHtml = this.sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(NavUtilities.asHtml(this.element).html));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
ngAfterContentChecked() {
|
|
25
|
+
if (this.menuButton) {
|
|
26
|
+
this.menuWidth = this.getMenuWidth();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Updates the width of the menu to the value of its button.
|
|
31
|
+
*/
|
|
32
|
+
onResize() {
|
|
33
|
+
if (this.menuButton) {
|
|
34
|
+
this.menuWidth = this.getMenuWidth();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
getMenuWidth() {
|
|
38
|
+
return this.menuButton._elementRef.nativeElement.offsetWidth;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
FooterElementComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterElementComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
+
FooterElementComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FooterElementComponent, selector: "ngx-mat-navigation-footer-element", inputs: { element: "element" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menuButton"], descendants: true }], ngImport: i0, template: "<span [ngSwitch]=\"element.type\">\r\n <!-- Title -->\r\n <b *ngSwitchCase=\"'title'\">\r\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\r\n {{NavUtilities.asTitle(element).title}}\r\n </b>\r\n <!-- Title with internal link -->\r\n <a id=\"title-link\" *ngSwitchCase=\"'titleWithInternalLink'\"\r\n [routerLink]=\"\r\n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\r\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\r\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\r\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <b>\r\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\r\n {{NavUtilities.asTitle(element).title}}\r\n </b>\r\n </a>\r\n <!-- Title with external link -->\r\n <a class=\"title-link\" *ngSwitchCase=\"'titleWithExternalLink'\"\r\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\r\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <h1>\r\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\r\n {{NavUtilities.asTitle(element).title}}\r\n </h1>\r\n </a>\r\n <!-- Image -->\r\n <img mat-menu-item *ngSwitchCase=\"'image'\"\r\n [src]=\"NavUtilities.asImage(element).url\"\r\n >\r\n <!-- Image with internal link -->\r\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithInternalLink'\"\r\n [routerLink]=\"\r\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\r\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\r\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\r\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\r\n </a>\r\n <!-- Image with external link -->\r\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithExternalLink'\"\r\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\r\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\r\n </a>\r\n <!-- Button -->\r\n <button *ngSwitchCase=\"'button'\"\r\n mat-raised-button\r\n (click)=\"NavUtilities.asButton(element).action()\"\r\n >\r\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\r\n {{NavUtilities.asButton(element).name}}\r\n </button>\r\n <!-- Internal Link -->\r\n <a mat-button *ngSwitchCase=\"'internalLink'\"\r\n [routerLink]=\"\r\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\r\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\r\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\r\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [class]=\"NavUtilities.asInternalLink(element).icon\"></i> \r\n {{NavUtilities.asInternalLink(element).name}}\r\n </a>\r\n <!-- External Link -->\r\n <span *ngSwitchCase=\"'externalLink'\">\r\n <a mat-button\r\n [href]=\"NavUtilities.asExternalLink(element).url\"\r\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [class]=\"NavUtilities.asExternalLink(element).icon\"></i>\r\n {{NavUtilities.asExternalLink(element).name}}\r\n </a>\r\n </span>\r\n <!-- Text -->\r\n <span *ngSwitchCase=\"'text'\">\r\n {{NavUtilities.asText(element).text}}\r\n </span>\r\n <!-- Custom HTML -->\r\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\r\n </span>\r\n <!-- Menu -->\r\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\">\r\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [class]=\"NavUtilities.asMenu(element).icon\"></i>\r\n {{NavUtilities.asMenu(element).name}}\r\n </button>\r\n <ngx-mat-navigation-menu #menu [navMenu]=\"NavUtilities.asMenu(element)\" [menuWidth]=\"menuWidth\">\r\n </ngx-mat-navigation-menu>\r\n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"], components: [{ type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i3.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i4.NavMenuComponent, selector: "ngx-mat-navigation-menu", inputs: ["navMenu", "sidenav", "menuWidth"] }], directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }] });
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterElementComponent, decorators: [{
|
|
44
|
+
type: Component,
|
|
45
|
+
args: [{ selector: 'ngx-mat-navigation-footer-element', template: "<span [ngSwitch]=\"element.type\">\r\n <!-- Title -->\r\n <b *ngSwitchCase=\"'title'\">\r\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\r\n {{NavUtilities.asTitle(element).title}}\r\n </b>\r\n <!-- Title with internal link -->\r\n <a id=\"title-link\" *ngSwitchCase=\"'titleWithInternalLink'\"\r\n [routerLink]=\"\r\n NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path !== undefined\r\n ? NavUtilities.asAngularRoute(NavUtilities.asTitleWithInternalLink(element).link.route).path\r\n : NavUtilities.asStringRoute(NavUtilities.asTitleWithInternalLink(element).link.route)\"\r\n [target]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asTitleWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <b>\r\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\r\n {{NavUtilities.asTitle(element).title}}\r\n </b>\r\n </a>\r\n <!-- Title with external link -->\r\n <a class=\"title-link\" *ngSwitchCase=\"'titleWithExternalLink'\"\r\n [href]=\"NavUtilities.asTitleWithExternalLink(element).link.url\"\r\n [target]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asTitleWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <h1>\r\n <i *ngIf=\"NavUtilities.asTitle(element).icon\" [class]=\"NavUtilities.asTitle(element).icon\"></i>\r\n {{NavUtilities.asTitle(element).title}}\r\n </h1>\r\n </a>\r\n <!-- Image -->\r\n <img mat-menu-item *ngSwitchCase=\"'image'\"\r\n [src]=\"NavUtilities.asImage(element).url\"\r\n >\r\n <!-- Image with internal link -->\r\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithInternalLink'\"\r\n [routerLink]=\"\r\n NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path !== undefined\r\n ? NavUtilities.asAngularRoute(NavUtilities.asImageWithInternalLink(element).link.route).path\r\n : NavUtilities.asStringRoute(NavUtilities.asImageWithInternalLink(element).link.route)\"\r\n [target]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asImageWithInternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <img [src]=\"NavUtilities.asImageWithInternalLink(element).url\">\r\n </a>\r\n <!-- Image with external link -->\r\n <a mat-menu-item disabled id=\"image-link\" *ngSwitchCase=\"'imageWithExternalLink'\"\r\n [href]=\"NavUtilities.asImageWithExternalLink(element).link.url\"\r\n [target]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asImageWithExternalLink(element).link.openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <img [src]=\"NavUtilities.asImageWithExternalLink(element).url\">\r\n </a>\r\n <!-- Button -->\r\n <button *ngSwitchCase=\"'button'\"\r\n mat-raised-button\r\n (click)=\"NavUtilities.asButton(element).action()\"\r\n >\r\n <i *ngIf=\"NavUtilities.asButton(element).icon\" [class]=\"NavUtilities.asButton(element).icon\"></i>\r\n {{NavUtilities.asButton(element).name}}\r\n </button>\r\n <!-- Internal Link -->\r\n <a mat-button *ngSwitchCase=\"'internalLink'\"\r\n [routerLink]=\"\r\n NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path !== undefined\r\n ? NavUtilities.asAngularRoute(NavUtilities.asInternalLink(element).route).path\r\n : NavUtilities.asStringRoute(NavUtilities.asInternalLink(element).route)\"\r\n [target]=\"NavUtilities.asInternalLink(element).openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asInternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <i *ngIf=\"NavUtilities.asInternalLink(element).icon\" [class]=\"NavUtilities.asInternalLink(element).icon\"></i> \r\n {{NavUtilities.asInternalLink(element).name}}\r\n </a>\r\n <!-- External Link -->\r\n <span *ngSwitchCase=\"'externalLink'\">\r\n <a mat-button\r\n [href]=\"NavUtilities.asExternalLink(element).url\"\r\n [target]=\"NavUtilities.asExternalLink(element).openInNewTab ? '_blank' : '_self'\"\r\n [rel]=\"NavUtilities.asExternalLink(element).openInNewTab ? 'noreferrer noopener' : undefined\"\r\n >\r\n <i *ngIf=\"NavUtilities.asExternalLink(element).icon\" [class]=\"NavUtilities.asExternalLink(element).icon\"></i>\r\n {{NavUtilities.asExternalLink(element).name}}\r\n </a>\r\n </span>\r\n <!-- Text -->\r\n <span *ngSwitchCase=\"'text'\">\r\n {{NavUtilities.asText(element).text}}\r\n </span>\r\n <!-- Custom HTML -->\r\n <span *ngSwitchCase=\"'html'\" [innerHtml]=\"sanitizedHtml\">\r\n </span>\r\n <!-- Menu -->\r\n <button #menuButton *ngSwitchCase=\"'menu'\" mat-button [matMenuTriggerFor]=\"menu.menu\">\r\n <i *ngIf=\"NavUtilities.asMenu(element).icon\" [class]=\"NavUtilities.asMenu(element).icon\"></i>\r\n {{NavUtilities.asMenu(element).name}}\r\n </button>\r\n <ngx-mat-navigation-menu #menu [navMenu]=\"NavUtilities.asMenu(element)\" [menuWidth]=\"menuWidth\">\r\n </ngx-mat-navigation-menu>\r\n</span>", styles: ["#title-link{display:flex;align-items:center;justify-content:center;color:inherit;text-decoration:none}#image-link{display:flex;align-items:center;padding:0}#image-link img{max-height:100%;max-width:100%}#image-link:hover,#title-link:hover{cursor:pointer;background-color:transparent}mat-menu{display:none}.mat-menu-panel{min-width:112px;max-width:280px;overflow:auto;-webkit-overflow-scrolling:touch;max-height:calc(100vh - 48px);border-radius:4px;outline:0;min-height:64px}.mat-menu-panel.ng-animating{pointer-events:none}.cdk-high-contrast-active .mat-menu-panel{outline:solid 1px}.mat-menu-content:not(:empty){padding-top:8px;padding-bottom:8px}.mat-menu-item{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:48px;height:48px;padding:0 16px;text-align:left;text-decoration:none;max-width:100%;position:relative}.mat-menu-item::-moz-focus-inner{border:0}.mat-menu-item[disabled]{cursor:default}[dir=rtl] .mat-menu-item{text-align:right}.mat-menu-item .mat-icon{margin-right:16px;vertical-align:middle}.mat-menu-item .mat-icon svg{vertical-align:top}[dir=rtl] .mat-menu-item .mat-icon{margin-left:16px;margin-right:0}.mat-menu-item[disabled]:before{display:block;position:absolute;content:\"\";top:0;left:0;bottom:0;right:0}.cdk-high-contrast-active .mat-menu-item{margin-top:1px}.cdk-high-contrast-active .mat-menu-item.cdk-program-focused,.cdk-high-contrast-active .mat-menu-item.cdk-keyboard-focused,.cdk-high-contrast-active .mat-menu-item-highlighted{outline:dotted 1px}.mat-menu-item-submenu-trigger{padding-right:32px}[dir=rtl] .mat-menu-item-submenu-trigger{padding-right:16px;padding-left:32px}.mat-menu-submenu-icon{position:absolute;top:50%;right:16px;transform:translateY(-50%);width:5px;height:10px;fill:currentColor}[dir=rtl] .mat-menu-submenu-icon{right:auto;left:16px;transform:translateY(-50%) scaleX(-1)}.cdk-high-contrast-active .mat-menu-submenu-icon{fill:CanvasText}button.mat-menu-item{width:100%}.mat-menu-item .mat-menu-ripple{top:0;left:0;right:0;bottom:0;position:absolute;pointer-events:none}\n"] }]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { element: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], menuButton: [{
|
|
49
|
+
type: ViewChild,
|
|
50
|
+
args: ['menuButton']
|
|
51
|
+
}], onResize: [{
|
|
52
|
+
type: HostListener,
|
|
53
|
+
args: ['window:resize', ['$event']]
|
|
54
|
+
}] } });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1lbGVtZW50L2Zvb3Rlci1lbGVtZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXItZWxlbWVudC9mb290ZXItZWxlbWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHaEUsT0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLENBQUM7Ozs7Ozs7O0FBR3ZDOztHQUVHO0FBTUgsTUFBTSxPQUFPLHNCQUFzQjtJQWlCL0IsWUFBNkIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQWZwRCxpQkFBWSxHQUFHLFlBQVksQ0FBQztJQWUyQixDQUFDO0lBRXhELFFBQVE7UUFDSixJQUFJLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDM0g7SUFDTCxDQUFDO0lBRUQscUJBQXFCO1FBQ2pCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUVILFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRU8sWUFBWTtRQUNoQixPQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLGFBQTZCLENBQUMsV0FBVyxDQUFDO0lBQ2xGLENBQUM7O29IQTNDUSxzQkFBc0I7d0dBQXRCLHNCQUFzQixpUkNmbkMsd3BMQW1HTzs0RkRwRk0sc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNJLG1DQUFtQzttR0FZN0MsT0FBTztzQkFETixLQUFLO2dCQU1OLFVBQVU7c0JBRFQsU0FBUzt1QkFBQyxZQUFZO2dCQXVCdkIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyQ29udGVudENoZWNrZWQsIENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2VXRpbGl0aWVzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL25hdi51dGlsaXRpZXMnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b24gfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBOYXZGb290ZXJFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2Zvb3Rlci5tb2RlbCc7XHJcbmltcG9ydCAqIGFzIERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG4vKipcclxuICogRGlzcGxheXMgYSBzaW5nbGUgTmF2aWdhdGlvbiBFbGVtZW50LlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25neC1tYXQtbmF2aWdhdGlvbi1mb290ZXItZWxlbWVudCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9vdGVyRWxlbWVudENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQsIE9uSW5pdCB7XHJcblxyXG4gICAgTmF2VXRpbGl0aWVzID0gTmF2VXRpbGl0aWVzO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVGhlIGVsZW1lbnQgdG8gZGlzcGxheS5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIGVsZW1lbnQhOiBOYXZGb290ZXJFbGVtZW50O1xyXG5cclxuICAgIHNhbml0aXplZEh0bWw/OiBTYWZlSHRtbDtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdtZW51QnV0dG9uJylcclxuICAgIG1lbnVCdXR0b24hOiBNYXRCdXR0b247XHJcblxyXG4gICAgbWVudVdpZHRoITogbnVtYmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKE5hdlV0aWxpdGllcy5pc05hdkh0bWwodGhpcy5lbGVtZW50KSkge1xyXG4gICAgICAgICAgICB0aGlzLnNhbml0aXplZEh0bWwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChET01QdXJpZnkuc2FuaXRpemUoTmF2VXRpbGl0aWVzLmFzSHRtbCh0aGlzLmVsZW1lbnQpLmh0bWwpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbmdBZnRlckNvbnRlbnRDaGVja2VkKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51V2lkdGggPSB0aGlzLmdldE1lbnVXaWR0aCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFVwZGF0ZXMgdGhlIHdpZHRoIG9mIHRoZSBtZW51IHRvIHRoZSB2YWx1ZSBvZiBpdHMgYnV0dG9uLlxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6cmVzaXplJywgWyckZXZlbnQnXSlcclxuICAgIG9uUmVzaXplKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm1lbnVCdXR0b24pIHtcclxuICAgICAgICAgICAgdGhpcy5tZW51V2lkdGggPSB0aGlzLmdldE1lbnVXaWR0aCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldE1lbnVXaWR0aCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiAodGhpcy5tZW51QnV0dG9uLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLm9mZnNldFdpZHRoO1xyXG4gICAgfVxyXG59IiwiPHNwYW4gW25nU3dpdGNoXT1cImVsZW1lbnQudHlwZVwiPlxyXG4gICAgPCEtLSBUaXRsZSAtLT5cclxuICAgIDxiICpuZ1N3aXRjaENhc2U9XCIndGl0bGUnXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCIgW2NsYXNzXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIj48L2k+XHJcbiAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS50aXRsZX19XHJcbiAgICA8L2I+XHJcbiAgICA8IS0tIFRpdGxlIHdpdGggaW50ZXJuYWwgbGluayAtLT5cclxuICAgIDxhIGlkPVwidGl0bGUtbGlua1wiICpuZ1N3aXRjaENhc2U9XCIndGl0bGVXaXRoSW50ZXJuYWxMaW5rJ1wiXHJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXHJcbiAgICAgICAgICAgIE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSkucGF0aCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgID8gTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKS5wYXRoXHJcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpXCJcclxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXHJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxyXG4gICAgPlxyXG4gICAgICAgIDxiPlxyXG4gICAgICAgICAgICA8aSAqbmdJZj1cIk5hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiPjwvaT5cclxuICAgICAgICAgICAge3tOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS50aXRsZX19XHJcbiAgICAgICAgPC9iPlxyXG4gICAgPC9hPlxyXG4gICAgPCEtLSBUaXRsZSB3aXRoIGV4dGVybmFsIGxpbmsgLS0+XHJcbiAgICA8YSBjbGFzcz1cInRpdGxlLWxpbmtcIiAqbmdTd2l0Y2hDYXNlPVwiJ3RpdGxlV2l0aEV4dGVybmFsTGluaydcIlxyXG4gICAgICAgIFtocmVmXT1cIk5hdlV0aWxpdGllcy5hc1RpdGxlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLnVybFwiXHJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNUaXRsZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnX2JsYW5rJyA6ICdfc2VsZidcIlxyXG4gICAgICAgIFtyZWxdPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGVXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcclxuICAgID5cclxuICAgICAgICA8aDE+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzVGl0bGUoZWxlbWVudCkuaWNvblwiIFtjbGFzc109XCJOYXZVdGlsaXRpZXMuYXNUaXRsZShlbGVtZW50KS5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RpdGxlKGVsZW1lbnQpLnRpdGxlfX1cclxuICAgICAgICA8L2gxPlxyXG4gICAgPC9hPlxyXG4gICAgPCEtLSBJbWFnZSAtLT5cclxuICAgIDxpbWcgbWF0LW1lbnUtaXRlbSAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlJ1wiXHJcbiAgICAgICAgW3NyY109XCJOYXZVdGlsaXRpZXMuYXNJbWFnZShlbGVtZW50KS51cmxcIlxyXG4gICAgPlxyXG4gICAgPCEtLSBJbWFnZSB3aXRoIGludGVybmFsIGxpbmsgLS0+XHJcbiAgICA8YSBtYXQtbWVudS1pdGVtIGRpc2FibGVkIGlkPVwiaW1hZ2UtbGlua1wiICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VXaXRoSW50ZXJuYWxMaW5rJ1wiXHJcbiAgICAgICAgW3JvdXRlckxpbmtdPVwiXHJcbiAgICAgICAgICAgIE5hdlV0aWxpdGllcy5hc0FuZ3VsYXJSb3V0ZShOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5yb3V0ZSkucGF0aCAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgID8gTmF2VXRpbGl0aWVzLmFzQW5ndWxhclJvdXRlKE5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLnJvdXRlKS5wYXRoXHJcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsucm91dGUpXCJcclxuICAgICAgICBbdGFyZ2V0XT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEludGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiXHJcbiAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkubGluay5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxyXG4gICAgPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhJbnRlcm5hbExpbmsoZWxlbWVudCkudXJsXCI+XHJcbiAgICA8L2E+XHJcbiAgICA8IS0tIEltYWdlIHdpdGggZXh0ZXJuYWwgbGluayAtLT5cclxuICAgIDxhIG1hdC1tZW51LWl0ZW0gZGlzYWJsZWQgaWQ9XCJpbWFnZS1saW5rXCIgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZVdpdGhFeHRlcm5hbExpbmsnXCJcclxuICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNJbWFnZVdpdGhFeHRlcm5hbExpbmsoZWxlbWVudCkubGluay51cmxcIlxyXG4gICAgICAgIFt0YXJnZXRdPVwiTmF2VXRpbGl0aWVzLmFzSW1hZ2VXaXRoRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmxpbmsub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcclxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS5saW5rLm9wZW5Jbk5ld1RhYiA/ICdub3JlZmVycmVyIG5vb3BlbmVyJyA6IHVuZGVmaW5lZFwiXHJcbiAgICA+XHJcbiAgICAgICAgPGltZyBbc3JjXT1cIk5hdlV0aWxpdGllcy5hc0ltYWdlV2l0aEV4dGVybmFsTGluayhlbGVtZW50KS51cmxcIj5cclxuICAgIDwvYT5cclxuICAgIDwhLS0gQnV0dG9uIC0tPlxyXG4gICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIlxyXG4gICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgICAgKGNsaWNrKT1cIk5hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5hY3Rpb24oKVwiXHJcbiAgICA+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiIFtjbGFzc109XCJOYXZVdGlsaXRpZXMuYXNCdXR0b24oZWxlbWVudCkuaWNvblwiPjwvaT5cclxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc0J1dHRvbihlbGVtZW50KS5uYW1lfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPCEtLSBJbnRlcm5hbCBMaW5rIC0tPlxyXG4gICAgPGEgbWF0LWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ludGVybmFsTGluaydcIlxyXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIlxyXG4gICAgICAgICAgICBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKS5wYXRoICE9PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgPyBOYXZVdGlsaXRpZXMuYXNBbmd1bGFyUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKS5wYXRoXHJcbiAgICAgICAgICAgIDogTmF2VXRpbGl0aWVzLmFzU3RyaW5nUm91dGUoTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLnJvdXRlKVwiXHJcbiAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNJbnRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcclxuICAgICAgICBbcmVsXT1cIk5hdlV0aWxpdGllcy5hc0ludGVybmFsTGluayhlbGVtZW50KS5vcGVuSW5OZXdUYWIgPyAnbm9yZWZlcnJlciBub29wZW5lcicgOiB1bmRlZmluZWRcIlxyXG4gICAgPlxyXG4gICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIj48L2k+IFxyXG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzSW50ZXJuYWxMaW5rKGVsZW1lbnQpLm5hbWV9fVxyXG4gICAgPC9hPlxyXG4gICAgPCEtLSBFeHRlcm5hbCBMaW5rIC0tPlxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidleHRlcm5hbExpbmsnXCI+XHJcbiAgICAgICAgPGEgbWF0LWJ1dHRvblxyXG4gICAgICAgICAgICBbaHJlZl09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkudXJsXCJcclxuICAgICAgICAgICAgW3RhcmdldF09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ19ibGFuaycgOiAnX3NlbGYnXCJcclxuICAgICAgICAgICAgW3JlbF09XCJOYXZVdGlsaXRpZXMuYXNFeHRlcm5hbExpbmsoZWxlbWVudCkub3BlbkluTmV3VGFiID8gJ25vcmVmZXJyZXIgbm9vcGVuZXInIDogdW5kZWZpbmVkXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpICpuZ0lmPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLmljb25cIj48L2k+XHJcbiAgICAgICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzRXh0ZXJuYWxMaW5rKGVsZW1lbnQpLm5hbWV9fVxyXG4gICAgICAgIDwvYT5cclxuICAgIDwvc3Bhbj5cclxuICAgIDwhLS0gVGV4dCAtLT5cclxuICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cclxuICAgICAgICB7e05hdlV0aWxpdGllcy5hc1RleHQoZWxlbWVudCkudGV4dH19XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8IS0tIEN1c3RvbSBIVE1MIC0tPlxyXG4gICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidodG1sJ1wiIFtpbm5lckh0bWxdPVwic2FuaXRpemVkSHRtbFwiPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPCEtLSBNZW51IC0tPlxyXG4gICAgPGJ1dHRvbiAjbWVudUJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ21lbnUnXCIgbWF0LWJ1dHRvbiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudS5tZW51XCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJOYXZVdGlsaXRpZXMuYXNNZW51KGVsZW1lbnQpLmljb25cIiBbY2xhc3NdPVwiTmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KS5pY29uXCI+PC9pPlxyXG4gICAgICAgIHt7TmF2VXRpbGl0aWVzLmFzTWVudShlbGVtZW50KS5uYW1lfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPG5neC1tYXQtbmF2aWdhdGlvbi1tZW51ICNtZW51IFtuYXZNZW51XT1cIk5hdlV0aWxpdGllcy5hc01lbnUoZWxlbWVudClcIiBbbWVudVdpZHRoXT1cIm1lbnVXaWR0aFwiPlxyXG4gICAgPC9uZ3gtbWF0LW5hdmlnYXRpb24tbWVudT5cclxuPC9zcGFuPiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FooterElementComponent } from './footer-element.component';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
5
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { NavMenuModule } from '../../navbar/nav-menu/nav-menu.module';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class FooterElementModule {
|
|
10
|
+
}
|
|
11
|
+
FooterElementModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterElementModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
FooterElementModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterElementModule, declarations: [FooterElementComponent], imports: [CommonModule,
|
|
13
|
+
RouterModule,
|
|
14
|
+
MatMenuModule,
|
|
15
|
+
MatButtonModule,
|
|
16
|
+
NavMenuModule], exports: [FooterElementComponent] });
|
|
17
|
+
FooterElementModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterElementModule, imports: [[
|
|
18
|
+
CommonModule,
|
|
19
|
+
RouterModule,
|
|
20
|
+
MatMenuModule,
|
|
21
|
+
MatButtonModule,
|
|
22
|
+
NavMenuModule
|
|
23
|
+
]] });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FooterElementModule, decorators: [{
|
|
25
|
+
type: NgModule,
|
|
26
|
+
args: [{
|
|
27
|
+
imports: [
|
|
28
|
+
CommonModule,
|
|
29
|
+
RouterModule,
|
|
30
|
+
MatMenuModule,
|
|
31
|
+
MatButtonModule,
|
|
32
|
+
NavMenuModule
|
|
33
|
+
],
|
|
34
|
+
declarations: [FooterElementComponent],
|
|
35
|
+
exports: [FooterElementComponent]
|
|
36
|
+
}]
|
|
37
|
+
}] });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLWVsZW1lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci1lbGVtZW50L2Zvb3Rlci1lbGVtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBYXRFLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixpQkFIYixzQkFBc0IsYUFOakMsWUFBWTtRQUNaLFlBQVk7UUFDWixhQUFhO1FBQ2IsZUFBZTtRQUNmLGFBQWEsYUFHUCxzQkFBc0I7a0hBRXZCLG1CQUFtQixZQVZuQjtZQUNMLFlBQVk7WUFDWixZQUFZO1lBQ1osYUFBYTtZQUNiLGVBQWU7WUFDZixhQUFhO1NBQ2hCOzRGQUlRLG1CQUFtQjtrQkFYL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixhQUFhO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ3BDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9vdGVyRWxlbWVudENvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLWVsZW1lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBOYXZNZW51TW9kdWxlIH0gZnJvbSAnLi4vLi4vbmF2YmFyL25hdi1tZW51L25hdi1tZW51Lm1vZHVsZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICAgICAgTWF0TWVudU1vZHVsZSxcclxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICAgICAgTmF2TWVudU1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW0Zvb3RlckVsZW1lbnRDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW0Zvb3RlckVsZW1lbnRDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb290ZXJFbGVtZW50TW9kdWxlIHsgfSJdfQ==
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NavUtilities } from '../../utilities/nav.utilities';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "./footer-element/footer-element.component";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
3
6
|
/**
|
|
4
7
|
* Displays a footer based on the provided input data.
|
|
5
8
|
*/
|
|
6
|
-
export class
|
|
7
|
-
constructor() {
|
|
9
|
+
export class NgxMatNavigationFooterComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.NavUtilities = NavUtilities;
|
|
12
|
+
}
|
|
8
13
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type:
|
|
14
|
+
NgxMatNavigationFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
NgxMatNavigationFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NgxMatNavigationFooterComponent, selector: "ngx-mat-navigation-footer", inputs: { minHeight: "minHeight", footerRows: "footerRows" }, ngImport: i0, template: "<footer [style.minHeight.px]=\"minHeight\">\r\n <div class=\"container\">\r\n <div class=\"footer-row row gy-2\" *ngFor=\"let row of footerRows\">\r\n <div class=\"col-md-4 col-sm-6\">\r\n <div *ngFor=\"let element of NavUtilities.getFooterElementsForRow('left', row)\">\r\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 col-sm-6\">\r\n <div *ngFor=\"let element of NavUtilities.getFooterElementsForRow('center', row)\">\r\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 col-sm-6\">\r\n <div *ngFor=\"let element of NavUtilities.getFooterElementsForRow('right', row)\">\r\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>", styles: ["footer{box-shadow:0 0 5px -1px #0003,0 0 8px 5px #00000024,0 0 14px 8px #0000001f;padding-top:20px;padding-bottom:20px}\n"], components: [{ type: i1.FooterElementComponent, selector: "ngx-mat-navigation-footer-element", inputs: ["element"] }], directives: [{ type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
16
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterComponent, decorators: [{
|
|
12
17
|
type: Component,
|
|
13
|
-
args: [{ selector: 'ngx-mat-navigation-footer', template: "<div class=\"mat-
|
|
14
|
-
}],
|
|
18
|
+
args: [{ selector: 'ngx-mat-navigation-footer', template: "<footer [style.minHeight.px]=\"minHeight\">\r\n <div class=\"container\">\r\n <div class=\"footer-row row gy-2\" *ngFor=\"let row of footerRows\">\r\n <div class=\"col-md-4 col-sm-6\">\r\n <div *ngFor=\"let element of NavUtilities.getFooterElementsForRow('left', row)\">\r\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 col-sm-6\">\r\n <div *ngFor=\"let element of NavUtilities.getFooterElementsForRow('center', row)\">\r\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\r\n </div>\r\n </div>\r\n <div class=\"col-md-4 col-sm-6\">\r\n <div *ngFor=\"let element of NavUtilities.getFooterElementsForRow('right', row)\">\r\n <ngx-mat-navigation-footer-element [element]=\"element\"></ngx-mat-navigation-footer-element>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</footer>", styles: ["footer{box-shadow:0 0 5px -1px #0003,0 0 8px 5px #00000024,0 0 14px 8px #0000001f;padding-top:20px;padding-bottom:20px}\n"] }]
|
|
19
|
+
}], propDecorators: { minHeight: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], footerRows: [{
|
|
15
22
|
type: Input
|
|
16
23
|
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LW1hdGVyaWFsLW5hdmlnYXRpb24vc3JjL2NvbXBvbmVudHMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sK0JBQStCLENBQUM7Ozs7QUFFN0Q7O0dBRUc7QUFNSCxNQUFNLE9BQU8sK0JBQStCO0lBTDVDO1FBT0ksaUJBQVksR0FBRyxZQUFZLENBQUM7S0FhL0I7OzZIQWZZLCtCQUErQjtpSEFBL0IsK0JBQStCLCtIQ1o1QywrbkNBb0JTOzRGRFJJLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDSSwyQkFBMkI7OEJBWXJDLFNBQVM7c0JBRFIsS0FBSztnQkFPTixVQUFVO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvb3RlclJvdyB9IGZyb20gJy4uLy4uL21vZGVscy9mb290ZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBOYXZVdGlsaXRpZXMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvbmF2LnV0aWxpdGllcyc7XHJcblxyXG4vKipcclxuICogRGlzcGxheXMgYSBmb290ZXIgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGlucHV0IGRhdGEuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbmd4LW1hdC1uYXZpZ2F0aW9uLWZvb3RlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2Zvb3Rlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hNYXROYXZpZ2F0aW9uRm9vdGVyQ29tcG9uZW50IHtcclxuXHJcbiAgICBOYXZVdGlsaXRpZXMgPSBOYXZVdGlsaXRpZXM7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUaGUgbWluaW11bSBoZWlnaHQgb2YgdGhlIGZvb3Rlci5cclxuICAgICAqL1xyXG4gICAgQElucHV0KClcclxuICAgIG1pbkhlaWdodCE6IG51bWJlcjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBmb290ZXIgcm93cyB0byBidWlsZCB0aGUgZm9vdGVyIGZyb20uXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpXHJcbiAgICBmb290ZXJSb3dzITogRm9vdGVyUm93W107XHJcbn0iLCI8Zm9vdGVyIFtzdHlsZS5taW5IZWlnaHQucHhdPVwibWluSGVpZ2h0XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZvb3Rlci1yb3cgcm93IGd5LTJcIiAqbmdGb3I9XCJsZXQgcm93IG9mIGZvb3RlclJvd3NcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIE5hdlV0aWxpdGllcy5nZXRGb290ZXJFbGVtZW50c0ZvclJvdygnbGVmdCcsIHJvdylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmd4LW1hdC1uYXZpZ2F0aW9uLWZvb3Rlci1lbGVtZW50IFtlbGVtZW50XT1cImVsZW1lbnRcIj48L25neC1tYXQtbmF2aWdhdGlvbi1mb290ZXItZWxlbWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC1zbS02XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBlbGVtZW50IG9mIE5hdlV0aWxpdGllcy5nZXRGb290ZXJFbGVtZW50c0ZvclJvdygnY2VudGVyJywgcm93KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZ3gtbWF0LW5hdmlnYXRpb24tZm9vdGVyLWVsZW1lbnQgW2VsZW1lbnRdPVwiZWxlbWVudFwiPjwvbmd4LW1hdC1uYXZpZ2F0aW9uLWZvb3Rlci1lbGVtZW50PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVsZW1lbnQgb2YgTmF2VXRpbGl0aWVzLmdldEZvb3RlckVsZW1lbnRzRm9yUm93KCdyaWdodCcsIHJvdylcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmd4LW1hdC1uYXZpZ2F0aW9uLWZvb3Rlci1lbGVtZW50IFtlbGVtZW50XT1cImVsZW1lbnRcIj48L25neC1tYXQtbmF2aWdhdGlvbi1mb290ZXItZWxlbWVudD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Zvb3Rlcj4iXX0=
|
|
@@ -1,22 +1,30 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
|
-
import {
|
|
3
|
+
import { NgxMatNavigationFooterComponent } from './footer.component';
|
|
4
|
+
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
5
|
+
import { FooterElementModule } from './footer-element/footer-element.module';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
export class NgxMatNavigationFooterModule {
|
|
6
8
|
}
|
|
7
9
|
NgxMatNavigationFooterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
-
NgxMatNavigationFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterModule, declarations: [
|
|
10
|
+
NgxMatNavigationFooterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterModule, declarations: [NgxMatNavigationFooterComponent], imports: [CommonModule,
|
|
11
|
+
MatToolbarModule,
|
|
12
|
+
FooterElementModule], exports: [NgxMatNavigationFooterComponent] });
|
|
9
13
|
NgxMatNavigationFooterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterModule, imports: [[
|
|
10
|
-
CommonModule
|
|
14
|
+
CommonModule,
|
|
15
|
+
MatToolbarModule,
|
|
16
|
+
FooterElementModule
|
|
11
17
|
]] });
|
|
12
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NgxMatNavigationFooterModule, decorators: [{
|
|
13
19
|
type: NgModule,
|
|
14
20
|
args: [{
|
|
15
21
|
imports: [
|
|
16
|
-
CommonModule
|
|
22
|
+
CommonModule,
|
|
23
|
+
MatToolbarModule,
|
|
24
|
+
FooterElementModule
|
|
17
25
|
],
|
|
18
|
-
declarations: [
|
|
19
|
-
exports: [
|
|
26
|
+
declarations: [NgxMatNavigationFooterComponent],
|
|
27
|
+
exports: [NgxMatNavigationFooterComponent]
|
|
20
28
|
}]
|
|
21
29
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1tYXRlcmlhbC1uYXZpZ2F0aW9uL3NyYy9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOztBQVc3RSxNQUFNLE9BQU8sNEJBQTRCOzswSEFBNUIsNEJBQTRCOzJIQUE1Qiw0QkFBNEIsaUJBSHRCLCtCQUErQixhQUoxQyxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG1CQUFtQixhQUdiLCtCQUErQjsySEFFaEMsNEJBQTRCLFlBUjVCO1lBQ0wsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixtQkFBbUI7U0FDdEI7NEZBSVEsNEJBQTRCO2tCQVR4QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3FCQUN0QjtvQkFDRCxZQUFZLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDL0MsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmd4TWF0TmF2aWdhdGlvbkZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sYmFyJztcclxuaW1wb3J0IHsgRm9vdGVyRWxlbWVudE1vZHVsZSB9IGZyb20gJy4vZm9vdGVyLWVsZW1lbnQvZm9vdGVyLWVsZW1lbnQubW9kdWxlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgICAgICAgRm9vdGVyRWxlbWVudE1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW05neE1hdE5hdmlnYXRpb25Gb290ZXJDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW05neE1hdE5hdmlnYXRpb25Gb290ZXJDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ3hNYXROYXZpZ2F0aW9uRm9vdGVyTW9kdWxlIHsgfSJdfQ==
|