@dereekb/dbx-web 9.23.20 → 9.23.21

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.
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/calendar",
3
- "version": "9.23.20",
3
+ "version": "9.23.21",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^14.2.0",
6
6
  "@angular/core": "^14.2.0",
7
7
  "date-fns": "^2.29.0",
8
8
  "rxjs": "^7.5.0",
9
9
  "@angular/material": "^14.2.0",
10
- "@dereekb/util": "9.23.20",
10
+ "@dereekb/util": "9.23.21",
11
11
  "angular-calendar": "^0.30.1",
12
- "@dereekb/dbx-web": "9.23.20"
12
+ "@dereekb/dbx-web": "9.23.21"
13
13
  },
14
14
  "dependencies": {
15
15
  "tslib": "^2.3.0"
@@ -10,7 +10,13 @@ export function dbxColorBackground(color) {
10
10
  case 'warn':
11
11
  cssClass = 'dbx-warn-bg';
12
12
  break;
13
+ case 'grey':
14
+ cssClass = 'dbx-grey-bg';
15
+ break;
16
+ case 'disabled':
17
+ cssClass = 'dbx-disabled-bg';
18
+ break;
13
19
  }
14
20
  return cssClass;
15
21
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L3N0eWxlL3N0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFnQztJQUNqRSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFFeEIsUUFBUSxLQUFLLEVBQUU7UUFDYixLQUFLLFNBQVM7WUFDWixRQUFRLEdBQUcsZ0JBQWdCLENBQUM7WUFDNUIsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLFFBQVEsR0FBRyxlQUFlLENBQUM7WUFDM0IsTUFBTTtRQUNSLEtBQUssTUFBTTtZQUNULFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDekIsTUFBTTtLQUNUO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCB0eXBlIERieFRoZW1lQ29sb3IgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICd3YXJuJyB8ICdiYWNrZ3JvdW5kJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRieENvbG9yQmFja2dyb3VuZChjb2xvcjogTWF5YmU8RGJ4VGhlbWVDb2xvciB8ICcnPik6IHN0cmluZyB7XG4gIGxldCBjc3NDbGFzcyA9ICdkYngtYmcnO1xuXG4gIHN3aXRjaCAoY29sb3IpIHtcbiAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgIGNzc0NsYXNzID0gJ2RieC1wcmltYXJ5LWJnJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2FjY2VudCc6XG4gICAgICBjc3NDbGFzcyA9ICdkYngtYWNjZW50LWJnJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgY3NzQ2xhc3MgPSAnZGJ4LXdhcm4tYmcnO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gY3NzQ2xhc3M7XG59XG4iXX0=
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtd2ViL3NyYy9saWIvbGF5b3V0L3N0eWxlL3N0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxLQUFnQztJQUNqRSxJQUFJLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFFeEIsUUFBUSxLQUFLLEVBQUU7UUFDYixLQUFLLFNBQVM7WUFDWixRQUFRLEdBQUcsZ0JBQWdCLENBQUM7WUFDNUIsTUFBTTtRQUNSLEtBQUssUUFBUTtZQUNYLFFBQVEsR0FBRyxlQUFlLENBQUM7WUFDM0IsTUFBTTtRQUNSLEtBQUssTUFBTTtZQUNULFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDekIsTUFBTTtRQUNSLEtBQUssTUFBTTtZQUNULFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDekIsTUFBTTtRQUNSLEtBQUssVUFBVTtZQUNiLFFBQVEsR0FBRyxpQkFBaUIsQ0FBQztZQUM3QixNQUFNO0tBQ1Q7SUFFRCxPQUFPLFFBQVEsQ0FBQztBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IHR5cGUgRGJ4VGhlbWVDb2xvciA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ3dhcm4nIHwgJ2JhY2tncm91bmQnIHwgJ2dyZXknIHwgJ2Rpc2FibGVkJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRieENvbG9yQmFja2dyb3VuZChjb2xvcjogTWF5YmU8RGJ4VGhlbWVDb2xvciB8ICcnPik6IHN0cmluZyB7XG4gIGxldCBjc3NDbGFzcyA9ICdkYngtYmcnO1xuXG4gIHN3aXRjaCAoY29sb3IpIHtcbiAgICBjYXNlICdwcmltYXJ5JzpcbiAgICAgIGNzc0NsYXNzID0gJ2RieC1wcmltYXJ5LWJnJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2FjY2VudCc6XG4gICAgICBjc3NDbGFzcyA9ICdkYngtYWNjZW50LWJnJztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3dhcm4nOlxuICAgICAgY3NzQ2xhc3MgPSAnZGJ4LXdhcm4tYmcnO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnZ3JleSc6XG4gICAgICBjc3NDbGFzcyA9ICdkYngtZ3JleS1iZyc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdkaXNhYmxlZCc6XG4gICAgICBjc3NDbGFzcyA9ICdkYngtZGlzYWJsZWQtYmcnO1xuICAgICAgYnJlYWs7XG4gIH1cblxuICByZXR1cm4gY3NzQ2xhc3M7XG59XG4iXX0=
@@ -1,6 +1,6 @@
1
- import { BehaviorSubject, combineLatest, map, shareReplay, distinctUntilChanged } from 'rxjs';
1
+ import { BehaviorSubject, combineLatest, map, shareReplay, distinctUntilChanged, switchMap } from 'rxjs';
2
2
  import { DbxScreenMediaService } from '../../../screen/screen.service';
3
- import { applyBestFit } from '@dereekb/util';
3
+ import { applyBestFit, findNext } from '@dereekb/util';
4
4
  import { Input, Component, ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core';
5
5
  import { DbxRouterService, DbxRouterTransitionService, AbstractTransitionDirective, tapDetectChanges } from '@dereekb/dbx-core';
6
6
  import * as i0 from "@angular/core";
@@ -26,6 +26,7 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
26
26
  this._defaultIcon = new BehaviorSubject('menu');
27
27
  this._defaultText = new BehaviorSubject(undefined);
28
28
  this._inputMode = new BehaviorSubject(undefined);
29
+ this._buttonMode = new BehaviorSubject('menu');
29
30
  this._breakpoint = new BehaviorSubject('large');
30
31
  this._anchors = new BehaviorSubject([]);
31
32
  this.isBreakpointActive$ = this._dbxScreenMediaService.isBreakpointActive(this._breakpoint);
@@ -42,9 +43,12 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
42
43
  });
