@dereekb/dbx-web 9.24.38 → 9.24.40

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/calendar",
3
- "version": "9.24.38",
3
+ "version": "9.24.40",
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.24.38"
11
+ "@dereekb/dbx-web": "9.24.40"
12
12
  },
13
13
  "dependencies": {
14
14
  "tslib": "^2.3.0"
@@ -87,7 +87,7 @@ export class DbxButtonComponent extends AbstractDbxButtonDirective {
87
87
  }
88
88
  DbxButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
89
89
  DbxButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxButtonComponent, selector: "dbx-button", inputs: { type: "type", raised: "raised", stroked: "stroked", flat: "flat", iconOnly: "iconOnly", color: "color", customButtonColor: "customButtonColor", customTextColor: "customTextColor", customSpinnerColor: "customSpinnerColor" }, providers: provideDbxButton(DbxButtonComponent), usesInheritance: true, ngImport: i0, template: `
90
- <dbx-spinner-button class="page-button" (btnClick)="clickButton()" [options]="btnOptions">
90
+ <dbx-spinner-button (btnClick)="clickButton()" [options]="btnOptions">
91
91
  <ng-content></ng-content>
92
92
  </dbx-spinner-button>
93
93
  `, isInline: true, dependencies: [{ kind: "component", type: i1.DbxSpinnerButtonComponent, selector: "dbx-spinner-button" }] });
