@dereekb/dbx-web 9.23.6 → 9.23.8
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/calendar/package.json +2 -2
- package/esm2020/lib/router/layout/navbar/navbar.component.mjs +14 -7
- package/fesm2015/dereekb-dbx-web.mjs +14 -7
- package/fesm2015/dereekb-dbx-web.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-web.mjs +13 -6
- package/fesm2020/dereekb-dbx-web.mjs.map +1 -1
- package/lib/layout/section/_section.scss +3 -1
- package/lib/router/layout/navbar/navbar.component.d.ts +3 -1
- package/mapbox/package.json +3 -3
- package/package.json +3 -3
- package/table/package.json +3 -3
package/calendar/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-web/calendar",
|
|
3
|
-
"version": "9.23.
|
|
3
|
+
"version": "9.23.8",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^14.2.0",
|
|
6
6
|
"@angular/core": "^14.2.0",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"rxjs": "^7.5.0",
|
|
9
9
|
"@angular/material": "^14.2.0",
|
|
10
10
|
"angular-calendar": "^0.30.1",
|
|
11
|
-
"@dereekb/dbx-web": "9.23.
|
|
11
|
+
"@dereekb/dbx-web": "9.23.8"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"tslib": "^2.3.0"
|
|
@@ -24,6 +24,7 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
24
24
|
this.navAlign = 'center';
|
|
25
25
|
this._icon = new BehaviorSubject(undefined);
|
|
26
26
|
this._defaultIcon = new BehaviorSubject('menu');
|
|
27
|
+
this._defaultText = new BehaviorSubject(undefined);
|
|
27
28
|
this._inputMode = new BehaviorSubject(undefined);
|
|
28
29
|
this._breakpoint = new BehaviorSubject('large');
|
|
29
30
|
this._anchors = new BehaviorSubject([]);
|
|
@@ -43,16 +44,16 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
43
44
|
}), tapDetectChanges(this.cdRef), shareReplay(1));
|
|
44
45
|
this.selectedAnchor$ = this.anchors$.pipe(map((x) => x.find((y) => y.selected)));
|
|
45
46
|
this.hasNoAnchors$ = this.anchors$.pipe(map((x) => x.length === 0), distinctUntilChanged(), shareReplay(1));
|
|
46
|
-
this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this.selectedAnchor$, this.mode$]).pipe(map(([defaultIcon, icon,
|
|
47
|
+
this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.selectedAnchor$, this.mode$]).pipe(map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {
|
|
47
48
|
let content;
|
|
48
49
|
if (icon) {
|
|
49
|
-
content = { icon };
|
|
50
|
+
content = { icon, text: defaultText };
|
|
50
51
|
}
|
|
51
|
-
else if (
|
|
52
|
-
content = { icon:
|
|
52
|
+
else if (selectedAnchor) {
|
|
53
|
+
content = { icon: selectedAnchor.anchor.icon ?? defaultIcon, text: selectedAnchor.anchor.title };
|
|
53
54
|
}
|
|
54
55
|
else {
|
|
55
|
-
content = { icon:
|
|
56
|
+
content = { icon: defaultIcon ?? 'menu', text: defaultText };
|
|
56
57
|
}
|
|
57
58
|
if (mode === 'icon') {
|
|
58
59
|
return { icon: content.icon };
|
|
@@ -65,6 +66,7 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
65
66
|
ngOnDestroy() {
|
|
66
67
|
this._icon.complete();
|
|
67
68
|
this._defaultIcon.complete();
|
|
69
|
+
this._defaultText.complete();
|
|
68
70
|
this._inputMode.complete();
|
|
69
71
|
this._breakpoint.complete();
|
|
70
72
|
this._anchors.complete();
|
|
@@ -76,6 +78,9 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
76
78
|
set defaultIcon(defaultIcon) {
|
|
77
79
|
this._defaultIcon.next(defaultIcon);
|
|
78
80
|
}
|
|
81
|
+
set defaultText(defaultText) {
|
|
82
|
+
this._defaultText.next(defaultText);
|
|
83
|
+
}
|
|
79
84
|
set anchors(anchors) {
|
|
80
85
|
this._anchors.next(anchors ?? []);
|
|
81
86
|
}
|
|
@@ -87,7 +92,7 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
87
92
|
}
|
|
88
93
|
}
|
|
89
94
|
DbxNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, deps: [{ token: i1.DbxRouterTransitionService }, { token: i0.ChangeDetectorRef }, { token: i2.DbxScreenMediaService }, { token: i1.DbxRouterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
-
DbxNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxNavbarComponent, selector: "dbx-navbar", inputs: { navAlign: "navAlign", icon: "icon", defaultIcon: "defaultIcon", anchors: "anchors", mode: "mode", breakpoint: "breakpoint" }, host: { classAttribute: "dbx-navbar" }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n <mat-menu #menu>\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"x.anchor.icon\">{{ x.anchor.icon }}</mat-icon>\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n </mat-menu>\n </ng-container>\n <!-- Bar -->\n <nav *ngSwitchCase=\"'bar'\" mat-tab-nav-bar [attr.mat-align-tabs]=\"navAlign\">\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n </nav>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.DbxIconButtonComponent, selector: "dbx-icon-button" }, { kind: "component", type: i5.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "directive", type: i5.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i8.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
95
|
+
DbxNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxNavbarComponent, selector: "dbx-navbar", inputs: { navAlign: "navAlign", icon: "icon", defaultIcon: "defaultIcon", defaultText: "defaultText", anchors: "anchors", mode: "mode", breakpoint: "breakpoint" }, host: { classAttribute: "dbx-navbar" }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n <mat-menu #menu>\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"x.anchor.icon\">{{ x.anchor.icon }}</mat-icon>\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n </mat-menu>\n </ng-container>\n <!-- Bar -->\n <nav *ngSwitchCase=\"'bar'\" mat-tab-nav-bar [attr.mat-align-tabs]=\"navAlign\">\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n </nav>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i4.DbxIconButtonComponent, selector: "dbx-icon-button" }, { kind: "component", type: i5.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "directive", type: i5.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i7.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i7.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i7.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i8.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
91
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, decorators: [{
|
|
92
97
|
type: Component,
|
|
93
98
|
args: [{ selector: 'dbx-navbar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
@@ -99,6 +104,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
99
104
|
type: Input
|
|
100
105
|
}], defaultIcon: [{
|
|
101
106
|
type: Input
|
|
107
|
+
}], defaultText: [{
|
|
108
|
+
type: Input
|
|
102
109
|
}], anchors: [{
|
|
103
110
|
type: Input
|
|
104
111
|
}], mode: [{
|
|
@@ -106,4 +113,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
106
113
|
}], breakpoint: [{
|
|
107
114
|
type: Input
|
|
108
115
|
}] } });
|
|
109
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9yb3V0ZXIvbGF5b3V0L25hdmJhci9uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvbmF2YmFyL25hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWEsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUErQixnQkFBZ0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7OztBQVd0TDs7R0FFRztBQVNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwyQkFBMkI7SUF5RWpFLFlBQVksMEJBQXNELEVBQVUsS0FBd0IsRUFBbUIsc0JBQTZDLEVBQW1CLGlCQUFtQztRQUN4TixLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUR3QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFtQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQW1CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUF2RTFOLGFBQVEsR0FBNEIsUUFBUSxDQUFDO1FBRXJDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZ0Is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QUEwQjtRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsT0FBNkM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxJQUF1QjtRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFDVyxVQUFVLENBQUMsVUFBZ0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Z0hBN0dVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLHlQQzNCL0IsaThCQW9CQTs0RkRPYSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQjtvTkFJRCxRQUFRO3NCQURQLEtBQUs7Z0JBc0ZLLElBQUk7c0JBRGQsS0FBSztnQkFNSyxXQUFXO3NCQURyQixLQUFLO2dCQU1LLE9BQU87c0JBRGpCLEtBQUs7Z0JBTUssSUFBSTtzQkFEZCxLQUFLO2dCQU1LLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc2hhcmVSZXBsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTY3JlZW5NZWRpYVdpZHRoVHlwZSB9IGZyb20gJy4vLi4vLi4vLi4vc2NyZWVuL3NjcmVlbic7XG5pbXBvcnQgeyBEYnhTY3JlZW5NZWRpYVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zY3JlZW4vc2NyZWVuLnNlcnZpY2UnO1xuaW1wb3J0IHsgYXBwbHlCZXN0Rml0LCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZiwgRGJ4Um91dGVyU2VydmljZSwgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UsIEFic3RyYWN0VHJhbnNpdGlvbkRpcmVjdGl2ZSwgdGFwRGV0ZWN0Q2hhbmdlcywgRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW50ZXJmYWNlIE5hdkFuY2hvckxpbmsge1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgYW5jaG9yOiBDbGlja2FibGVBbmNob3JMaW5rU2VndWVSZWY7XG59XG5cbmV4cG9ydCB0eXBlIE5hdkJhckNvbnRlbnRBbGlnbiA9ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcbmV4cG9ydCB0eXBlIE5hdmJhck1vZGUgPSAnYmFyJyB8ICdidXR0b24nIHwgJ2ljb24nO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGEgbmF2YmFyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbmF2YmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtbmF2YmFyJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieE5hdmJhckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0VHJhbnNpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIG5hdkFsaWduOiBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyA9ICdjZW50ZXInO1xuXG4gIHByaXZhdGUgX2ljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2RlZmF1bHRJY29uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxzdHJpbmc+PignbWVudScpO1xuXG4gIHByaXZhdGUgX2lucHV0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8TmF2YmFyTW9kZT4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2JyZWFrcG9pbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjcmVlbk1lZGlhV2lkdGhUeXBlPignbGFyZ2UnKTtcbiAgcHJpdmF0ZSBfYW5jaG9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmW10+KFtdKTtcblxuICByZWFkb25seSBpc0JyZWFrcG9pbnRBY3RpdmUkID0gdGhpcy5fZGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLmlzQnJlYWtwb2ludEFjdGl2ZSh0aGlzLl9icmVha3BvaW50KTtcblxuICByZWFkb25seSBtb2RlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2lucHV0TW9kZSwgdGhpcy5pc0JyZWFrcG9pbnRBY3RpdmUkXSkucGlwZShcbiAgICBtYXAoKFtpbnB1dE1vZGUsIGJyZWFrcG9pbnRBY3RpdmVdKSA9PiB7XG4gICAgICByZXR1cm4gYnJlYWtwb2ludEFjdGl2ZSA/IGlucHV0TW9kZSA/PyAnYmFyJyA6ICdidXR0b24nO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGFuY2hvcnMkOiBPYnNlcnZhYmxlPE5hdkFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9hbmNob3JzLCB0aGlzLmluaXRBbmRVcGRhdGVPblRyYW5zaXRpb25TdWNjZXNzJF0pLnBpcGUoXG4gICAgbWFwKChbYW5jaG9yc10pID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhbmNob3JzLm1hcCgoYW5jaG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZShhbmNob3IpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgYW5jaG9yXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFwcGx5QmVzdEZpdChcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgKHgpID0+IHguc2VsZWN0ZWQsXG4gICAgICAgIChhLCBiKSA9PiB0aGlzLl9kYnhSb3V0ZXJTZXJ2aWNlLmNvbXBhcmVQcmVjaXNpb24oYS5hbmNob3IsIGIuYW5jaG9yKSxcbiAgICAgICAgKG5vbkJlc3RGaXQpID0+ICh7IC4uLm5vbkJlc3RGaXQsIHNlbGVjdGVkOiBmYWxzZSB9KVxuICAgICAgKTtcbiAgICB9KSxcbiAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRBbmNob3IkOiBPYnNlcnZhYmxlPE1heWJlPE5hdkFuY2hvckxpbms+PiA9IHRoaXMuYW5jaG9ycyQucGlwZShtYXAoKHgpID0+IHguZmluZCgoeSkgPT4geS5zZWxlY3RlZCkpKTtcblxuICByZWFkb25seSBoYXNOb0FuY2hvcnMkID0gdGhpcy5hbmNob3JzJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5sZW5ndGggPT09IDApLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBidXR0b25EaXNwbGF5JDogT2JzZXJ2YWJsZTxEYnhCdXR0b25EaXNwbGF5Q29udGVudD4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kZWZhdWx0SWNvbiwgdGhpcy5faWNvbiwgdGhpcy5zZWxlY3RlZEFuY2hvciQsIHRoaXMubW9kZSRdKS5waXBlKFxuICAgIG1hcCgoW2RlZmF1bHRJY29uLCBpY29uLCBzZWxlY3RlZEFtY2hvciwgbW9kZV0pID0+IHtcbiAgICAgIGxldCBjb250ZW50OiBEYnhCdXR0b25EaXNwbGF5Q29udGVudDtcblxuICAgICAgaWYgKGljb24pIHtcbiAgICAgICAgY29udGVudCA9IHsgaWNvbiB9O1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEFtY2hvcikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBzZWxlY3RlZEFtY2hvci5hbmNob3IuaWNvbiA/PyB0aGlzLl9kZWZhdWx0SWNvbi52YWx1ZSwgdGV4dDogc2VsZWN0ZWRBbWNob3IuYW5jaG9yLnRpdGxlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiB0aGlzLl9kZWZhdWx0SWNvbi52YWx1ZSA/PyAnbWVudScgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1vZGUgPT09ICdpY29uJykge1xuICAgICAgICByZXR1cm4geyBpY29uOiBjb250ZW50Lmljb24gfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2U6IERieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlLCBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWFkb25seSBfZGJ4U2NyZWVuTWVkaWFTZXJ2aWNlOiBEYnhTY3JlZW5NZWRpYVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgX2RieFJvdXRlclNlcnZpY2U6IERieFJvdXRlclNlcnZpY2UpIHtcbiAgICBzdXBlcihkYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pY29uLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZGVmYXVsdEljb24uY29tcGxldGUoKTtcbiAgICB0aGlzLl9pbnB1dE1vZGUuY29tcGxldGUoKTtcbiAgICB0aGlzLl9icmVha3BvaW50LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYW5jaG9ycy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaWNvbihpY29uOiBNYXliZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5faWNvbi5uZXh0KGljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0SWNvbihkZWZhdWx0SWNvbjogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRJY29uLm5leHQoZGVmYXVsdEljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbmNob3JzKGFuY2hvcnM6IE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZltdPikge1xuICAgIHRoaXMuX2FuY2hvcnMubmV4dChhbmNob3JzID8/IFtdKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbW9kZShtb2RlOiBNYXliZTxOYXZiYXJNb2RlPikge1xuICAgIHRoaXMuX2lucHV0TW9kZS5uZXh0KG1vZGUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBicmVha3BvaW50KGJyZWFrcG9pbnQ6IFNjcmVlbk1lZGlhV2lkdGhUeXBlKSB7XG4gICAgdGhpcy5fYnJlYWtwb2ludC5uZXh0KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlJCB8IGFzeW5jXCI+XG4gIDwhLS0gQnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgPGRieC1pY29uLWJ1dHRvbiBjbGFzcz1cIm5hdi1tZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJvcGVuIG5hdmlnYXRpb25cIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5JCB8IGFzeW5jXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBbZGlzYWJsZWRdPVwiaGFzTm9BbmNob3JzJCB8IGFzeW5jXCI+PC9kYngtaWNvbi1idXR0b24+XG4gICAgPG1hdC1tZW51ICNtZW51PlxuICAgICAgPGRieC1hbmNob3IgKm5nRm9yPVwibGV0IHggb2YgYW5jaG9ycyQgfCBhc3luY1wiIFthbmNob3JdPVwieC5hbmNob3JcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFtuZ0NsYXNzXT1cInguc2VsZWN0ZWQgPyAnYWN0aXZlJyA6ICcnXCI+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwieC5hbmNob3IuaWNvblwiPnt7IHguYW5jaG9yLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgIHt7IHguYW5jaG9yLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kYngtYW5jaG9yPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEJhciAtLT5cbiAgPG5hdiAqbmdTd2l0Y2hDYXNlPVwiJ2JhcidcIiBtYXQtdGFiLW5hdi1iYXIgW2F0dHIubWF0LWFsaWduLXRhYnNdPVwibmF2QWxpZ25cIj5cbiAgICA8ZGJ4LWFuY2hvciAqbmdGb3I9XCJsZXQgeCBvZiBhbmNob3JzJCB8IGFzeW5jXCIgW2FuY2hvcl09XCJ4LmFuY2hvclwiPlxuICAgICAgPGEgbWF0LXRhYi1saW5rIFthY3RpdmVdPVwieC5zZWxlY3RlZFwiPnt7IHguYW5jaG9yLnRpdGxlIH19PC9hPlxuICAgIDwvZGJ4LWFuY2hvcj5cbiAgPC9uYXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9yb3V0ZXIvbGF5b3V0L25hdmJhci9uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvbmF2YmFyL25hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWEsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUErQixnQkFBZ0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7OztBQVd0TDs7R0FFRztBQVNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwyQkFBMkI7SUEwRWpFLFlBQVksMEJBQXNELEVBQVUsS0FBd0IsRUFBbUIsc0JBQTZDLEVBQW1CLGlCQUFtQztRQUN4TixLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUR3QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFtQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQW1CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUF4RTFOLGFBQVEsR0FBNEIsUUFBUSxDQUFDO1FBRXJDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsU0FBUyxDQUFDLENBQUM7UUFDdEQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsTUFBTSxDQUFDLENBQUM7UUFDMUQsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsU0FBUyxDQUFDLENBQUM7UUFFN0QsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFvQixTQUFTLENBQUMsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUF1QixPQUFPLENBQUMsQ0FBQztRQUNqRSxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQWdDLEVBQUUsQ0FBQyxDQUFDO1FBRWpFLHdCQUFtQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdkYsVUFBSyxHQUFHLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlFLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLGdCQUFnQixDQUFDLEVBQUUsRUFBRTtZQUNwQyxPQUFPLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDMUQsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLEVBQUUsRUFDdEIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUM1QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLGFBQVEsR0FBZ0MsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDMUgsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ2hCLE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFekQsT0FBTztvQkFDTCxRQUFRO29CQUNSLE1BQU07aUJBQ1AsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxZQUFZLENBQ2pCLE9BQU8sRUFDUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFDakIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQ3JFLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQ3JELENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzVCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sb0JBQWUsR0FBcUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTlHLGtCQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3pDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsRUFDMUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7UUFFTyxtQkFBYyxHQUF3QyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDckssR0FBRyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUM3RCxJQUFJLE9BQWdDLENBQUM7WUFFckMsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQzthQUN2QztpQkFBTSxJQUFJLGNBQWMsRUFBRTtnQkFDekIsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzthQUNsRztpQkFBTTtnQkFDTCxPQUFPLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxJQUFJLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7YUFDOUQ7WUFFRCxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUU7Z0JBQ25CLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLE9BQU8sT0FBTyxDQUFDO2FBQ2hCO1FBQ0gsQ0FBQyxDQUFDLEVBQ0YsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0I7SUFDbEIsSUFDVyxJQUFJLENBQUMsSUFBbUI7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ1csV0FBVyxDQUFDLFdBQTBCO1FBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNXLFdBQVcsQ0FBQyxXQUEwQjtRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsSUFDVyxPQUFPLENBQUMsT0FBNkM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUNXLElBQUksQ0FBQyxJQUF1QjtRQUNyQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFDVyxVQUFVLENBQUMsVUFBZ0M7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7Z0hBcEhVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLHFSQzNCL0IsaThCQW9CQTs0RkRPYSxrQkFBa0I7a0JBUjlCLFNBQVM7K0JBQ0UsWUFBWSxtQkFFTCx1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQjtvTkFJRCxRQUFRO3NCQURQLEtBQUs7Z0JBd0ZLLElBQUk7c0JBRGQsS0FBSztnQkFNSyxXQUFXO3NCQURyQixLQUFLO2dCQU1LLFdBQVc7c0JBRHJCLEtBQUs7Z0JBTUssT0FBTztzQkFEakIsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssVUFBVTtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjcmVlbk1lZGlhV2lkdGhUeXBlIH0gZnJvbSAnLi8uLi8uLi8uLi9zY3JlZW4vc2NyZWVuJztcbmltcG9ydCB7IERieFNjcmVlbk1lZGlhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NjcmVlbi9zY3JlZW4uc2VydmljZSc7XG5pbXBvcnQgeyBhcHBseUJlc3RGaXQsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmLCBEYnhSb3V0ZXJTZXJ2aWNlLCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSwgQWJzdHJhY3RUcmFuc2l0aW9uRGlyZWN0aXZlLCB0YXBEZXRlY3RDaGFuZ2VzLCBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEhvcml6b250YWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbnRlcmZhY2UgTmF2QW5jaG9yTGluayB7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBhbmNob3I6IENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZjtcbn1cblxuZXhwb3J0IHR5cGUgTmF2QmFyQ29udGVudEFsaWduID0gJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xuZXhwb3J0IHR5cGUgTmF2YmFyTW9kZSA9ICdiYXInIHwgJ2J1dHRvbicgfCAnaWNvbic7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSBuYXZiYXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1uYXZiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1uYXZiYXInXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TmF2YmFyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUcmFuc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbmF2QWxpZ246IEhvcml6b250YWxDb25uZWN0aW9uUG9zID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBfaWNvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8c3RyaW5nPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfZGVmYXVsdEljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPHN0cmluZz4+KCdtZW51Jyk7XG4gIHByaXZhdGUgX2RlZmF1bHRUZXh0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2lucHV0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8TmF2YmFyTW9kZT4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2JyZWFrcG9pbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjcmVlbk1lZGlhV2lkdGhUeXBlPignbGFyZ2UnKTtcbiAgcHJpdmF0ZSBfYW5jaG9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmW10+KFtdKTtcblxuICByZWFkb25seSBpc0JyZWFrcG9pbnRBY3RpdmUkID0gdGhpcy5fZGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLmlzQnJlYWtwb2ludEFjdGl2ZSh0aGlzLl9icmVha3BvaW50KTtcblxuICByZWFkb25seSBtb2RlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2lucHV0TW9kZSwgdGhpcy5pc0JyZWFrcG9pbnRBY3RpdmUkXSkucGlwZShcbiAgICBtYXAoKFtpbnB1dE1vZGUsIGJyZWFrcG9pbnRBY3RpdmVdKSA9PiB7XG4gICAgICByZXR1cm4gYnJlYWtwb2ludEFjdGl2ZSA/IGlucHV0TW9kZSA/PyAnYmFyJyA6ICdidXR0b24nO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGFuY2hvcnMkOiBPYnNlcnZhYmxlPE5hdkFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9hbmNob3JzLCB0aGlzLmluaXRBbmRVcGRhdGVPblRyYW5zaXRpb25TdWNjZXNzJF0pLnBpcGUoXG4gICAgbWFwKChbYW5jaG9yc10pID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhbmNob3JzLm1hcCgoYW5jaG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZShhbmNob3IpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgYW5jaG9yXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFwcGx5QmVzdEZpdChcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgKHgpID0+IHguc2VsZWN0ZWQsXG4gICAgICAgIChhLCBiKSA9PiB0aGlzLl9kYnhSb3V0ZXJTZXJ2aWNlLmNvbXBhcmVQcmVjaXNpb24oYS5hbmNob3IsIGIuYW5jaG9yKSxcbiAgICAgICAgKG5vbkJlc3RGaXQpID0+ICh7IC4uLm5vbkJlc3RGaXQsIHNlbGVjdGVkOiBmYWxzZSB9KVxuICAgICAgKTtcbiAgICB9KSxcbiAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRBbmNob3IkOiBPYnNlcnZhYmxlPE1heWJlPE5hdkFuY2hvckxpbms+PiA9IHRoaXMuYW5jaG9ycyQucGlwZShtYXAoKHgpID0+IHguZmluZCgoeSkgPT4geS5zZWxlY3RlZCkpKTtcblxuICByZWFkb25seSBoYXNOb0FuY2hvcnMkID0gdGhpcy5hbmNob3JzJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5sZW5ndGggPT09IDApLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBidXR0b25EaXNwbGF5JDogT2JzZXJ2YWJsZTxEYnhCdXR0b25EaXNwbGF5Q29udGVudD4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kZWZhdWx0SWNvbiwgdGhpcy5faWNvbiwgdGhpcy5fZGVmYXVsdFRleHQsIHRoaXMuc2VsZWN0ZWRBbmNob3IkLCB0aGlzLm1vZGUkXSkucGlwZShcbiAgICBtYXAoKFtkZWZhdWx0SWNvbiwgaWNvbiwgZGVmYXVsdFRleHQsIHNlbGVjdGVkQW5jaG9yLCBtb2RlXSkgPT4ge1xuICAgICAgbGV0IGNvbnRlbnQ6IERieEJ1dHRvbkRpc3BsYXlDb250ZW50O1xuXG4gICAgICBpZiAoaWNvbikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uLCB0ZXh0OiBkZWZhdWx0VGV4dCB9O1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEFuY2hvcikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBzZWxlY3RlZEFuY2hvci5hbmNob3IuaWNvbiA/PyBkZWZhdWx0SWNvbiwgdGV4dDogc2VsZWN0ZWRBbmNob3IuYW5jaG9yLnRpdGxlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBkZWZhdWx0SWNvbiA/PyAnbWVudScsIHRleHQ6IGRlZmF1bHRUZXh0IH07XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlID09PSAnaWNvbicpIHtcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogY29udGVudC5pY29uIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKGRieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlOiBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVhZG9ubHkgX2RieFNjcmVlbk1lZGlhU2VydmljZTogRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IF9kYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faWNvbi5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2RlZmF1bHRJY29uLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZGVmYXVsdFRleHQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9pbnB1dE1vZGUuY29tcGxldGUoKTtcbiAgICB0aGlzLl9icmVha3BvaW50LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYW5jaG9ycy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaWNvbihpY29uOiBNYXliZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5faWNvbi5uZXh0KGljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0SWNvbihkZWZhdWx0SWNvbjogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRJY29uLm5leHQoZGVmYXVsdEljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0VGV4dChkZWZhdWx0VGV4dDogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRUZXh0Lm5leHQoZGVmYXVsdFRleHQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbmNob3JzKGFuY2hvcnM6IE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZltdPikge1xuICAgIHRoaXMuX2FuY2hvcnMubmV4dChhbmNob3JzID8/IFtdKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbW9kZShtb2RlOiBNYXliZTxOYXZiYXJNb2RlPikge1xuICAgIHRoaXMuX2lucHV0TW9kZS5uZXh0KG1vZGUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBicmVha3BvaW50KGJyZWFrcG9pbnQ6IFNjcmVlbk1lZGlhV2lkdGhUeXBlKSB7XG4gICAgdGhpcy5fYnJlYWtwb2ludC5uZXh0KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlJCB8IGFzeW5jXCI+XG4gIDwhLS0gQnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgPGRieC1pY29uLWJ1dHRvbiBjbGFzcz1cIm5hdi1tZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJvcGVuIG5hdmlnYXRpb25cIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5JCB8IGFzeW5jXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBbZGlzYWJsZWRdPVwiaGFzTm9BbmNob3JzJCB8IGFzeW5jXCI+PC9kYngtaWNvbi1idXR0b24+XG4gICAgPG1hdC1tZW51ICNtZW51PlxuICAgICAgPGRieC1hbmNob3IgKm5nRm9yPVwibGV0IHggb2YgYW5jaG9ycyQgfCBhc3luY1wiIFthbmNob3JdPVwieC5hbmNob3JcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFtuZ0NsYXNzXT1cInguc2VsZWN0ZWQgPyAnYWN0aXZlJyA6ICcnXCI+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwieC5hbmNob3IuaWNvblwiPnt7IHguYW5jaG9yLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgIHt7IHguYW5jaG9yLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kYngtYW5jaG9yPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEJhciAtLT5cbiAgPG5hdiAqbmdTd2l0Y2hDYXNlPVwiJ2JhcidcIiBtYXQtdGFiLW5hdi1iYXIgW2F0dHIubWF0LWFsaWduLXRhYnNdPVwibmF2QWxpZ25cIj5cbiAgICA8ZGJ4LWFuY2hvciAqbmdGb3I9XCJsZXQgeCBvZiBhbmNob3JzJCB8IGFzeW5jXCIgW2FuY2hvcl09XCJ4LmFuY2hvclwiPlxuICAgICAgPGEgbWF0LXRhYi1saW5rIFthY3RpdmVdPVwieC5zZWxlY3RlZFwiPnt7IHguYW5jaG9yLnRpdGxlIH19PC9hPlxuICAgIDwvZGJ4LWFuY2hvcj5cbiAgPC9uYXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -2834,6 +2834,7 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
2834
2834
|
this.navAlign = 'center';
|
|
2835
2835
|
this._icon = new BehaviorSubject(undefined);
|
|
2836
2836
|
this._defaultIcon = new BehaviorSubject('menu');
|
|
2837
|
+
this._defaultText = new BehaviorSubject(undefined);
|
|
2837
2838
|
this._inputMode = new BehaviorSubject(undefined);
|
|
2838
2839
|
this._breakpoint = new BehaviorSubject('large');
|
|
2839
2840
|
this._anchors = new BehaviorSubject([]);
|
|
@@ -2853,17 +2854,17 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
2853
2854
|
}), tapDetectChanges(this.cdRef), shareReplay(1));
|
|
2854
2855
|
this.selectedAnchor$ = this.anchors$.pipe(map((x) => x.find((y) => y.selected)));
|
|
2855
2856
|
this.hasNoAnchors$ = this.anchors$.pipe(map((x) => x.length === 0), distinctUntilChanged(), shareReplay(1));
|
|
2856
|
-
this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this.selectedAnchor$, this.mode$]).pipe(map(([defaultIcon, icon,
|
|
2857
|
-
var _a
|
|
2857
|
+
this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.selectedAnchor$, this.mode$]).pipe(map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {
|
|
2858
|
+
var _a;
|
|
2858
2859
|
let content;
|
|
2859
2860
|
if (icon) {
|
|
2860
|
-
content = { icon };
|
|
2861
|
+
content = { icon, text: defaultText };
|
|
2861
2862
|
}
|
|
2862
|
-
else if (
|
|
2863
|
-
content = { icon: (_a =
|
|
2863
|
+
else if (selectedAnchor) {
|
|
2864
|
+
content = { icon: (_a = selectedAnchor.anchor.icon) !== null && _a !== void 0 ? _a : defaultIcon, text: selectedAnchor.anchor.title };
|
|
2864
2865
|
}
|
|
2865
2866
|
else {
|
|
2866
|
-
content = { icon:
|
|
2867
|
+
content = { icon: defaultIcon !== null && defaultIcon !== void 0 ? defaultIcon : 'menu', text: defaultText };
|
|
2867
2868
|
}
|
|
2868
2869
|
if (mode === 'icon') {
|
|
2869
2870
|
return { icon: content.icon };
|
|
@@ -2876,6 +2877,7 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
2876
2877
|
ngOnDestroy() {
|
|
2877
2878
|
this._icon.complete();
|
|
2878
2879
|
this._defaultIcon.complete();
|
|
2880
|
+
this._defaultText.complete();
|
|
2879
2881
|
this._inputMode.complete();
|
|
2880
2882
|
this._breakpoint.complete();
|
|
2881
2883
|
this._anchors.complete();
|
|
@@ -2887,6 +2889,9 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
2887
2889
|
set defaultIcon(defaultIcon) {
|
|
2888
2890
|
this._defaultIcon.next(defaultIcon);
|
|
2889
2891
|
}
|
|
2892
|
+
set defaultText(defaultText) {
|
|
2893
|
+
this._defaultText.next(defaultText);
|
|
2894
|
+
}
|
|
2890
2895
|
set anchors(anchors) {
|
|
2891
2896
|
this._anchors.next(anchors !== null && anchors !== void 0 ? anchors : []);
|
|
2892
2897
|
}
|
|
@@ -2898,7 +2903,7 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
|
|
|
2898
2903
|
}
|
|
2899
2904
|
}
|
|
2900
2905
|
DbxNavbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, deps: [{ token: i1$2.DbxRouterTransitionService }, { token: i0.ChangeDetectorRef }, { token: DbxScreenMediaService }, { token: i1$2.DbxRouterService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2901
|
-
DbxNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxNavbarComponent, selector: "dbx-navbar", inputs: { navAlign: "navAlign", icon: "icon", defaultIcon: "defaultIcon", anchors: "anchors", mode: "mode", breakpoint: "breakpoint" }, host: { classAttribute: "dbx-navbar" }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n <mat-menu #menu>\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"x.anchor.icon\">{{ x.anchor.icon }}</mat-icon>\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n </mat-menu>\n </ng-container>\n <!-- Bar -->\n <nav *ngSwitchCase=\"'bar'\" mat-tab-nav-bar [attr.mat-align-tabs]=\"navAlign\">\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n </nav>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }, { kind: "component", type: i5$1.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "directive", type: i5$1.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2906
|
+
DbxNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxNavbarComponent, selector: "dbx-navbar", inputs: { navAlign: "navAlign", icon: "icon", defaultIcon: "defaultIcon", defaultText: "defaultText", anchors: "anchors", mode: "mode", breakpoint: "breakpoint" }, host: { classAttribute: "dbx-navbar" }, usesInheritance: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [matMenuTriggerFor]=\"menu\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n <mat-menu #menu>\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <button mat-menu-item [ngClass]=\"x.selected ? 'active' : ''\">\n <mat-icon *ngIf=\"x.anchor.icon\">{{ x.anchor.icon }}</mat-icon>\n {{ x.anchor.title }}\n </button>\n </dbx-anchor>\n </mat-menu>\n </ng-container>\n <!-- Bar -->\n <nav *ngSwitchCase=\"'bar'\" mat-tab-nav-bar [attr.mat-align-tabs]=\"navAlign\">\n <dbx-anchor *ngFor=\"let x of anchors$ | async\" [anchor]=\"x.anchor\">\n <a mat-tab-link [active]=\"x.selected\">{{ x.anchor.title }}</a>\n </dbx-anchor>\n </nav>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: DbxIconButtonComponent, selector: "dbx-icon-button" }, { kind: "component", type: i5$1.MatTabNav, selector: "[mat-tab-nav-bar]", inputs: ["color"], exportAs: ["matTabNavBar", "matTabNav"] }, { kind: "directive", type: i5$1.MatTabLink, selector: "[mat-tab-link], [matTabLink]", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matTabLink"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2902
2907
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, decorators: [{
|
|
2903
2908
|
type: Component,
|
|
2904
2909
|
args: [{ selector: 'dbx-navbar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
@@ -2910,6 +2915,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2910
2915
|
type: Input
|
|
2911
2916
|
}], defaultIcon: [{
|
|
2912
2917
|
type: Input
|
|
2918
|
+
}], defaultText: [{
|
|
2919
|
+
type: Input
|
|
2913
2920
|
}], anchors: [{
|
|
2914
2921
|
type: Input
|
|
2915
2922
|
}], mode: [{
|