43
44
  return applyBestFit(results, (x) => x.selected, (a, b) => this._dbxRouterService.comparePrecision(a.anchor, b.anchor), (nonBestFit) => ({ ...nonBestFit, selected: false }));
44
45
  }), tapDetectChanges(this.cdRef), shareReplay(1));
46
+ this.buttonMode$ = this._buttonMode.pipe(distinctUntilChanged(), shareReplay(1));
45
47
  this.selectedAnchor$ = this.anchors$.pipe(map((x) => x.find((y) => y.selected)));
48
+ this.nextRotateAnchor$ = this.anchors$.pipe(map((x) => findNext(x, (y) => y.selected) || x[0]));
46
49
  this.hasNoAnchors$ = this.anchors$.pipe(map((x) => x.length === 0), distinctUntilChanged(), shareReplay(1));
47
- this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.selectedAnchor$, this.mode$]).pipe(map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {
50
+ this.buttonNavAnchor$ = this.buttonMode$.pipe(switchMap((x) => (x === 'menu' ? this.selectedAnchor$ : this.nextRotateAnchor$)), distinctUntilChanged(), shareReplay(1));
51
+ this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.buttonNavAnchor$, this.mode$]).pipe(map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {
48
52
  let content;
49
53
  if (icon) {
50
54
  content = { icon, text: defaultText };
@@ -68,6 +72,7 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
68
72
  this._defaultIcon.complete();
69
73
  this._defaultText.complete();
70
74
  this._inputMode.complete();
75
+ this._buttonMode.complete();
71
76
  this._breakpoint.complete();
72
77
  this._anchors.complete();
73
78
  }
@@ -84,6 +89,9 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
84
89
  set anchors(anchors) {
85
90
  this._anchors.next(anchors ?? []);
86
91
  }
92
+ set buttonMode(mode) {
93
+ this._buttonMode.next(mode ?? 'menu');
94
+ }
87
95
  set mode(mode) {
88
96
  this._inputMode.next(mode);
89
97
  }
@@ -92,12 +100,12 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
92
100
  }
93
101
  }