@@ -96,7 +96,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
96
96
  args: [{
97
97
  selector: 'dbx-button',
98
98
  template: `
99
- <dbx-spinner-button class="page-button" (btnClick)="clickButton()" [options]="btnOptions">
99
+ <dbx-spinner-button (btnClick)="clickButton()" [options]="btnOptions">
100
100
  <ng-content></ng-content>
101
101
  </dbx-spinner-button>
102
102
  `,
@@ -121,4 +121,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
121
121
  }], customSpinnerColor: [{
122
122
  type: Input
123
123
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSWpGLE1BQU0sQ0FBTixJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDOUIsbUVBQU0sQ0FBQTtJQUNOLHFFQUFPLENBQUE7SUFDUCwrREFBSSxDQUFBO0lBQ0oseUVBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSy9CO0FBRUQ7O0dBRUc7QUFVSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsMEJBQTBCO0lBVGxFOztRQTBEUyxVQUFLLEdBQWlCLFNBQVMsQ0FBQztLQXNEeEM7SUFuR0MsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBZTtRQUN4QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxJQUFJ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SUMsa0JBQWtCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlRGJ4QnV0dG9uLCBBYnN0cmFjdERieEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhQcm9ncmVzc0J1dHRvbk9wdGlvbnMgfSBmcm9tICcuL3Byb2dyZXNzL2J1dHRvbi5wcm9ncmVzcy5jb25maWcnO1xuXG5leHBvcnQgZW51bSBEYnhCdXR0b25EaXNwbGF5VHlwZSB7XG4gIFJBSVNFRCxcbiAgU1RST0tFRCxcbiAgRkxBVCxcbiAgSUNPTl9PTkxZXG59XG5cbi8qKlxuICogQ29tcGxleCBidXR0b24gdGhhdCBzdXBwb3J0cyBsb2FkaW5nIHN0YXRlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1zcGlubmVyLWJ1dHRvbiBjbGFzcz1cInBhZ2UtYnV0dG9uXCIgKGJ0bkNsaWNrKT1cImNsaWNrQnV0dG9uKClcIiBbb3B0aW9uc109XCJidG5PcHRpb25zXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9kYngtc3Bpbm5lci1idXR0b24+XG4gIGAsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEJ1dHRvbihEYnhCdXR0b25Db21wb25lbnQpXG59KVxuZXhwb3J0IGNsYXNzIERieEJ1dHRvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RGJ4QnV0dG9uRGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgdHlwZT86IERieEJ1dHRvbkRpc3BsYXlUeXBlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCByYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGJ4QnV0dG9uRGlzcGxheVR5cGUuUkFJU0VEO1xuICB9XG5cbiAgc2V0IHJhaXNlZChyYWlzZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAocmFpc2VkKSB7XG4gICAgICB0aGlzLnR5cGUgPSBEYnhCdXR0b25EaXNwbGF5VHlwZS5SQUlTRUQ7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IHN0cm9rZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHlwZSA9PT0gRGJ4QnV0dG9uRGlzcGxheVR5cGUuU1RST0tFRDtcbiAgfVxuXG4gIHNldCBzdHJva2VkKHN0cm9rZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc3Ryb2tlZCkge1xuICAgICAgdGhpcy50eXBlID0gRGJ4QnV0dG9uRGlzcGxheVR5cGUuU1RST0tFRDtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZmxhdCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEYnhCdXR0b25EaXNwbGF5VHlwZS5GTEFUO1xuICB9XG5cbiAgc2V0IGZsYXQoZmxhdDogYm9vbGVhbikge1xuICAgIGlmIChmbGF0KSB7XG4gICAgICB0aGlzLnR5cGUgPSBEYnhCdXR0b25EaXNwbGF5VHlwZS5GTEFUO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBpY29uT25seSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEYnhCdXR0b25EaXNwbGF5VHlwZS5JQ09OX09OTFk7XG4gIH1cblxuICBzZXQgaWNvbk9ubHkoaWNvbk9ubHk6IGJvb2xlYW4pIHtcbiAgICBpZiAoaWNvbk9ubHkpIHtcbiAgICAgIHRoaXMudHlwZSA9IERieEJ1dHRvbkRpc3BsYXlUeXBlLklDT05fT05MWTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgY29sb3I6IFRoZW1lUGFsZXR0ZSA9ICdwcmltYXJ5JztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3VzdG9tQnV0dG9uQ29sb3I6IE1heWJlPHN0cmluZz47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGN1c3RvbVRleHRDb2xvcjogTWF5YmU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3VzdG9tU3Bpbm5lckNvbG9yOiBNYXliZTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBnZXQgYnRuT3B0aW9ucygpOiBEYnhQcm9ncmVzc0J1dHRvbk9wdGlvbnMge1xuICAgIGNvbnN0IGJ1dHRvbkljb24gPSB0aGlzLmljb25cbiAgICAgID8ge1xuICAgICAgICAgIGZvbnRJY29uOiB0aGlzLmljb25cbiAgICAgICAgfVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBjdXN0b21TdHlsZSA9IHt9IGFzIHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuY3VzdG9tQnV0dG9uQ29sb3IpIHtcbiAgICAgIGN1c3RvbVN0eWxlWydiYWNrZ3JvdW5kJ10gPSB0aGlzLmN1c3RvbUJ1dHRvbkNvbG9yO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmN1c3RvbVRleHRDb2xvcikge1xuICAgICAgY3VzdG9tU3R5bGVbJ2NvbG9yJ10gPSB0aGlzLmN1c3RvbVRleHRDb2xvcjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXN0b21TcGlubmVyQ29sb3I6IE1heWJlPHN0cmluZz4gPSB0aGlzLmN1c3RvbVNwaW5uZXJDb2xvciA/PyB0aGlzLmN1c3RvbVRleHRDb2xvcjtcbiAgICBjb25zdCBkaXNhYmxlZCA9ICF0aGlzLndvcmtpbmcgJiYgdGhpcy5kaXNhYmxlZDsgLy8gT25seSBkaXNhYmxlZCBpZiB3ZSdyZSBub3Qgd29ya2luZywgaW4gb3JkZXIgdG8gc2hvdyB0aGUgYW5pbWF0aW9uLlxuXG4gICAgY29uc3QgaXNJY29uT25seUJ1dHRvbiA9IGJ1dHRvbkljb24gJiYgIXRoaXMudGV4dDtcblxuICAgIHJldHVybiB7XG4gICAgICBmYWI6IGZhbHNlLFxuICAgICAgd29ya2luZzogdGhpcy53b3JraW5nLFxuICAgICAgYnV0dG9uSWNvbixcbiAgICAgIGN1c3RvbVN0eWxlLFxuICAgICAgY3VzdG9tQ2xhc3M6ICdkYngtYnV0dG9uICcgKyAoaXNJY29uT25seUJ1dHRvbiA/ICdkYngtYnV0dG9uLW5vLXRleHQnIDogJycpLFxuICAgICAgdGV4dDogdGhpcy50ZXh0ID8/ICcnLFxuICAgICAgYnV0dG9uQ29sb3I6IHRoaXMuY29sb3IsXG4gICAgICBiYXJDb2xvcjogJ2FjY2VudCcsXG4gICAgICByYWlzZWQ6IHRoaXMucmFpc2VkLFxuICAgICAgc3Ryb2tlZDogdGhpcy5zdHJva2VkLFxuICAgICAgZmxhdDogdGhpcy5mbGF0LFxuICAgICAgaWNvbk9ubHk6IHRoaXMuaWNvbk9ubHksXG4gICAgICBtb2RlOiAnaW5kZXRlcm1pbmF0ZScsXG4gICAgICBzcGlubmVyQ29sb3I6IHRoaXMuY29sb3IgPT09ICdwcmltYXJ5JyA/ICdhY2NlbnQnIDogJ3ByaW1hcnknLFxuICAgICAgY3VzdG9tU3Bpbm5lckNvbG9yLFxuICAgICAgZGlzYWJsZWRcbiAgICB9O1xuICB9XG59XG4iXX0=
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7O0FBSWpGLE1BQU0sQ0FBTixJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDOUIsbUVBQU0sQ0FBQTtJQUNOLHFFQUFPLENBQUE7SUFDUCwrREFBSSxDQUFBO0lBQ0oseUVBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBSy9CO0FBRUQ7O0dBRUc7QUFVSCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsMEJBQTBCO0lBVGxFOztRQTBEUyxVQUFLLEdBQWlCLFNBQVMsQ0FBQztLQXNEeEM7SUFuR0MsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBZTtRQUN4QixJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsb0JBQW9CLENBQUMsTUFBTSxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVELElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLElBQUksR0FBRyxvQkFBb0IsQ0FBQyxPQUFPLENBQUM7U0FDMUM7SUFDSCxDQUFDO0lBRUQsSUFDSSxJQUFJ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SUMsa0JBQWtCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGhlbWVQYWxldHRlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlRGJ4QnV0dG9uLCBBYnN0cmFjdERieEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBEYnhQcm9ncmVzc0J1dHRvbk9wdGlvbnMgfSBmcm9tICcuL3Byb2dyZXNzL2J1dHRvbi5wcm9ncmVzcy5jb25maWcnO1xuXG5leHBvcnQgZW51bSBEYnhCdXR0b25EaXNwbGF5VHlwZSB7XG4gIFJBSVNFRCxcbiAgU1RST0tFRCxcbiAgRkxBVCxcbiAgSUNPTl9PTkxZXG59XG5cbi8qKlxuICogQ29tcGxleCBidXR0b24gdGhhdCBzdXBwb3J0cyBsb2FkaW5nIHN0YXRlcy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1zcGlubmVyLWJ1dHRvbiAoYnRuQ2xpY2spPVwiY2xpY2tCdXR0b24oKVwiIFtvcHRpb25zXT1cImJ0bk9wdGlvbnNcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2RieC1zcGlubmVyLWJ1dHRvbj5cbiAgYCxcbiAgcHJvdmlkZXJzOiBwcm92aWRlRGJ4QnV0dG9uKERieEJ1dHRvbkNvbXBvbmVudClcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REYnhCdXR0b25EaXJlY3RpdmUge1xuICBASW5wdXQoKVxuICB0eXBlPzogRGJ4QnV0dG9uRGlzcGxheVR5cGU7XG5cbiAgQElucHV0KClcbiAgZ2V0IHJhaXNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEYnhCdXR0b25EaXNwbGF5VHlwZS5SQUlTRUQ7XG4gIH1cblxuICBzZXQgcmFpc2VkKHJhaXNlZDogYm9vbGVhbikge1xuICAgIGlmIChyYWlzZWQpIHtcbiAgICAgIHRoaXMudHlwZSA9IERieEJ1dHRvbkRpc3BsYXlUeXBlLlJBSVNFRDtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgc3Ryb2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBEYnhCdXR0b25EaXNwbGF5VHlwZS5TVFJPS0VEO1xuICB9XG5cbiAgc2V0IHN0cm9rZWQoc3Ryb2tlZDogYm9vbGVhbikge1xuICAgIGlmIChzdHJva2VkKSB7XG4gICAgICB0aGlzLnR5cGUgPSBEYnhCdXR0b25EaXNwbGF5VHlwZS5TVFJPS0VEO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCBmbGF0KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERieEJ1dHRvbkRpc3BsYXlUeXBlLkZMQVQ7XG4gIH1cblxuICBzZXQgZmxhdChmbGF0OiBib29sZWFuKSB7XG4gICAgaWYgKGZsYXQpIHtcbiAgICAgIHRoaXMudHlwZSA9IERieEJ1dHRvbkRpc3BsYXlUeXBlLkZMQVQ7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGljb25Pbmx5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IERieEJ1dHRvbkRpc3BsYXlUeXBlLklDT05fT05MWTtcbiAgfVxuXG4gIHNldCBpY29uT25seShpY29uT25seTogYm9vbGVhbikge1xuICAgIGlmIChpY29uT25seSkge1xuICAgICAgdGhpcy50eXBlID0gRGJ4QnV0dG9uRGlzcGxheVR5cGUuSUNPTl9PTkxZO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjdXN0b21CdXR0b25Db2xvcjogTWF5YmU8c3RyaW5nPjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgY3VzdG9tVGV4dENvbG9yOiBNYXliZTxzdHJpbmc+O1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjdXN0b21TcGlubmVyQ29sb3I6IE1heWJlPHN0cmluZz47XG5cbiAgcHVibGljIGdldCBidG5PcHRpb25zKCk6IERieFByb2dyZXNzQnV0dG9uT3B0aW9ucyB7XG4gICAgY29uc3QgYnV0dG9uSWNvbiA9IHRoaXMuaWNvblxuICAgICAgPyB7XG4gICAgICAgICAgZm9udEljb246IHRoaXMuaWNvblxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IGN1c3RvbVN0eWxlID0ge30gYXMge1xuICAgICAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xuICAgIH07XG5cbiAgICBpZiAodGhpcy5jdXN0b21CdXR0b25Db2xvcikge1xuICAgICAgY3VzdG9tU3R5bGVbJ2JhY2tncm91bmQnXSA9IHRoaXMuY3VzdG9tQnV0dG9uQ29sb3I7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3VzdG9tVGV4dENvbG9yKSB7XG4gICAgICBjdXN0b21TdHlsZVsnY29sb3InXSA9IHRoaXMuY3VzdG9tVGV4dENvbG9yO1xuICAgIH1cblxuICAgIGNvbnN0IGN1c3RvbVNwaW5uZXJDb2xvcjogTWF5YmU8c3RyaW5nPiA9IHRoaXMuY3VzdG9tU3Bpbm5lckNvbG9yID8/IHRoaXMuY3VzdG9tVGV4dENvbG9yO1xuICAgIGNvbnN0IGRpc2FibGVkID0gIXRoaXMud29ya2luZyAmJiB0aGlzLmRpc2FibGVkOyAvLyBPbmx5IGRpc2FibGVkIGlmIHdlJ3JlIG5vdCB3b3JraW5nLCBpbiBvcmRlciB0byBzaG93IHRoZSBhbmltYXRpb24uXG5cbiAgICBjb25zdCBpc0ljb25Pbmx5QnV0dG9uID0gYnV0dG9uSWNvbiAmJiAhdGhpcy50ZXh0O1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZhYjogZmFsc2UsXG4gICAgICB3b3JraW5nOiB0aGlzLndvcmtpbmcsXG4gICAgICBidXR0b25JY29uLFxuICAgICAgY3VzdG9tU3R5bGUsXG4gICAgICBjdXN0b21DbGFzczogJ2RieC1idXR0b24gJyArIChpc0ljb25Pbmx5QnV0dG9uID8gJ2RieC1idXR0b24tbm8tdGV4dCcgOiAnJyksXG4gICAgICB0ZXh0OiB0aGlzLnRleHQgPz8gJycsXG4gICAgICBidXR0b25Db2xvcjogdGhpcy5jb2xvcixcbiAgICAgIGJhckNvbG9yOiAnYWNjZW50JyxcbiAgICAgIHJhaXNlZDogdGhpcy5yYWlzZWQsXG4gICAgICBzdHJva2VkOiB0aGlzLnN0cm9rZWQsXG4gICAgICBmbGF0OiB0aGlzLmZsYXQsXG4gICAgICBpY29uT25seTogdGhpcy5pY29uT25seSxcbiAgICAgIG1vZGU6ICdpbmRldGVybWluYXRlJyxcbiAgICAgIHNwaW5uZXJDb2xvcjogdGhpcy5jb2xvciA9PT0gJ3ByaW1hcnknID8gJ2FjY2VudCcgOiAncHJpbWFyeScsXG4gICAgICBjdXN0b21TcGlubmVyQ29sb3IsXG4gICAgICBkaXNhYmxlZFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -10,17 +10,22 @@ import * as i3 from "@angular/material/icon";
10
10
  export class DbxIconButtonComponent extends AbstractDbxButtonDirective {
11
11
  }
12
12
  DbxIconButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
13
- DbxIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxIconButtonComponent, selector: "dbx-icon-button", providers: provideDbxButton(DbxIconButtonComponent), usesInheritance: true, ngImport: i0, template: `
13
+ DbxIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxIconButtonComponent, selector: "dbx-icon-button", host: { classAttribute: "dbx-icon-button" }, providers: provideDbxButton(DbxIconButtonComponent), usesInheritance: true, ngImport: i0, template: `
14
14
  <ng-container [ngSwitch]="buttonDisplayType">
15
15
  <button *ngSwitchCase="'text_button'" mat-button [disabled]="disabled" (click)="clickButton()">
16
16
  <mat-icon class="dbx-icon-spacer" *ngIf="icon">{{ icon }}</mat-icon>
17
17
  <span>{{ text }}</span>
18
+ <ng-container *ngTemplateOutlet="content"></ng-container>
18
19
  </button>
19
20
  <button *ngSwitchCase="'icon_button'" mat-icon-button [disabled]="disabled" (click)="clickButton()">
20
21
  <mat-icon>{{ icon }}</mat-icon>
22
+ <ng-container *ngTemplateOutlet="content"></ng-container>
21
23
  </button>
22
24
  </ng-container>
23
- `, isInline: true, dependencies: [{ 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: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
25
+ <ng-template #content>
26
+ <ng-content></ng-content>
27
+ </ng-template>
28
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
24
29
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxIconButtonComponent, decorators: [{
25
30
  type: Component,
26
31
  args: [{
@@ -30,14 +35,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
30
35
  <button *ngSwitchCase="'text_button'" mat-button [disabled]="disabled" (click)="clickButton()">
31
36
  <mat-icon class="dbx-icon-spacer" *ngIf="icon">{{ icon }}</mat-icon>
32
37
  <span>{{ text }}</span>
38
+ <ng-container *ngTemplateOutlet="content"></ng-container>
33
39
  </button>
34
40
  <button *ngSwitchCase="'icon_button'" mat-icon-button [disabled]="disabled" (click)="clickButton()">
35
41
  <mat-icon>{{ icon }}</mat-icon>
42
+ <ng-container *ngTemplateOutlet="content"></ng-container>
36
43
  </button>
37
44
  </ng-container>
45
+ <ng-template #content>
46
+ <ng-content></ng-content>
47
+ </ng-template>
38
48
  `,
39
49
  changeDetection: ChangeDetectionStrategy.OnPush,
40
- providers: provideDbxButton(DbxIconButtonComponent)
50
+ providers: provideDbxButton(DbxIconButtonComponent),
51
+ host: {
52
+ class: 'dbx-icon-button'
53
+ }
41
54
  }]