94
102
  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 });
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 });
103
+ 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", buttonMode: "buttonMode", 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 <ng-container [ngSwitch]=\"buttonMode$ | async\">\n <ng-container *ngSwitchCase=\"'menu'\">\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 <ng-container *ngSwitchCase=\"'rotate'\">\n <dbx-anchor [anchor]=\"(nextRotateAnchor$ | async)?.anchor\">\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n </dbx-anchor>\n </ng-container>\n </ng-container>\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 });
96
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, decorators: [{
97
105
  type: Component,
98
106
  args: [{ selector: 'dbx-navbar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
99
107
  class: 'dbx-navbar'
100
- }, 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" }]
108
+ }, template: "<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <ng-container [ngSwitch]=\"buttonMode$ | async\">\n <ng-container *ngSwitchCase=\"'menu'\">\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 <ng-container *ngSwitchCase=\"'rotate'\">\n <dbx-anchor [anchor]=\"(nextRotateAnchor$ | async)?.anchor\">\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n </dbx-anchor>\n </ng-container>\n </ng-container>\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" }]
101
109
  }], ctorParameters: function () { return [{ type: i1.DbxRouterTransitionService }, { type: i0.ChangeDetectorRef }, { type: i2.DbxScreenMediaService }, { type: i1.DbxRouterService }]; }, propDecorators: { navAlign: [{
102
110
  type: Input
103
111
  }], icon: [{
@@ -108,9 +116,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
108
116
  type: Input
109
117
  }], anchors: [{
110
118
  type: Input
119
+ }], buttonMode: [{
120
+ type: Input
111
121
  }], mode: [{
112
122
  type: Input
113
123
  }], breakpoint: [{
114
124
  type: Input
115
125
  }] } });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9yb3V0ZXIvbGF5b3V0L25hdmJhci9uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvbmF2YmFyL25hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWEsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUErQixnQkFBZ0IsRUFBRSwwQkFBMEIsRUFBRSwyQkFBMkIsRUFBRSxnQkFBZ0IsRUFBMkIsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7OztBQVd0TDs7R0FFRztBQVNILE1BQU0sT0FBTyxrQkFBbUIsU0FBUSwyQkFBMkI7SUEwRWpFLFlBQVksMEJBQXNELEVBQVUsS0FBd0IsRUFBbUIsc0JBQTZDLEVBQW1CLGlCQUFtQztRQUN4TixLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUR3QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFtQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQW1CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUF4RTFOLGFBQVEsR0FBNEIsUUFBUSxDQUFDO1FBRXJDLFVBQUssR0FBRyxJQUFJLGVBQWUsQ0FBZ0Is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dCwgY29tYmluZUxhdGVzdCwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjcmVlbk1lZGlhV2lkdGhUeXBlIH0gZnJvbSAnLi8uLi8uLi8uLi9zY3JlZW4vc2NyZWVuJztcbmltcG9ydCB7IERieFNjcmVlbk1lZGlhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NjcmVlbi9zY3JlZW4uc2VydmljZSc7XG5pbXBvcnQgeyBhcHBseUJlc3RGaXQsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmLCBEYnhSb3V0ZXJTZXJ2aWNlLCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSwgQWJzdHJhY3RUcmFuc2l0aW9uRGlyZWN0aXZlLCB0YXBEZXRlY3RDaGFuZ2VzLCBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEhvcml6b250YWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbnRlcmZhY2UgTmF2QW5jaG9yTGluayB7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBhbmNob3I6IENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZjtcbn1cblxuZXhwb3J0IHR5cGUgTmF2QmFyQ29udGVudEFsaWduID0gJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xuZXhwb3J0IHR5cGUgTmF2YmFyTW9kZSA9ICdiYXInIHwgJ2J1dHRvbicgfCAnaWNvbic7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSBuYXZiYXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1uYXZiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1uYXZiYXInXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TmF2YmFyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUcmFuc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbmF2QWxpZ246IEhvcml6b250YWxDb25uZWN0aW9uUG9zID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBfaWNvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8c3RyaW5nPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfZGVmYXVsdEljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPHN0cmluZz4+KCdtZW51Jyk7XG4gIHByaXZhdGUgX2RlZmF1bHRUZXh0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2lucHV0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8TmF2YmFyTW9kZT4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2JyZWFrcG9pbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjcmVlbk1lZGlhV2lkdGhUeXBlPignbGFyZ2UnKTtcbiAgcHJpdmF0ZSBfYW5jaG9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmW10+KFtdKTtcblxuICByZWFkb25seSBpc0JyZWFrcG9pbnRBY3RpdmUkID0gdGhpcy5fZGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLmlzQnJlYWtwb2ludEFjdGl2ZSh0aGlzLl9icmVha3BvaW50KTtcblxuICByZWFkb25seSBtb2RlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2lucHV0TW9kZSwgdGhpcy5pc0JyZWFrcG9pbnRBY3RpdmUkXSkucGlwZShcbiAgICBtYXAoKFtpbnB1dE1vZGUsIGJyZWFrcG9pbnRBY3RpdmVdKSA9PiB7XG4gICAgICByZXR1cm4gYnJlYWtwb2ludEFjdGl2ZSA/IGlucHV0TW9kZSA/PyAnYmFyJyA6ICdidXR0b24nO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGFuY2hvcnMkOiBPYnNlcnZhYmxlPE5hdkFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9hbmNob3JzLCB0aGlzLmluaXRBbmRVcGRhdGVPblRyYW5zaXRpb25TdWNjZXNzJF0pLnBpcGUoXG4gICAgbWFwKChbYW5jaG9yc10pID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhbmNob3JzLm1hcCgoYW5jaG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZShhbmNob3IpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgYW5jaG9yXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFwcGx5QmVzdEZpdChcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgKHgpID0+IHguc2VsZWN0ZWQsXG4gICAgICAgIChhLCBiKSA9PiB0aGlzLl9kYnhSb3V0ZXJTZXJ2aWNlLmNvbXBhcmVQcmVjaXNpb24oYS5hbmNob3IsIGIuYW5jaG9yKSxcbiAgICAgICAgKG5vbkJlc3RGaXQpID0+ICh7IC4uLm5vbkJlc3RGaXQsIHNlbGVjdGVkOiBmYWxzZSB9KVxuICAgICAgKTtcbiAgICB9KSxcbiAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgc2VsZWN0ZWRBbmNob3IkOiBPYnNlcnZhYmxlPE1heWJlPE5hdkFuY2hvckxpbms+PiA9IHRoaXMuYW5jaG9ycyQucGlwZShtYXAoKHgpID0+IHguZmluZCgoeSkgPT4geS5zZWxlY3RlZCkpKTtcblxuICByZWFkb25seSBoYXNOb0FuY2hvcnMkID0gdGhpcy5hbmNob3JzJC5waXBlKFxuICAgIG1hcCgoeCkgPT4geC5sZW5ndGggPT09IDApLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBidXR0b25EaXNwbGF5JDogT2JzZXJ2YWJsZTxEYnhCdXR0b25EaXNwbGF5Q29udGVudD4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9kZWZhdWx0SWNvbiwgdGhpcy5faWNvbiwgdGhpcy5fZGVmYXVsdFRleHQsIHRoaXMuc2VsZWN0ZWRBbmNob3IkLCB0aGlzLm1vZGUkXSkucGlwZShcbiAgICBtYXAoKFtkZWZhdWx0SWNvbiwgaWNvbiwgZGVmYXVsdFRleHQsIHNlbGVjdGVkQW5jaG9yLCBtb2RlXSkgPT4ge1xuICAgICAgbGV0IGNvbnRlbnQ6IERieEJ1dHRvbkRpc3BsYXlDb250ZW50O1xuXG4gICAgICBpZiAoaWNvbikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uLCB0ZXh0OiBkZWZhdWx0VGV4dCB9O1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEFuY2hvcikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBzZWxlY3RlZEFuY2hvci5hbmNob3IuaWNvbiA/PyBkZWZhdWx0SWNvbiwgdGV4dDogc2VsZWN0ZWRBbmNob3IuYW5jaG9yLnRpdGxlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBkZWZhdWx0SWNvbiA/PyAnbWVudScsIHRleHQ6IGRlZmF1bHRUZXh0IH07XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlID09PSAnaWNvbicpIHtcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogY29udGVudC5pY29uIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKGRieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlOiBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSwgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcmVhZG9ubHkgX2RieFNjcmVlbk1lZGlhU2VydmljZTogRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLCBwcml2YXRlIHJlYWRvbmx5IF9kYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5faWNvbi5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2RlZmF1bHRJY29uLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZGVmYXVsdFRleHQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9pbnB1dE1vZGUuY29tcGxldGUoKTtcbiAgICB0aGlzLl9icmVha3BvaW50LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYW5jaG9ycy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaWNvbihpY29uOiBNYXliZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5faWNvbi5uZXh0KGljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0SWNvbihkZWZhdWx0SWNvbjogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRJY29uLm5leHQoZGVmYXVsdEljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0VGV4dChkZWZhdWx0VGV4dDogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRUZXh0Lm5leHQoZGVmYXVsdFRleHQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbmNob3JzKGFuY2hvcnM6IE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZltdPikge1xuICAgIHRoaXMuX2FuY2hvcnMubmV4dChhbmNob3JzID8/IFtdKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbW9kZShtb2RlOiBNYXliZTxOYXZiYXJNb2RlPikge1xuICAgIHRoaXMuX2lucHV0TW9kZS5uZXh0KG1vZGUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBicmVha3BvaW50KGJyZWFrcG9pbnQ6IFNjcmVlbk1lZGlhV2lkdGhUeXBlKSB7XG4gICAgdGhpcy5fYnJlYWtwb2ludC5uZXh0KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlJCB8IGFzeW5jXCI+XG4gIDwhLS0gQnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgPGRieC1pY29uLWJ1dHRvbiBjbGFzcz1cIm5hdi1tZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJvcGVuIG5hdmlnYXRpb25cIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5JCB8IGFzeW5jXCIgW21hdE1lbnVUcmlnZ2VyRm9yXT1cIm1lbnVcIiBbZGlzYWJsZWRdPVwiaGFzTm9BbmNob3JzJCB8IGFzeW5jXCI+PC9kYngtaWNvbi1idXR0b24+XG4gICAgPG1hdC1tZW51ICNtZW51PlxuICAgICAgPGRieC1hbmNob3IgKm5nRm9yPVwibGV0IHggb2YgYW5jaG9ycyQgfCBhc3luY1wiIFthbmNob3JdPVwieC5hbmNob3JcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtbWVudS1pdGVtIFtuZ0NsYXNzXT1cInguc2VsZWN0ZWQgPyAnYWN0aXZlJyA6ICcnXCI+XG4gICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwieC5hbmNob3IuaWNvblwiPnt7IHguYW5jaG9yLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgIHt7IHguYW5jaG9yLnRpdGxlIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kYngtYW5jaG9yPlxuICAgIDwvbWF0LW1lbnU+XG4gIDwvbmctY29udGFpbmVyPlxuICA8IS0tIEJhciAtLT5cbiAgPG5hdiAqbmdTd2l0Y2hDYXNlPVwiJ2JhcidcIiBtYXQtdGFiLW5hdi1iYXIgW2F0dHIubWF0LWFsaWduLXRhYnNdPVwibmF2QWxpZ25cIj5cbiAgICA8ZGJ4LWFuY2hvciAqbmdGb3I9XCJsZXQgeCBvZiBhbmNob3JzJCB8IGFzeW5jXCIgW2FuY2hvcl09XCJ4LmFuY2hvclwiPlxuICAgICAgPGEgbWF0LXRhYi1saW5rIFthY3RpdmVdPVwieC5zZWxlY3RlZFwiPnt7IHguYW5jaG9yLnRpdGxlIH19PC9hPlxuICAgIDwvZGJ4LWFuY2hvcj5cbiAgPC9uYXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9yb3V0ZXIvbGF5b3V0L25hdmJhci9uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvbmF2YmFyL25hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVySCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQStCLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLGdCQUFnQixFQUEyQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBWXRMOztHQUVHO0FBU0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDJCQUEyQjtJQW9GakUsWUFBWSwwQkFBc0QsRUFBVSxLQUF3QixFQUFtQixzQkFBNkMsRUFBbUIsaUJBQW1DO1FBQ3hOLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBRHdDLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQW1CLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBdUI7UUFBbUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQWxGMU4sYUFBUSxHQUE0QixRQUFRLENBQUM7UUFFckMsVUFBSyxH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RCxJQUNXLE9BQU8sQ0FBQyxPQUE2QztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLElBQTZCO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFDVyxJQUFJLENBQUMsSUFBdUI7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLFVBQWdDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O2dIQXBJVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiwrU0M1Qi9CLHE5Q0E2QkE7NEZERGEsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsWUFBWTtxQkFDcEI7b05BSUQsUUFBUTtzQkFEUCxLQUFLO2dCQW1HSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssV0FBVztzQkFEckIsS0FBSztnQkFNSyxXQUFXO3NCQURyQixLQUFLO2dCQU1LLE9BQU87c0JBRGpCLEtBQUs7Z0JBTUssVUFBVTtzQkFEcEIsS0FBSztnQkFNSyxJQUFJO3NCQURkLEtBQUs7Z0JBTUssVUFBVTtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2NyZWVuTWVkaWFXaWR0aFR5cGUgfSBmcm9tICcuLy4uLy4uLy4uL3NjcmVlbi9zY3JlZW4nO1xuaW1wb3J0IHsgRGJ4U2NyZWVuTWVkaWFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2NyZWVuL3NjcmVlbi5zZXJ2aWNlJztcbmltcG9ydCB7IGFwcGx5QmVzdEZpdCwgZmluZE5leHQsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBJbnB1dCwgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmLCBEYnhSb3V0ZXJTZXJ2aWNlLCBEYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSwgQWJzdHJhY3RUcmFuc2l0aW9uRGlyZWN0aXZlLCB0YXBEZXRlY3RDaGFuZ2VzLCBEYnhCdXR0b25EaXNwbGF5Q29udGVudCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEhvcml6b250YWxDb25uZWN0aW9uUG9zIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbnRlcmZhY2UgTmF2QW5jaG9yTGluayB7XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBhbmNob3I6IENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZjtcbn1cblxuZXhwb3J0IHR5cGUgTmF2QmFyQ29udGVudEFsaWduID0gJ2NlbnRlcicgfCAnbGVmdCcgfCAncmlnaHQnO1xuZXhwb3J0IHR5cGUgTmF2YmFyTW9kZSA9ICdiYXInIHwgJ2J1dHRvbicgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBOYXZiYXJCdXR0b25Nb2RlID0gJ21lbnUnIHwgJ3JvdGF0ZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHRoYXQgZGlzcGxheXMgYSBuYXZiYXIuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1uYXZiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2RieC1uYXZiYXInXG4gIH1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4TmF2YmFyQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RUcmFuc2l0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgQElucHV0KClcbiAgbmF2QWxpZ246IEhvcml6b250YWxDb25uZWN0aW9uUG9zID0gJ2NlbnRlcic7XG5cbiAgcHJpdmF0ZSBfaWNvbiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8c3RyaW5nPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfZGVmYXVsdEljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPHN0cmluZz4+KCdtZW51Jyk7XG4gIHByaXZhdGUgX2RlZmF1bHRUZXh0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxzdHJpbmc+Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX2lucHV0TW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8TmF2YmFyTW9kZT4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2J1dHRvbk1vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5hdmJhckJ1dHRvbk1vZGU+KCdtZW51Jyk7XG4gIHByaXZhdGUgX2JyZWFrcG9pbnQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFNjcmVlbk1lZGlhV2lkdGhUeXBlPignbGFyZ2UnKTtcbiAgcHJpdmF0ZSBfYW5jaG9ycyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmW10+KFtdKTtcblxuICByZWFkb25seSBpc0JyZWFrcG9pbnRBY3RpdmUkID0gdGhpcy5fZGJ4U2NyZWVuTWVkaWFTZXJ2aWNlLmlzQnJlYWtwb2ludEFjdGl2ZSh0aGlzLl9icmVha3BvaW50KTtcblxuICByZWFkb25seSBtb2RlJCA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2lucHV0TW9kZSwgdGhpcy5pc0JyZWFrcG9pbnRBY3RpdmUkXSkucGlwZShcbiAgICBtYXAoKFtpbnB1dE1vZGUsIGJyZWFrcG9pbnRBY3RpdmVdKSA9PiB7XG4gICAgICByZXR1cm4gYnJlYWtwb2ludEFjdGl2ZSA/IGlucHV0TW9kZSA/PyAnYmFyJyA6ICdidXR0b24nO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgdGFwRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGFuY2hvcnMkOiBPYnNlcnZhYmxlPE5hdkFuY2hvckxpbmtbXT4gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9hbmNob3JzLCB0aGlzLmluaXRBbmRVcGRhdGVPblRyYW5zaXRpb25TdWNjZXNzJF0pLnBpcGUoXG4gICAgbWFwKChbYW5jaG9yc10pID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhbmNob3JzLm1hcCgoYW5jaG9yKSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5fZGJ4Um91dGVyU2VydmljZS5pc0FjdGl2ZShhbmNob3IpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgc2VsZWN0ZWQsXG4gICAgICAgICAgYW5jaG9yXG4gICAgICAgIH07XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGFwcGx5QmVzdEZpdChcbiAgICAgICAgcmVzdWx0cyxcbiAgICAgICAgKHgpID0+IHguc2VsZWN0ZWQsXG4gICAgICAgIChhLCBiKSA9PiB0aGlzLl9kYnhSb3V0ZXJTZXJ2aWNlLmNvbXBhcmVQcmVjaXNpb24oYS5hbmNob3IsIGIuYW5jaG9yKSxcbiAgICAgICAgKG5vbkJlc3RGaXQpID0+ICh7IC4uLm5vbkJlc3RGaXQsIHNlbGVjdGVkOiBmYWxzZSB9KVxuICAgICAgKTtcbiAgICB9KSxcbiAgICB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uTW9kZSQgPSB0aGlzLl9idXR0b25Nb2RlLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkQW5jaG9yJDogT2JzZXJ2YWJsZTxNYXliZTxOYXZBbmNob3JMaW5rPj4gPSB0aGlzLmFuY2hvcnMkLnBpcGUobWFwKCh4KSA9PiB4LmZpbmQoKHkpID0+IHkuc2VsZWN0ZWQpKSk7XG4gIHJlYWRvbmx5IG5leHRSb3RhdGVBbmNob3IkOiBPYnNlcnZhYmxlPE1heWJlPE5hdkFuY2hvckxpbms+PiA9IHRoaXMuYW5jaG9ycyQucGlwZShtYXAoKHgpID0+IGZpbmROZXh0KHgsICh5KSA9PiB5LnNlbGVjdGVkKSB8fCB4WzBdKSk7XG5cbiAgcmVhZG9ubHkgaGFzTm9BbmNob3JzJCA9IHRoaXMuYW5jaG9ycyQucGlwZShcbiAgICBtYXAoKHgpID0+IHgubGVuZ3RoID09PSAwKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uTmF2QW5jaG9yJCA9IHRoaXMuYnV0dG9uTW9kZSQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHgpID0+ICh4ID09PSAnbWVudScgPyB0aGlzLnNlbGVjdGVkQW5jaG9yJCA6IHRoaXMubmV4dFJvdGF0ZUFuY2hvciQpKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgYnV0dG9uRGlzcGxheSQ6IE9ic2VydmFibGU8RGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQ+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fZGVmYXVsdEljb24sIHRoaXMuX2ljb24sIHRoaXMuX2RlZmF1bHRUZXh0LCB0aGlzLmJ1dHRvbk5hdkFuY2hvciQsIHRoaXMubW9kZSRdKS5waXBlKFxuICAgIG1hcCgoW2RlZmF1bHRJY29uLCBpY29uLCBkZWZhdWx0VGV4dCwgc2VsZWN0ZWRBbmNob3IsIG1vZGVdKSA9PiB7XG4gICAgICBsZXQgY29udGVudDogRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQ7XG5cbiAgICAgIGlmIChpY29uKSB7XG4gICAgICAgIGNvbnRlbnQgPSB7IGljb24sIHRleHQ6IGRlZmF1bHRUZXh0IH07XG4gICAgICB9IGVsc2UgaWYgKHNlbGVjdGVkQW5jaG9yKSB7XG4gICAgICAgIGNvbnRlbnQgPSB7IGljb246IHNlbGVjdGVkQW5jaG9yLmFuY2hvci5pY29uID8/IGRlZmF1bHRJY29uLCB0ZXh0OiBzZWxlY3RlZEFuY2hvci5hbmNob3IudGl0bGUgfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnRlbnQgPSB7IGljb246IGRlZmF1bHRJY29uID8/ICdtZW51JywgdGV4dDogZGVmYXVsdFRleHQgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1vZGUgPT09ICdpY29uJykge1xuICAgICAgICByZXR1cm4geyBpY29uOiBjb250ZW50Lmljb24gfTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgfVxuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoZGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2U6IERieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlLCBwcml2YXRlIGNkUmVmOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByZWFkb25seSBfZGJ4U2NyZWVuTWVkaWFTZXJ2aWNlOiBEYnhTY3JlZW5NZWRpYVNlcnZpY2UsIHByaXZhdGUgcmVhZG9ubHkgX2RieFJvdXRlclNlcnZpY2U6IERieFJvdXRlclNlcnZpY2UpIHtcbiAgICBzdXBlcihkYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9pY29uLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fZGVmYXVsdEljb24uY29tcGxldGUoKTtcbiAgICB0aGlzLl9kZWZhdWx0VGV4dC5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2lucHV0TW9kZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2J1dHRvbk1vZGUuY29tcGxldGUoKTtcbiAgICB0aGlzLl9icmVha3BvaW50LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYW5jaG9ycy5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgaWNvbihpY29uOiBNYXliZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5faWNvbi5uZXh0KGljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0SWNvbihkZWZhdWx0SWNvbjogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRJY29uLm5leHQoZGVmYXVsdEljb24pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkZWZhdWx0VGV4dChkZWZhdWx0VGV4dDogTWF5YmU8c3RyaW5nPikge1xuICAgIHRoaXMuX2RlZmF1bHRUZXh0Lm5leHQoZGVmYXVsdFRleHQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhbmNob3JzKGFuY2hvcnM6IE1heWJlPENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZltdPikge1xuICAgIHRoaXMuX2FuY2hvcnMubmV4dChhbmNob3JzID8/IFtdKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnV0dG9uTW9kZShtb2RlOiBNYXliZTxOYXZiYXJCdXR0b25Nb2RlPikge1xuICAgIHRoaXMuX2J1dHRvbk1vZGUubmV4dChtb2RlID8/ICdtZW51Jyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1vZGUobW9kZTogTWF5YmU8TmF2YmFyTW9kZT4pIHtcbiAgICB0aGlzLl9pbnB1dE1vZGUubmV4dChtb2RlKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgYnJlYWtwb2ludChicmVha3BvaW50OiBTY3JlZW5NZWRpYVdpZHRoVHlwZSkge1xuICAgIHRoaXMuX2JyZWFrcG9pbnQubmV4dChicmVha3BvaW50KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZSQgfCBhc3luY1wiPlxuICA8IS0tIEJ1dHRvbiAtLT5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImJ1dHRvbk1vZGUkIHwgYXN5bmNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidtZW51J1wiPlxuICAgICAgICA8ZGJ4LWljb24tYnV0dG9uIGNsYXNzPVwibmF2LW1lbnUtYnV0dG9uXCIgYXJpYS1sYWJlbD1cIm9wZW4gbmF2aWdhdGlvblwiIFtidXR0b25EaXNwbGF5XT1cImJ1dHRvbkRpc3BsYXkkIHwgYXN5bmNcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiIFtkaXNhYmxlZF09XCJoYXNOb0FuY2hvcnMkIHwgYXN5bmNcIj48L2RieC1pY29uLWJ1dHRvbj5cbiAgICAgICAgPG1hdC1tZW51ICNtZW51PlxuICAgICAgICAgIDxkYngtYW5jaG9yICpuZ0Zvcj1cImxldCB4IG9mIGFuY2hvcnMkIHwgYXN5bmNcIiBbYW5jaG9yXT1cInguYW5jaG9yXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW25nQ2xhc3NdPVwieC5zZWxlY3RlZCA/ICdhY3RpdmUnIDogJydcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwieC5hbmNob3IuaWNvblwiPnt7IHguYW5jaG9yLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICB7eyB4LmFuY2hvci50aXRsZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kYngtYW5jaG9yPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm90YXRlJ1wiPlxuICAgICAgICA8ZGJ4LWFuY2hvciBbYW5jaG9yXT1cIihuZXh0Um90YXRlQW5jaG9yJCB8IGFzeW5jKT8uYW5jaG9yXCI+XG4gICAgICAgICAgPGRieC1pY29uLWJ1dHRvbiBjbGFzcz1cIm5hdi1tZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJvcGVuIG5hdmlnYXRpb25cIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5JCB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cImhhc05vQW5jaG9ycyQgfCBhc3luY1wiPjwvZGJ4LWljb24tYnV0dG9uPlxuICAgICAgICA8L2RieC1hbmNob3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gQmFyIC0tPlxuICA8bmF2ICpuZ1N3aXRjaENhc2U9XCInYmFyJ1wiIG1hdC10YWItbmF2LWJhciBbYXR0ci5tYXQtYWxpZ24tdGFic109XCJuYXZBbGlnblwiPlxuICAgIDxkYngtYW5jaG9yICpuZ0Zvcj1cImxldCB4IG9mIGFuY2hvcnMkIHwgYXN5bmNcIiBbYW5jaG9yXT1cInguYW5jaG9yXCI+XG4gICAgICA8YSBtYXQtdGFiLWxpbmsgW2FjdGl2ZV09XCJ4LnNlbGVjdGVkXCI+e3sgeC5hbmNob3IudGl0bGUgfX08L2E+XG4gICAgPC9kYngtYW5jaG9yPlxuICA8L25hdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -15,7 +15,7 @@ import * as i3 from '@angular/material/progress-spinner';
15
15
  import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
16
16
  import * as i2$1 from '@angular/material/icon';
17
17
  import { MatIconModule } from '@angular/material/icon';
18
- import { getValueFromGetter, mergeObjects, splitCommaSeparatedStringToSet, asPromise, objectHasNoKeys, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, filterMaybeValues, asArray, firstValue, filterUndefinedValues, isMaybeNot, isNotNullOrEmptyString, mapIterable, toReadableError, isDefaultReadableError, build, ServerErrorResponse, UnauthorizedServerErrorResponse, maybeModifierMapToFunction, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue } from '@dereekb/util';
18
+ import { getValueFromGetter, mergeObjects, splitCommaSeparatedStringToSet, asPromise, objectHasNoKeys, modifier, combineMaps, addModifiers, removeModifiers, applyBestFit, findNext, filterMaybeValues, asArray, firstValue, filterUndefinedValues, isMaybeNot, isNotNullOrEmptyString, mapIterable, toReadableError, isDefaultReadableError, build, ServerErrorResponse, UnauthorizedServerErrorResponse, maybeModifierMapToFunction, ModelRelationUtility, encodeModelKeyTypePair, useIterableOrValue } from '@dereekb/util';
19
19
  import * as i3$1 from '@angular/material/progress-bar';
20
20
  import { MatProgressBarModule } from '@angular/material/progress-bar';