42
55
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2J1dHRvbi9pY29uL2ljb24uYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUVqRjs7R0FFRztBQWlCSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMEJBQTBCOztvSEFBekQsc0JBQXNCO3dHQUF0QixzQkFBc0IsMENBRnRCLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLGlEQVp6Qzs7Ozs7Ozs7OztHQVVUOzRGQUlVLHNCQUFzQjtrQkFoQmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7O0dBVVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFNBQVMsRUFBRSxnQkFBZ0Isd0JBQXdCO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4QnV0dG9uRGlyZWN0aXZlLCBwcm92aWRlRGJ4QnV0dG9uIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG4vKipcbiAqIFNpbXBsZSBkYngtYnV0dG9uIHRoYXQgZGlzcGxheXMgYSBidXR0b24gd2l0aCBhbiBpY29uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtaWNvbi1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImJ1dHRvbkRpc3BsYXlUeXBlXCI+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCIndGV4dF9idXR0b24nXCIgbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiY2xpY2tCdXR0b24oKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkYngtaWNvbi1zcGFjZXJcIiAqbmdJZj1cImljb25cIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb25fYnV0dG9uJ1wiIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiY2xpY2tCdXR0b24oKVwiPlxuICAgICAgICA8bWF0LWljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEJ1dHRvbihEYnhJY29uQnV0dG9uQ29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYnhJY29uQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3REYnhCdXR0b25EaXJlY3RpdmUge31cbiJdfQ==
56
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2J1dHRvbi9pY29uL2ljb24uYnV0dG9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUVqRjs7R0FFRztBQXlCSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMEJBQTBCOztvSEFBekQsc0JBQXNCO3dHQUF0QixzQkFBc0IsdUZBTHRCLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDLGlEQWpCekM7Ozs7Ozs7Ozs7Ozs7OztHQWVUOzRGQU9VLHNCQUFzQjtrQkF4QmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7R0FlVDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLGdCQUFnQix3QkFBd0I7b0JBQ25ELElBQUksRUFBRTt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3FCQUN6QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4QnV0dG9uRGlyZWN0aXZlLCBwcm92aWRlRGJ4QnV0dG9uIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuXG4vKipcbiAqIFNpbXBsZSBkYngtYnV0dG9uIHRoYXQgZGlzcGxheXMgYSBidXR0b24gd2l0aCBhbiBpY29uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtaWNvbi1idXR0b24nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImJ1dHRvbkRpc3BsYXlUeXBlXCI+XG4gICAgICA8YnV0dG9uICpuZ1N3aXRjaENhc2U9XCIndGV4dF9idXR0b24nXCIgbWF0LWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiY2xpY2tCdXR0b24oKVwiPlxuICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJkYngtaWNvbi1zcGFjZXJcIiAqbmdJZj1cImljb25cIj57eyBpY29uIH19PC9tYXQtaWNvbj5cbiAgICAgICAgPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb25fYnV0dG9uJ1wiIG1hdC1pY29uLWJ1dHRvbiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAoY2xpY2spPVwiY2xpY2tCdXR0b24oKVwiPlxuICAgICAgICA8bWF0LWljb24+e3sgaWNvbiB9fTwvbWF0LWljb24+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGUgI2NvbnRlbnQ+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEJ1dHRvbihEYnhJY29uQnV0dG9uQ29tcG9uZW50KSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LWljb24tYnV0dG9uJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieEljb25CdXR0b25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdERieEJ1dHRvbkRpcmVjdGl2ZSB7fVxuIl19
@@ -16,11 +16,16 @@ import * as i8 from "../anchor/anchor.component";
16
16
  * Component that displays a navbar.