21
21
  import * as i5 from '@angular/material/core';
@@ -1189,6 +1189,12 @@ function dbxColorBackground(color) {
1189
1189
  case 'warn':
1190
1190
  cssClass = 'dbx-warn-bg';
1191
1191
  break;
1192
+ case 'grey':
1193
+ cssClass = 'dbx-grey-bg';
1194
+ break;
1195
+ case 'disabled':
1196
+ cssClass = 'dbx-disabled-bg';
1197
+ break;
1192
1198
  }
1193
1199
  return cssClass;
1194
1200
  }
@@ -2877,6 +2883,7 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
2877
2883
  this._defaultIcon = new BehaviorSubject('menu');
2878
2884
  this._defaultText = new BehaviorSubject(undefined);
2879
2885
  this._inputMode = new BehaviorSubject(undefined);
2886
+ this._buttonMode = new BehaviorSubject('menu');
2880
2887
  this._breakpoint = new BehaviorSubject('large');
2881
2888
  this._anchors = new BehaviorSubject([]);
2882
2889
  this.isBreakpointActive$ = this._dbxScreenMediaService.isBreakpointActive(this._breakpoint);
@@ -2893,9 +2900,12 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
2893
2900
  });
2894
2901
  return applyBestFit(results, (x) => x.selected, (a, b) => this._dbxRouterService.comparePrecision(a.anchor, b.anchor), (nonBestFit) => (Object.assign(Object.assign({}, nonBestFit), { selected: false })));