17
17
  */
18
18
  export class DbxNavbarComponent extends AbstractTransitionDirective {
19
+ // TODO: potentially make the caret depending on the current button display.
19
20
  constructor(dbxRouterTransitionService, cdRef, _dbxScreenMediaService, _dbxRouterService) {
20
21
  super(dbxRouterTransitionService);
21
22
  this.cdRef = cdRef;
22
23
  this._dbxScreenMediaService = _dbxScreenMediaService;
23
24
  this._dbxRouterService = _dbxRouterService;
25
+ /**
26
+ * Whether or not to show the dropwdown caret for a menu
27
+ */
28
+ this.showMenuCaret = false;
24
29
  this.navAlign = 'center';
25
30
  this._icon = new BehaviorSubject(undefined);
26
31
  this._defaultIcon = new BehaviorSubject('menu');
@@ -100,13 +105,15 @@ export class DbxNavbarComponent extends AbstractTransitionDirective {
100
105
  }
101
106
  }
102
107
  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 });
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 });
108
+ DbxNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxNavbarComponent, selector: "dbx-navbar", inputs: { showMenuCaret: "showMenuCaret", 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\">\n <mat-icon *ngIf=\"showMenuCaret\">arrow_drop_down</mat-icon>\n </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 });
104
109
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, decorators: [{
105
110
  type: Component,
106
111
  args: [{ selector: 'dbx-navbar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
107
112
  class: 'dbx-navbar'
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" }]
109
- }], ctorParameters: function () { return [{ type: i1.DbxRouterTransitionService }, { type: i0.ChangeDetectorRef }, { type: i2.DbxScreenMediaService }, { type: i1.DbxRouterService }]; }, propDecorators: { navAlign: [{
113
+ }, 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\">\n <mat-icon *ngIf=\"showMenuCaret\">arrow_drop_down</mat-icon>\n </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" }]
114
+ }], ctorParameters: function () { return [{ type: i1.DbxRouterTransitionService }, { type: i0.ChangeDetectorRef }, { type: i2.DbxScreenMediaService }, { type: i1.DbxRouterService }]; }, propDecorators: { showMenuCaret: [{
115
+ type: Input
116
+ }], navAlign: [{
110
117
  type: Input
111
118
  }], icon: [{
112
119
  type: Input
@@ -123,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
123
130
  }], breakpoint: [{
124
131
  type: Input
125
132
  }] } });
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
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9yb3V0ZXIvbGF5b3V0L25hdmJhci9uYXZiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL3JvdXRlci9sYXlvdXQvbmF2YmFyL25hdmJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVySCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBYSx1QkFBdUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQStCLGdCQUFnQixFQUFFLDBCQUEwQixFQUFFLDJCQUEyQixFQUFFLGdCQUFnQixFQUEyQixNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7O0FBWXRMOztHQUVHO0FBU0gsTUFBTSxPQUFPLGtCQUFtQixTQUFRLDJCQUEyQjtJQTBGakUsNEVBQTRFO0lBRTVFLFlBQVksMEJBQXNELEVBQVUsS0FBd0IsRUFBbUIsc0JBQTZDLEVBQW1CLGlCQUFtQztRQUN4TixLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUR3QyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQUFtQiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXVCO1FBQW1CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0I7UUEzRjFOOztXQUVHO1FBRUgsa0JBQWEsR0FB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QyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUNXLE9BQU8sQ0FBQyxPQUE2QztRQUM5RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLElBQTZCO1FBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFDVyxJQUFJLENBQUMsSUFBdUI7UUFDckMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLFVBQWdDO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O2dIQTVJVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiwrVUM1Qi9CLHVpREErQkE7NEZESGEsa0JBQWtCO2tCQVI5QixTQUFTOytCQUNFLFlBQVksbUJBRUwsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDSixLQUFLLEVBQUUsWUFBWTtxQkFDcEI7b05BT0QsYUFBYTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFxR0ssSUFBSTtzQkFEZCxLQUFLO2dCQU1LLFdBQVc7c0JBRHJCLEtBQUs7Z0JBTUssV0FBVztzQkFEckIsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLO2dCQU1LLFVBQVU7c0JBRHBCLEtBQUs7Z0JBTUssSUFBSTtzQkFEZCxLQUFLO2dCQU1LLFVBQVU7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc2hhcmVSZXBsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNjcmVlbk1lZGlhV2lkdGhUeXBlIH0gZnJvbSAnLi8uLi8uLi8uLi9zY3JlZW4vc2NyZWVuJztcbmltcG9ydCB7IERieFNjcmVlbk1lZGlhU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NjcmVlbi9zY3JlZW4uc2VydmljZSc7XG5pbXBvcnQgeyBhcHBseUJlc3RGaXQsIGZpbmROZXh0LCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSW5wdXQsIENvbXBvbmVudCwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZiwgRGJ4Um91dGVyU2VydmljZSwgRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UsIEFic3RyYWN0VHJhbnNpdGlvbkRpcmVjdGl2ZSwgdGFwRGV0ZWN0Q2hhbmdlcywgRGJ4QnV0dG9uRGlzcGxheUNvbnRlbnQgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcblxuaW50ZXJmYWNlIE5hdkFuY2hvckxpbmsge1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgYW5jaG9yOiBDbGlja2FibGVBbmNob3JMaW5rU2VndWVSZWY7XG59XG5cbmV4cG9ydCB0eXBlIE5hdkJhckNvbnRlbnRBbGlnbiA9ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcbmV4cG9ydCB0eXBlIE5hdmJhck1vZGUgPSAnYmFyJyB8ICdidXR0b24nIHwgJ2ljb24nO1xuZXhwb3J0IHR5cGUgTmF2YmFyQnV0dG9uTW9kZSA9ICdtZW51JyB8ICdyb3RhdGUnO1xuXG4vKipcbiAqIENvbXBvbmVudCB0aGF0IGRpc3BsYXlzIGEgbmF2YmFyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtbmF2YmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtbmF2YmFyJ1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieE5hdmJhckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0VHJhbnNpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBzaG93IHRoZSBkcm9wd2Rvd24gY2FyZXQgZm9yIGEgbWVudVxuICAgKi9cbiAgQElucHV0KClcbiAgc2hvd01lbnVDYXJldCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG5hdkFsaWduOiBIb3Jpem9udGFsQ29ubmVjdGlvblBvcyA9ICdjZW50ZXInO1xuXG4gIHByaXZhdGUgX2ljb24gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPHN0cmluZz4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgX2RlZmF1bHRJY29uID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxzdHJpbmc+PignbWVudScpO1xuICBwcml2YXRlIF9kZWZhdWx0VGV4dCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8c3RyaW5nPj4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9pbnB1dE1vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPE5hdmJhck1vZGU+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9idXR0b25Nb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOYXZiYXJCdXR0b25Nb2RlPignbWVudScpO1xuICBwcml2YXRlIF9icmVha3BvaW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTY3JlZW5NZWRpYVdpZHRoVHlwZT4oJ2xhcmdlJyk7XG4gIHByaXZhdGUgX2FuY2hvcnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENsaWNrYWJsZUFuY2hvckxpbmtTZWd1ZVJlZltdPihbXSk7XG5cbiAgcmVhZG9ubHkgaXNCcmVha3BvaW50QWN0aXZlJCA9IHRoaXMuX2RieFNjcmVlbk1lZGlhU2VydmljZS5pc0JyZWFrcG9pbnRBY3RpdmUodGhpcy5fYnJlYWtwb2ludCk7XG5cbiAgcmVhZG9ubHkgbW9kZSQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9pbnB1dE1vZGUsIHRoaXMuaXNCcmVha3BvaW50QWN0aXZlJF0pLnBpcGUoXG4gICAgbWFwKChbaW5wdXRNb2RlLCBicmVha3BvaW50QWN0aXZlXSkgPT4ge1xuICAgICAgcmV0dXJuIGJyZWFrcG9pbnRBY3RpdmUgPyBpbnB1dE1vZGUgPz8gJ2JhcicgOiAnYnV0dG9uJztcbiAgICB9KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHRhcERldGVjdENoYW5nZXModGhpcy5jZFJlZiksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBhbmNob3JzJDogT2JzZXJ2YWJsZTxOYXZBbmNob3JMaW5rW10+ID0gY29tYmluZUxhdGVzdChbdGhpcy5fYW5jaG9ycywgdGhpcy5pbml0QW5kVXBkYXRlT25UcmFuc2l0aW9uU3VjY2VzcyRdKS5waXBlKFxuICAgIG1hcCgoW2FuY2hvcnNdKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHRzID0gYW5jaG9ycy5tYXAoKGFuY2hvcikgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuX2RieFJvdXRlclNlcnZpY2UuaXNBY3RpdmUoYW5jaG9yKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHNlbGVjdGVkLFxuICAgICAgICAgIGFuY2hvclxuICAgICAgICB9O1xuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBhcHBseUJlc3RGaXQoXG4gICAgICAgIHJlc3VsdHMsXG4gICAgICAgICh4KSA9PiB4LnNlbGVjdGVkLFxuICAgICAgICAoYSwgYikgPT4gdGhpcy5fZGJ4Um91dGVyU2VydmljZS5jb21wYXJlUHJlY2lzaW9uKGEuYW5jaG9yLCBiLmFuY2hvciksXG4gICAgICAgIChub25CZXN0Rml0KSA9PiAoeyAuLi5ub25CZXN0Rml0LCBzZWxlY3RlZDogZmFsc2UgfSlcbiAgICAgICk7XG4gICAgfSksXG4gICAgdGFwRGV0ZWN0Q2hhbmdlcyh0aGlzLmNkUmVmKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbk1vZGUkID0gdGhpcy5fYnV0dG9uTW9kZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICByZWFkb25seSBzZWxlY3RlZEFuY2hvciQ6IE9ic2VydmFibGU8TWF5YmU8TmF2QW5jaG9yTGluaz4+ID0gdGhpcy5hbmNob3JzJC5waXBlKG1hcCgoeCkgPT4geC5maW5kKCh5KSA9PiB5LnNlbGVjdGVkKSkpO1xuICByZWFkb25seSBuZXh0Um90YXRlQW5jaG9yJDogT2JzZXJ2YWJsZTxNYXliZTxOYXZBbmNob3JMaW5rPj4gPSB0aGlzLmFuY2hvcnMkLnBpcGUobWFwKCh4KSA9PiBmaW5kTmV4dCh4LCAoeSkgPT4geS5zZWxlY3RlZCkgfHwgeFswXSkpO1xuXG4gIHJlYWRvbmx5IGhhc05vQW5jaG9ycyQgPSB0aGlzLmFuY2hvcnMkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4Lmxlbmd0aCA9PT0gMCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbk5hdkFuY2hvciQgPSB0aGlzLmJ1dHRvbk1vZGUkLnBpcGUoXG4gICAgc3dpdGNoTWFwKCh4KSA9PiAoeCA9PT0gJ21lbnUnID8gdGhpcy5zZWxlY3RlZEFuY2hvciQgOiB0aGlzLm5leHRSb3RhdGVBbmNob3IkKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGJ1dHRvbkRpc3BsYXkkOiBPYnNlcnZhYmxlPERieEJ1dHRvbkRpc3BsYXlDb250ZW50PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2RlZmF1bHRJY29uLCB0aGlzLl9pY29uLCB0aGlzLl9kZWZhdWx0VGV4dCwgdGhpcy5idXR0b25OYXZBbmNob3IkLCB0aGlzLm1vZGUkXSkucGlwZShcbiAgICBtYXAoKFtkZWZhdWx0SWNvbiwgaWNvbiwgZGVmYXVsdFRleHQsIHNlbGVjdGVkQW5jaG9yLCBtb2RlXSkgPT4ge1xuICAgICAgbGV0IGNvbnRlbnQ6IERieEJ1dHRvbkRpc3BsYXlDb250ZW50O1xuXG4gICAgICBpZiAoaWNvbikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uLCB0ZXh0OiBkZWZhdWx0VGV4dCB9O1xuICAgICAgfSBlbHNlIGlmIChzZWxlY3RlZEFuY2hvcikge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBzZWxlY3RlZEFuY2hvci5hbmNob3IuaWNvbiA/PyBkZWZhdWx0SWNvbiwgdGV4dDogc2VsZWN0ZWRBbmNob3IuYW5jaG9yLnRpdGxlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb250ZW50ID0geyBpY29uOiBkZWZhdWx0SWNvbiA/PyAnbWVudScsIHRleHQ6IGRlZmF1bHRUZXh0IH07XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlID09PSAnaWNvbicpIHtcbiAgICAgICAgcmV0dXJuIHsgaWNvbjogY29udGVudC5pY29uIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIFRPRE86IHBvdGVudGlhbGx5IG1ha2UgdGhlIGNhcmV0IGRlcGVuZGluZyBvbiB0aGUgY3VycmVudCBidXR0b24gZGlzcGxheS5cblxuICBjb25zdHJ1Y3RvcihkYnhSb3V0ZXJUcmFuc2l0aW9uU2VydmljZTogRGJ4Um91dGVyVHJhbnNpdGlvblNlcnZpY2UsIHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIHJlYWRvbmx5IF9kYnhTY3JlZW5NZWRpYVNlcnZpY2U6IERieFNjcmVlbk1lZGlhU2VydmljZSwgcHJpdmF0ZSByZWFkb25seSBfZGJ4Um91dGVyU2VydmljZTogRGJ4Um91dGVyU2VydmljZSkge1xuICAgIHN1cGVyKGRieFJvdXRlclRyYW5zaXRpb25TZXJ2aWNlKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2ljb24uY29tcGxldGUoKTtcbiAgICB0aGlzLl9kZWZhdWx0SWNvbi5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2RlZmF1bHRUZXh0LmNvbXBsZXRlKCk7XG4gICAgdGhpcy5faW5wdXRNb2RlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYnV0dG9uTW9kZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMuX2JyZWFrcG9pbnQuY29tcGxldGUoKTtcbiAgICB0aGlzLl9hbmNob3JzLmNvbXBsZXRlKCk7XG4gIH1cblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgQElucHV0KClcbiAgcHVibGljIHNldCBpY29uKGljb246IE1heWJlPHN0cmluZz4pIHtcbiAgICB0aGlzLl9pY29uLm5leHQoaWNvbik7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlZmF1bHRJY29uKGRlZmF1bHRJY29uOiBNYXliZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5fZGVmYXVsdEljb24ubmV4dChkZWZhdWx0SWNvbik7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGRlZmF1bHRUZXh0KGRlZmF1bHRUZXh0OiBNYXliZTxzdHJpbmc+KSB7XG4gICAgdGhpcy5fZGVmYXVsdFRleHQubmV4dChkZWZhdWx0VGV4dCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGFuY2hvcnMoYW5jaG9yczogTWF5YmU8Q2xpY2thYmxlQW5jaG9yTGlua1NlZ3VlUmVmW10+KSB7XG4gICAgdGhpcy5fYW5jaG9ycy5uZXh0KGFuY2hvcnMgPz8gW10pO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBidXR0b25Nb2RlKG1vZGU6IE1heWJlPE5hdmJhckJ1dHRvbk1vZGU+KSB7XG4gICAgdGhpcy5fYnV0dG9uTW9kZS5uZXh0KG1vZGUgPz8gJ21lbnUnKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgbW9kZShtb2RlOiBNYXliZTxOYXZiYXJNb2RlPikge1xuICAgIHRoaXMuX2lucHV0TW9kZS5uZXh0KG1vZGUpO1xuICB9XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBicmVha3BvaW50KGJyZWFrcG9pbnQ6IFNjcmVlbk1lZGlhV2lkdGhUeXBlKSB7XG4gICAgdGhpcy5fYnJlYWtwb2ludC5uZXh0KGJyZWFrcG9pbnQpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlJCB8IGFzeW5jXCI+XG4gIDwhLS0gQnV0dG9uIC0tPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XG4gICAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwiYnV0dG9uTW9kZSQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ21lbnUnXCI+XG4gICAgICAgIDxkYngtaWNvbi1idXR0b24gY2xhc3M9XCJuYXYtbWVudS1idXR0b25cIiBhcmlhLWxhYmVsPVwib3BlbiBuYXZpZ2F0aW9uXCIgW2J1dHRvbkRpc3BsYXldPVwiYnV0dG9uRGlzcGxheSQgfCBhc3luY1wiIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCIgW2Rpc2FibGVkXT1cImhhc05vQW5jaG9ycyQgfCBhc3luY1wiPlxuICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cInNob3dNZW51Q2FyZXRcIj5hcnJvd19kcm9wX2Rvd248L21hdC1pY29uPlxuICAgICAgICA8L2RieC1pY29uLWJ1dHRvbj5cbiAgICAgICAgPG1hdC1tZW51ICNtZW51PlxuICAgICAgICAgIDxkYngtYW5jaG9yICpuZ0Zvcj1cImxldCB4IG9mIGFuY2hvcnMkIHwgYXN5bmNcIiBbYW5jaG9yXT1cInguYW5jaG9yXCI+XG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gW25nQ2xhc3NdPVwieC5zZWxlY3RlZCA/ICdhY3RpdmUnIDogJydcIj5cbiAgICAgICAgICAgICAgPG1hdC1pY29uICpuZ0lmPVwieC5hbmNob3IuaWNvblwiPnt7IHguYW5jaG9yLmljb24gfX08L21hdC1pY29uPlxuICAgICAgICAgICAgICB7eyB4LmFuY2hvci50aXRsZSB9fVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kYngtYW5jaG9yPlxuICAgICAgICA8L21hdC1tZW51PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm90YXRlJ1wiPlxuICAgICAgICA8ZGJ4LWFuY2hvciBbYW5jaG9yXT1cIihuZXh0Um90YXRlQW5jaG9yJCB8IGFzeW5jKT8uYW5jaG9yXCI+XG4gICAgICAgICAgPGRieC1pY29uLWJ1dHRvbiBjbGFzcz1cIm5hdi1tZW51LWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJvcGVuIG5hdmlnYXRpb25cIiBbYnV0dG9uRGlzcGxheV09XCJidXR0b25EaXNwbGF5JCB8IGFzeW5jXCIgW2Rpc2FibGVkXT1cImhhc05vQW5jaG9ycyQgfCBhc3luY1wiPjwvZGJ4LWljb24tYnV0dG9uPlxuICAgICAgICA8L2RieC1hbmNob3I+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDwhLS0gQmFyIC0tPlxuICA8bmF2ICpuZ1N3aXRjaENhc2U9XCInYmFyJ1wiIG1hdC10YWItbmF2LWJhciBbYXR0ci5tYXQtYWxpZ24tdGFic109XCJuYXZBbGlnblwiPlxuICAgIDxkYngtYW5jaG9yICpuZ0Zvcj1cImxldCB4IG9mIGFuY2hvcnMkIHwgYXN5bmNcIiBbYW5jaG9yXT1cInguYW5jaG9yXCI+XG4gICAgICA8YSBtYXQtdGFiLWxpbmsgW2FjdGl2ZV09XCJ4LnNlbGVjdGVkXCI+e3sgeC5hbmNob3IudGl0bGUgfX08L2E+XG4gICAgPC9kYngtYW5jaG9yPlxuICA8L25hdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -293,7 +293,7 @@ class DbxButtonComponent extends AbstractDbxButtonDirective {
293
293
  }
294
294
  DbxButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
295
295
  DbxButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxButtonComponent, selector: "dbx-button", inputs: { type: "type", raised: "raised", stroked: "stroked", flat: "flat", iconOnly: "iconOnly", color: "color", customButtonColor: "customButtonColor", customTextColor: "customTextColor", customSpinnerColor: "customSpinnerColor" }, providers: provideDbxButton(DbxButtonComponent), usesInheritance: true, ngImport: i0, template: `
296
- <dbx-spinner-button class="page-button" (btnClick)="clickButton()" [options]="btnOptions">
296
+ <dbx-spinner-button (btnClick)="clickButton()" [options]="btnOptions">
297
297
  <ng-content></ng-content>
298
298
  </dbx-spinner-button>
299
299
  `, isInline: true, dependencies: [{ kind: "component", type: DbxSpinnerButtonComponent, selector: "dbx-spinner-button" }] });
@@ -302,7 +302,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
302
302
  args: [{
303
303
  selector: 'dbx-button',
304
304
  template: `
305
- <dbx-spinner-button class="page-button" (btnClick)="clickButton()" [options]="btnOptions">
305
+ <dbx-spinner-button (btnClick)="clickButton()" [options]="btnOptions">
306
306
  <ng-content></ng-content>
307
307
  </dbx-spinner-button>
308
308
  `,
@@ -713,17 +713,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
713
713
  class DbxIconButtonComponent extends AbstractDbxButtonDirective {
714
714
  }
715
715
  DbxIconButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxIconButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
716
- DbxIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxIconButtonComponent, selector: "dbx-icon-button", providers: provideDbxButton(DbxIconButtonComponent), usesInheritance: true, ngImport: i0, template: `
716
+ DbxIconButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxIconButtonComponent, selector: "dbx-icon-button", host: { classAttribute: "dbx-icon-button" }, providers: provideDbxButton(DbxIconButtonComponent), usesInheritance: true, ngImport: i0, template: `
717
717
  <ng-container [ngSwitch]="buttonDisplayType">
718
718
  <button *ngSwitchCase="'text_button'" mat-button [disabled]="disabled" (click)="clickButton()">
719
719
  <mat-icon class="dbx-icon-spacer" *ngIf="icon">{{ icon }}</mat-icon>
720
720
  <span>{{ text }}</span>
721
+ <ng-container *ngTemplateOutlet="content"></ng-container>
721
722
  </button>
722
723
  <button *ngSwitchCase="'icon_button'" mat-icon-button [disabled]="disabled" (click)="clickButton()">
723
724
  <mat-icon>{{ icon }}</mat-icon>
725
+ <ng-container *ngTemplateOutlet="content"></ng-container>
724
726
  </button>
725
727
  </ng-container>
726
- `, isInline: true, dependencies: [{ 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: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
728
+ <ng-template #content>
729
+ <ng-content></ng-content>
730
+ </ng-template>
731
+ `, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
727
732
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxIconButtonComponent, decorators: [{
728
733
  type: Component,
729
734
  args: [{
@@ -733,14 +738,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
733
738
  <button *ngSwitchCase="'text_button'" mat-button [disabled]="disabled" (click)="clickButton()">
734
739
  <mat-icon class="dbx-icon-spacer" *ngIf="icon">{{ icon }}</mat-icon>
735
740
  <span>{{ text }}</span>
741
+ <ng-container *ngTemplateOutlet="content"></ng-container>
736
742
  </button>
737
743
  <button *ngSwitchCase="'icon_button'" mat-icon-button [disabled]="disabled" (click)="clickButton()">
738
744
  <mat-icon>{{ icon }}</mat-icon>
745
+ <ng-container *ngTemplateOutlet="content"></ng-container>
739
746
  </button>
740
747
  </ng-container>
748
+ <ng-template #content>
749
+ <ng-content></ng-content>
750
+ </ng-template>
741
751
  `,
742
752
  changeDetection: ChangeDetectionStrategy.OnPush,
743
- providers: provideDbxButton(DbxIconButtonComponent)
753
+ providers: provideDbxButton(DbxIconButtonComponent),
754
+ host: {
755
+ class: 'dbx-icon-button'
756
+ }
744
757
  }]
745
758
  }] });
746
759
 
@@ -2945,11 +2958,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
2945
2958
  * Component that displays a navbar.
2946
2959
  */
2947
2960
  class DbxNavbarComponent extends AbstractTransitionDirective {
2961
+ // TODO: potentially make the caret depending on the current button display.
2948
2962
  constructor(dbxRouterTransitionService, cdRef, _dbxScreenMediaService, _dbxRouterService) {
2949
2963
  super(dbxRouterTransitionService);
2950
2964
  this.cdRef = cdRef;
2951
2965
  this._dbxScreenMediaService = _dbxScreenMediaService;
2952
2966
  this._dbxRouterService = _dbxRouterService;
2967
+ /**
2968
+ * Whether or not to show the dropwdown caret for a menu
2969
+ */
2970
+ this.showMenuCaret = false;
2953
2971
  this.navAlign = 'center';
2954
2972
  this._icon = new BehaviorSubject(undefined);
2955
2973
  this._defaultIcon = new BehaviorSubject('menu');
@@ -3030,13 +3048,15 @@ class DbxNavbarComponent extends AbstractTransitionDirective {
3030
3048
  }
3031
3049
  }
3032
3050
  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 });
3033
- 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$3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$3.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 });
3051
+ DbxNavbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxNavbarComponent, selector: "dbx-navbar", inputs: { showMenuCaret: "showMenuCaret", 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\">\n <mat-icon *ngIf=\"showMenuCaret\">arrow_drop_down</mat-icon>\n </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$3.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4$3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4$3.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 });
3034
3052
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxNavbarComponent, decorators: [{
3035
3053
  type: Component,
3036
3054
  args: [{ selector: 'dbx-navbar', changeDetection: ChangeDetectionStrategy.OnPush, host: {
3037
3055
  class: 'dbx-navbar'
3038
- }, 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" }]
3039
- }], ctorParameters: function () { return [{ type: i1$2.DbxRouterTransitionService }, { type: i0.ChangeDetectorRef }, { type: DbxScreenMediaService }, { type: i1$2.DbxRouterService }]; }, propDecorators: { navAlign: [{
3056
+ }, 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\">\n <mat-icon *ngIf=\"showMenuCaret\">arrow_drop_down</mat-icon>\n </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" }]
3057
+ }], ctorParameters: function () { return [{ type: i1$2.DbxRouterTransitionService }, { type: i0.ChangeDetectorRef }, { type: DbxScreenMediaService }, { type: i1$2.DbxRouterService }]; }, propDecorators: { showMenuCaret: [{
3058
+ type: Input
3059
+ }], navAlign: [{
3040
3060
  type: Input
3041
3061
  }], icon: [{
3042
3062
  type: Input