2895
2902
  }), tapDetectChanges(this.cdRef), shareReplay(1));
2903
+ this.buttonMode$ = this._buttonMode.pipe(distinctUntilChanged(), shareReplay(1));
2896
2904
  this.selectedAnchor$ = this.anchors$.pipe(map((x) => x.find((y) => y.selected)));
2905
+ this.nextRotateAnchor$ = this.anchors$.pipe(map((x) => findNext(x, (y) => y.selected) || x[0]));
2897
2906
  this.hasNoAnchors$ = this.anchors$.pipe(map((x) => x.length === 0), distinctUntilChanged(), shareReplay(1));
2898
- this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.selectedAnchor$, this.mode$]).pipe(map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {
2907
+ this.buttonNavAnchor$ = this.buttonMode$.pipe(switchMap((x) => (x === 'menu' ? this.selectedAnchor$ : this.nextRotateAnchor$)), distinctUntilChanged(), shareReplay(1));
2908
+ this.buttonDisplay$ = combineLatest([this._defaultIcon, this._icon, this._defaultText, this.buttonNavAnchor$, this.mode$]).pipe(map(([defaultIcon, icon, defaultText, selectedAnchor, mode]) => {
2899
2909
  var _a;
2900
2910
  let content;
2901
2911
  if (icon) {
@@ -2920,6 +2930,7 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
2920
2930
  this._defaultIcon.complete();
2921
2931
  this._defaultText.complete();
2922
2932
  this._inputMode.complete();
2933
+ this._buttonMode.complete();
2923
2934
  this._breakpoint.complete();
2924
2935
  this._anchors.complete();
2925
2936
  }
@@ -2936,6 +2947,9 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
2936
2947
  set anchors(anchors) {
2937
2948
  this._anchors.next(anchors !== null && anchors !== void 0 ? anchors : []);
2938
2949
  }
2950
+ set buttonMode(mode) {
2951
+ this._buttonMode.next(mode !== null && mode !== void 0 ? mode : 'menu');
2952
+ }
2939
2953
  set mode(mode) {
2940
2954
  this._inputMode.next(mode);
2941
2955
  }
@@ -2944,12 +2958,12 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
2944
2958
  }
2945
2959
  }
2946
2960
  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 });
2947
- 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 });
2961
+ 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", buttonMode: "buttonMode", 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 <ng-container [ngSwitch]=\"buttonMode$ | async\">\n <ng-container *ngSwitchCase=\"'menu'\">\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 <ng-container *ngSwitchCase=\"'rotate'\">\n <dbx-anchor [anchor]=\"(nextRotateAnchor$ | async)?.anchor\">\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n </dbx-anchor>\n </ng-container>\n </ng-container>\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 });
2948
2962
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, decorators: [{
2949
2963
  type: Component,
2950
2964
  args: [{ selector: 'dbx-navbar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
2951
2965
  class: 'dbx-navbar'
2952
- }, 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" }]
2966
+ }, template: "<ng-container [ngSwitch]=\"mode$ | async\">\n <!-- Button -->\n <ng-container *ngSwitchDefault>\n <ng-container [ngSwitch]=\"buttonMode$ | async\">\n <ng-container *ngSwitchCase=\"'menu'\">\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 <ng-container *ngSwitchCase=\"'rotate'\">\n <dbx-anchor [anchor]=\"(nextRotateAnchor$ | async)?.anchor\">\n <dbx-icon-button class=\"nav-menu-button\" aria-label=\"open navigation\" [buttonDisplay]=\"buttonDisplay$ | async\" [disabled]=\"hasNoAnchors$ | async\"></dbx-icon-button>\n </dbx-anchor>\n </ng-container>\n </ng-container>\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" }]
2953
2967
  }], ctorParameters: function () { return [{ type: i1$2.DbxRouterTransitionService }, { type: i0.ChangeDetectorRef }, { type: DbxScreenMediaService }, { type: i1$2.DbxRouterService }]; }, propDecorators: { navAlign: [{
2954
2968
  type: Input
2955
2969
  }], icon: [{
@@ -2960,6 +2974,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2960
2974
  type: Input
2961
2975
  }], anchors: [{
2962
2976
  type: Input
2977
+ }], buttonMode: [{
2978
+ type: Input
2963
2979
  }], mode: [{
2964
2980
  type: Input
2965
2981
  }], breakpoint: [{