@covalent/core 4.1.0-develop.6 → 4.1.0-develop.9

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,11 +1,10 @@
1
- import { QueryList, OnInit, OnDestroy, AfterContentInit, DoCheck, ChangeDetectorRef, ElementRef } from '@angular/core';
1
+ import { QueryList, OnInit, OnDestroy, AfterContentInit, ChangeDetectorRef, ElementRef } from '@angular/core';
2
2
  import { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
3
3
  import * as i0 from "@angular/core";
4
- export declare class TdBreadcrumbsComponent implements OnInit, DoCheck, AfterContentInit, OnDestroy {
4
+ export declare class TdBreadcrumbsComponent implements OnInit, AfterContentInit, OnDestroy {
5
5
  private _elementRef;
6
6
  private _changeDetectorRef;
7
7
  private _resizeSubscription;
8
- private _widthSubject;
9
8
  private _contentChildrenSub;
10
9
  private _resizing;
11
10
  private _separatorIcon;
@@ -19,7 +18,6 @@ export declare class TdBreadcrumbsComponent implements OnInit, DoCheck, AfterCon
19
18
  get separatorIcon(): string;
20
19
  constructor(_elementRef: ElementRef, _changeDetectorRef: ChangeDetectorRef);
21
20
  ngOnInit(): void;
22
- ngDoCheck(): void;
23
21
  ngAfterContentInit(): void;
24
22
  ngOnDestroy(): void;
25
23
  get nativeElementWidth(): number;
@@ -75,10 +75,10 @@ export class TdBreadcrumbComponent {
75
75
  }
76
76
  }
77
77
  TdBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
78
- TdBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbComponent, selector: "td-breadcrumb, a[td-breadcrumb]", host: { properties: { "class.mat-button": "this.matButtonClass", "class.td-breadcrumb": "this.tdBreadCrumbClass", "style.display": "this.displayBinding" } }, ngImport: i0, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
+ TdBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbComponent, selector: "td-breadcrumb, a[td-breadcrumb]", host: { properties: { "class.mat-button": "this.matButtonClass", "class.td-breadcrumb": "this.tdBreadCrumbClass", "style.display": "this.displayBinding" } }, ngImport: i0, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
79
79
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbComponent, decorators: [{
80
80
  type: Component,
81
- args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"] }]
81
+ args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"] }]
82
82
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { matButtonClass: [{
83
83
  type: HostBinding,
84
84
  args: ['class.mat-button']
@@ -89,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
89
89
  type: HostBinding,
90
90
  args: ['style.display']
91
91
  }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBRVgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7OztBQVF2QixNQUFNLE9BQU8scUJBQXFCO0lBOERoQyxZQUNVLFdBQXVCLEVBQ3ZCLGtCQUFxQztRQURyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBL0R2QyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxlQUFlLENBQUM7UUFFUixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUNuQixzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUEwRDFELENBQUM7SUF4REosMkVBQTJFO0lBQzNFLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLGFBQXFCO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLFdBQW9CO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWSxDQUFDLGFBQXNCO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxjQUFjO1FBQ2hCLGdGQUFnRjtRQUNoRixxRkFBcUY7UUFDckYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0lBT0QsZUFBZTtRQUNiLHFEQUFxRDtRQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBaUIsQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQzlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7O2tIQW5GVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixxT0NmbEMsME5BU0E7MkZETWEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTTtpSUFRZCxjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDSyxpQkFBaUI7c0JBQXBELFdBQVc7dUJBQUMscUJBQXFCO2dCQWlEOUIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtYnJlYWRjcnVtYiwgYVt0ZC1icmVhZGNydW1iXScsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX2Rpc3BsYXlDcnVtYiA9IHRydWU7XG4gIHByaXZhdGUgX3dpZHRoID0gMDtcbiAgcHJpdmF0ZSBfZGlzcGxheUljb24gPSB0cnVlO1xuICBwcml2YXRlIF9zZXBhcmF0b3JJY29uID0gJ2NoZXZyb25fcmlnaHQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJ1dHRvbicpIG1hdEJ1dHRvbkNsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZC1icmVhZGNydW1iJykgdGRCcmVhZENydW1iQ2xhc3MgPSB0cnVlO1xuXG4gIC8vIFNldHMgdGhlIGljb24gdXJsIHNob3duIGJldHdlZW4gYnJlYWRjcnVtYnMuIERlZmF1bHRzIHRvICdjaGV2cm9uX3JpZ2h0J1xuICBwdWJsaWMgZ2V0IHNlcGFyYXRvckljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9ySWNvbjtcbiAgfVxuICBwdWJsaWMgc2V0IHNlcGFyYXRvckljb24oc2VwYXJhdG9ySWNvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VwYXJhdG9ySWNvbiA9IHNlcGFyYXRvckljb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFNob3VsZCBzaG93IHRoZSByaWdodCBjaGV2cm9uIG9yIG5vdCBiZWZvcmUgdGhlIGxhYmVsXG4gIHB1YmxpYyBnZXQgZGlzcGxheUljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlJY29uO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzcGxheUljb24oZGlzcGxheUljb246IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNwbGF5SWNvbiA9IGRpc3BsYXlJY29uO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGlzcGxheUNydW1iKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Q3J1bWI7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBjcnVtYiBvciBub3RcbiAgICovXG4gIHNldCBkaXNwbGF5Q3J1bWIoc2hvdWxkRGlzcGxheTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc3BsYXlDcnVtYiA9IHNob3VsZERpc3BsYXk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaWR0aCBvZiB0aGUgRE9NIGVsZW1lbnQgb2YgdGhlIGNydW1iXG4gICAqL1xuICBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGlzcGxheSBzdHlsZSBvZiB0aGUgY3J1bWJcbiAgICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gIGdldCBkaXNwbGF5QmluZGluZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFNldCB0aGUgZGlzcGxheSB0byBub25lIG9uIHRoZSBjb21wb25lbnQsIGp1c3QgaW4gY2FzZSB0aGUgZW5kIHVzZXIgaXMgaGlkaW5nXG4gICAgLy8gYW5kIHNob3dpbmcgdGhlbSBpbnN0ZWFkIG9mIHRoZSBjb21wb25lbnQgZG9pbmcgaXRzZWxmIGZvciByZWFzb25zIGxpa2UgcmVzcG9uc2l2ZVxuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Q3J1bWIgPyB1bmRlZmluZWQgOiAnbm9uZSc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIHNldCB0aGUgd2lkdGggZnJvbSB0aGUgYWN0dWFsIHJlbmRlcmVkIERPTSBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl93aWR0aCA9ICg8SFRNTEVsZW1lbnQ+KFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBjbGljayBwcm9wYWdhdGlvbiB3aGVuIGNsaWNraW5nIG9uIGljb25cbiAgICovXG4gIF9oYW5kbGVJY29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPG1hdC1pY29uXG4gICpuZ0lmPVwiZGlzcGxheUljb25cIlxuICBjbGFzcz1cInRkLWJyZWFkY3J1bWItc2VwYXJhdG9yLWljb25cIlxuICBbc3R5bGUuY3Vyc29yXT1cIidkZWZhdWx0J1wiXG4gIChjbGljayk9XCJfaGFuZGxlSWNvbkNsaWNrKCRldmVudClcIlxuPlxuICB7eyBzZXBhcmF0b3JJY29uIH19XG48L21hdC1pY29uPlxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixXQUFXLEVBRVgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7OztBQVF2QixNQUFNLE9BQU8scUJBQXFCO0lBOERoQyxZQUNVLFdBQXVCLEVBQ3ZCLGtCQUFxQztRQURyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBL0R2QyxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUNyQixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxlQUFlLENBQUM7UUFFUixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUNuQixzQkFBaUIsR0FBRyxJQUFJLENBQUM7SUEwRDFELENBQUM7SUF4REosMkVBQTJFO0lBQzNFLElBQVcsYUFBYTtRQUN0QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUNELElBQVcsYUFBYSxDQUFDLGFBQXFCO1FBQzVDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3BDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLFdBQW9CO1FBQ3pDLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksWUFBWSxDQUFDLGFBQXNCO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxjQUFjO1FBQ2hCLGdGQUFnRjtRQUNoRixxRkFBcUY7UUFDckYsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqRCxDQUFDO0lBT0QsZUFBZTtRQUNiLHFEQUFxRDtRQUNyRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBaUIsQ0FDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQzlCLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZ0JBQWdCLENBQUMsS0FBWTtRQUMzQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3pCLENBQUM7O2tIQW5GVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixxT0NmbEMsd05BUUE7MkZET2EscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGlDQUFpQyxtQkFHMUIsdUJBQXVCLENBQUMsTUFBTTtpSUFRZCxjQUFjO3NCQUE5QyxXQUFXO3VCQUFDLGtCQUFrQjtnQkFDSyxpQkFBaUI7c0JBQXBELFdBQVc7dUJBQUMscUJBQXFCO2dCQWlEOUIsY0FBYztzQkFEakIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBIb3N0QmluZGluZyxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtYnJlYWRjcnVtYiwgYVt0ZC1icmVhZGNydW1iXScsXG4gIHN0eWxlVXJsczogWycuL2JyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWIuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX2Rpc3BsYXlDcnVtYiA9IHRydWU7XG4gIHByaXZhdGUgX3dpZHRoID0gMDtcbiAgcHJpdmF0ZSBfZGlzcGxheUljb24gPSB0cnVlO1xuICBwcml2YXRlIF9zZXBhcmF0b3JJY29uID0gJ2NoZXZyb25fcmlnaHQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MubWF0LWJ1dHRvbicpIG1hdEJ1dHRvbkNsYXNzID0gdHJ1ZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZC1icmVhZGNydW1iJykgdGRCcmVhZENydW1iQ2xhc3MgPSB0cnVlO1xuXG4gIC8vIFNldHMgdGhlIGljb24gdXJsIHNob3duIGJldHdlZW4gYnJlYWRjcnVtYnMuIERlZmF1bHRzIHRvICdjaGV2cm9uX3JpZ2h0J1xuICBwdWJsaWMgZ2V0IHNlcGFyYXRvckljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9ySWNvbjtcbiAgfVxuICBwdWJsaWMgc2V0IHNlcGFyYXRvckljb24oc2VwYXJhdG9ySWNvbjogc3RyaW5nKSB7XG4gICAgdGhpcy5fc2VwYXJhdG9ySWNvbiA9IHNlcGFyYXRvckljb247XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIFNob3VsZCBzaG93IHRoZSByaWdodCBjaGV2cm9uIG9yIG5vdCBiZWZvcmUgdGhlIGxhYmVsXG4gIHB1YmxpYyBnZXQgZGlzcGxheUljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc3BsYXlJY29uO1xuICB9XG4gIHB1YmxpYyBzZXQgZGlzcGxheUljb24oZGlzcGxheUljb246IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNwbGF5SWNvbiA9IGRpc3BsYXlJY29uO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGlzcGxheUNydW1iKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Q3J1bWI7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNwbGF5IHRoZSBjcnVtYiBvciBub3RcbiAgICovXG4gIHNldCBkaXNwbGF5Q3J1bWIoc2hvdWxkRGlzcGxheTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Rpc3BsYXlDcnVtYiA9IHNob3VsZERpc3BsYXk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaWR0aCBvZiB0aGUgRE9NIGVsZW1lbnQgb2YgdGhlIGNydW1iXG4gICAqL1xuICBnZXQgd2lkdGgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fd2lkdGg7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGlzcGxheSBzdHlsZSBvZiB0aGUgY3J1bWJcbiAgICovXG4gIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gIGdldCBkaXNwbGF5QmluZGluZygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIC8vIFNldCB0aGUgZGlzcGxheSB0byBub25lIG9uIHRoZSBjb21wb25lbnQsIGp1c3QgaW4gY2FzZSB0aGUgZW5kIHVzZXIgaXMgaGlkaW5nXG4gICAgLy8gYW5kIHNob3dpbmcgdGhlbSBpbnN0ZWFkIG9mIHRoZSBjb21wb25lbnQgZG9pbmcgaXRzZWxmIGZvciByZWFzb25zIGxpa2UgcmVzcG9uc2l2ZVxuICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Q3J1bWIgPyB1bmRlZmluZWQgOiAnbm9uZSc7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIC8vIHNldCB0aGUgd2lkdGggZnJvbSB0aGUgYWN0dWFsIHJlbmRlcmVkIERPTSBlbGVtZW50XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl93aWR0aCA9ICg8SFRNTEVsZW1lbnQ+KFxuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnRcbiAgICAgICkpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcCBjbGljayBwcm9wYWdhdGlvbiB3aGVuIGNsaWNraW5nIG9uIGljb25cbiAgICovXG4gIF9oYW5kbGVJY29uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPG1hdC1pY29uXG4gICpuZ0lmPVwiZGlzcGxheUljb25cIlxuICBjbGFzcz1cInRkLWJyZWFkY3J1bWItc2VwYXJhdG9yLWljb25cIlxuICBbc3R5bGUuY3Vyc29yXT1cIidkZWZhdWx0J1wiXG4gIChjbGljayk9XCJfaGFuZGxlSWNvbkNsaWNrKCRldmVudClcIlxuICA+e3sgc2VwYXJhdG9ySWNvbiB9fTwvbWF0LWljb25cbj5cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Component, ContentChildren, QueryList, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, Input, HostBinding, } from '@angular/core';
2
- import { Subscription, Subject, fromEvent, merge } from 'rxjs';
3
- import { debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';
2
+ import { Subscription, fromEvent } from 'rxjs';
3
+ import { debounceTime, startWith } from 'rxjs/operators';
4
4
  import { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';
5
5
  import * as i0 from "@angular/core";
6
6
  export class TdBreadcrumbsComponent {
@@ -8,7 +8,6 @@ export class TdBreadcrumbsComponent {
8
8
  this._elementRef = _elementRef;
9
9
  this._changeDetectorRef = _changeDetectorRef;
10
10
  this._resizeSubscription = Subscription.EMPTY;
11
- this._widthSubject = new Subject();
12
11
  this._resizing = false;
13
12
  this._separatorIcon = 'chevron_right';
14
13
  this.tdBreadCrumbsClass = true;
@@ -26,7 +25,9 @@ export class TdBreadcrumbsComponent {
26
25
  return this._separatorIcon;
27
26
  }
28
27
  ngOnInit() {
29
- this._resizeSubscription = merge(fromEvent(window, 'resize').pipe(debounceTime(10)), this._widthSubject.asObservable().pipe(distinctUntilChanged())).subscribe(() => {
28
+ this._resizeSubscription = fromEvent(window, 'resize')
29
+ .pipe(debounceTime(10))
30
+ .subscribe(() => {
30
31
  if (!this._resizing) {
31
32
  this._resizing = true;
32
33
  setTimeout(() => {
@@ -37,11 +38,6 @@ export class TdBreadcrumbsComponent {
37
38
  }
38
39
  });
39
40
  }
40
- ngDoCheck() {
41
- if (this._elementRef && this._elementRef.nativeElement) {
42
- this._widthSubject.next(this.nativeElementWidth);
43
- }
44
- }
45
41
  ngAfterContentInit() {
46
42
  this._contentChildrenSub = this._breadcrumbs.changes
47
43
  .pipe(startWith(this._breadcrumbs))
@@ -118,10 +114,10 @@ export class TdBreadcrumbsComponent {
118
114
  }
119
115
  }
120
116
  TdBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
121
- TdBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbsComponent, selector: "td-breadcrumbs", inputs: { separatorIcon: "separatorIcon" }, host: { properties: { "class.td-breadcrumbs": "this.tdBreadCrumbsClass" } }, queries: [{ propertyName: "_breadcrumbs", predicate: TdBreadcrumbComponent, descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;width:100%}:host.td-breadcrumbs{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
117
+ TdBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbsComponent, selector: "td-breadcrumbs", inputs: { separatorIcon: "separatorIcon" }, host: { properties: { "class.td-breadcrumbs": "this.tdBreadCrumbsClass" } }, queries: [{ propertyName: "_breadcrumbs", predicate: TdBreadcrumbComponent, descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
122
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbsComponent, decorators: [{
123
119
  type: Component,
124
- args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:block;width:100%}:host.td-breadcrumbs{white-space:nowrap}\n"] }]
120
+ args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}\n"] }]
125
121
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tdBreadCrumbsClass: [{
126
122
  type: HostBinding,
127
123
  args: ['class.td-breadcrumbs']
@@ -131,4 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImpor
131
127
  }], separatorIcon: [{
132
128
  type: Input
133
129
  }] } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFkY3J1bWJzL3NyYy9icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFHVCx1QkFBdUIsRUFHdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixLQUFLLEVBQ0wsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFRMUUsTUFBTSxPQUFPLHNCQUFzQjtJQTRCakMsWUFDVSxXQUF1QixFQUN2QixrQkFBcUM7UUFEckMsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQTNCdkMsd0JBQW1CLEdBQWlCLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDdkQsa0JBQWEsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUV2RCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLG1CQUFjLEdBQUcsZUFBZSxDQUFDO1FBRUosdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBSy9ELGtFQUFrRTtRQUNsRSxzQkFBaUIsR0FBNEIsRUFBRSxDQUFDO0lBZ0I3QyxDQUFDO0lBZEo7O09BRUc7SUFDSCxJQUFvQixhQUFhLENBQUMsYUFB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QUFDLFVBQVUsQ0FBQyxDQUFDO2FBQy9CO2lCQUFNO2dCQUNMLGtCQUFrQjtnQkFDbEIsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7YUFDaEM7WUFDRCxhQUFhLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQztTQUNuQztRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7O21IQTVJVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiw0TUFZaEIscUJBQXFCLGdEQ3RDeEMsNkJBQ0E7MkZEeUJhLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxnQkFBZ0IsbUJBR1QsdUJBQXVCLENBQUMsTUFBTTtpSUFXVixrQkFBa0I7c0JBQXRELFdBQVc7dUJBQUMsc0JBQXNCO2dCQUluQyxZQUFZO3NCQURYLGVBQWU7dUJBQUMscUJBQXFCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQVF6QyxhQUFhO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIFF1ZXJ5TGlzdCxcbiAgT25Jbml0LFxuICBPbkRlc3Ryb3ksXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBBZnRlckNvbnRlbnRJbml0LFxuICBEb0NoZWNrLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIEhvc3RCaW5kaW5nLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBTdWJqZWN0LCBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBzdGFydFdpdGggfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFRkQnJlYWRjcnVtYkNvbXBvbmVudCB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLWJyZWFkY3J1bWJzJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRkQnJlYWRjcnVtYnNDb21wb25lbnRcbiAgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2ssIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveVxue1xuICBwcml2YXRlIF9yZXNpemVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IFN1YnNjcmlwdGlvbi5FTVBUWTtcbiAgcHJpdmF0ZSBfd2lkdGhTdWJqZWN0OiBTdWJqZWN0PG51bWJlcj4gPSBuZXcgU3ViamVjdDxudW1iZXI+KCk7XG4gIHByaXZhdGUgX2NvbnRlbnRDaGlsZHJlblN1YiE6IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfcmVzaXppbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfc2VwYXJhdG9ySWNvbiA9ICdjaGV2cm9uX3JpZ2h0JztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRkLWJyZWFkY3J1bWJzJykgdGRCcmVhZENydW1ic0NsYXNzID0gdHJ1ZTtcblxuICAvLyBhbGwgdGhlIHN1YiBjb21wb25lbnRzLCB3aGljaCBhcmUgdGhlIGluZGl2aWR1YWwgYnJlYWRjcnVtYnNcbiAgQENvbnRlbnRDaGlsZHJlbihUZEJyZWFkY3J1bWJDb21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgX2JyZWFkY3J1bWJzITogUXVlcnlMaXN0PFRkQnJlYWRjcnVtYkNvbXBvbmVudD47XG4gIC8vIHRoZSBsaXN0IG9mIGhpZGRlbiBicmVhZGNydW1icyBub3Qgc2hvd24gcmlnaHQgbm93IChyZXNwb25zaXZlKVxuICBoaWRkZW5CcmVhZGNydW1iczogVGRCcmVhZGNydW1iQ29tcG9uZW50W10gPSBbXTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgaWNvbiB1cmwgc2hvd24gYmV0d2VlbiBicmVhZGNydW1icy4gRGVmYXVsdHMgdG8gJ2NoZXZyb25fcmlnaHQnLlxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHNldCBzZXBhcmF0b3JJY29uKHNlcGFyYXRvckljb246IHN0cmluZykge1xuICAgIHRoaXMuX3NlcGFyYXRvckljb24gPSBzZXBhcmF0b3JJY29uO1xuICAgIHRoaXMuc2V0Q3J1bWJJY29ucygpO1xuICB9XG4gIHB1YmxpYyBnZXQgc2VwYXJhdG9ySWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9zZXBhcmF0b3JJY29uO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbiA9IG1lcmdlKFxuICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Jlc2l6ZScpLnBpcGUoZGVib3VuY2VUaW1lKDEwKSksXG4gICAgICB0aGlzLl93aWR0aFN1YmplY3QuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5fcmVzaXppbmcpIHtcbiAgICAgICAgdGhpcy5fcmVzaXppbmcgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVWaXNpYmlsaXR5KCk7XG4gICAgICAgICAgdGhpcy5fcmVzaXppbmcgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSwgMTAwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZWxlbWVudFJlZiAmJiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHRoaXMuX3dpZHRoU3ViamVjdC5uZXh0KHRoaXMubmF0aXZlRWxlbWVudFdpZHRoKTtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fY29udGVudENoaWxkcmVuU3ViID0gdGhpcy5fYnJlYWRjcnVtYnMuY2hhbmdlc1xuICAgICAgLnBpcGUoc3RhcnRXaXRoKHRoaXMuX2JyZWFkY3J1bWJzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnNldENydW1iSWNvbnMoKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3Jlc2l6ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuX2NvbnRlbnRDaGlsZHJlblN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgLypcbiAgICogQ3VycmVudCB3aWR0aCBvZiB0aGUgZWxlbWVudCBjb250YWluZXJcbiAgICovXG4gIGdldCBuYXRpdmVFbGVtZW50V2lkdGgoKTogbnVtYmVyIHtcbiAgICBjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IDxIVE1MRWxlbWVudD50aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgLy8gTmVlZCB0byB0YWtlIGludG8gYWNjb3VudCBib3JkZXIsIG1hcmdpbiBhbmQgcGFkZGluZyB0aGF0IG1pZ2h0IGJlIGFyb3VuZCBhbGwgdGhlIGNydW1ic1xuICAgIGNvbnN0IHN0eWxlOiBDU1NTdHlsZURlY2xhcmF0aW9uID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCk7XG4gICAgY29uc3QgYm9yZGVyTGVmdDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUuYm9yZGVyTGVmdCwgMTApO1xuICAgIGNvbnN0IGJvcmRlclJpZ2h0OiBudW1iZXIgPSBwYXJzZUludChzdHlsZS5ib3JkZXJSaWdodCwgMTApO1xuICAgIGNvbnN0IG1hcmdpbkxlZnQ6IG51bWJlciA9IHBhcnNlSW50KHN0eWxlLm1hcmdpbkxlZnQsIDEwKTtcbiAgICBjb25zdCBtYXJnaW5SaWdodDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUubWFyZ2luUmlnaHQsIDEwKTtcbiAgICBjb25zdCBwYWRkaW5nTGVmdDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUucGFkZGluZ0xlZnQsIDEwKTtcbiAgICBjb25zdCBwYWRkaW5nUmlnaHQ6IG51bWJlciA9IHBhcnNlSW50KHN0eWxlLnBhZGRpbmdSaWdodCwgMTApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLVxuICAgICAgYm9yZGVyTGVmdCAtXG4gICAgICBib3JkZXJSaWdodCAtXG4gICAgICBtYXJnaW5MZWZ0IC1cbiAgICAgIG1hcmdpblJpZ2h0IC1cbiAgICAgIHBhZGRpbmdMZWZ0IC1cbiAgICAgIHBhZGRpbmdSaWdodFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIHRvdGFsIGNvdW50IG9mIGluZGl2aWR1YWwgYnJlYWRjcnVtYnNcbiAgICovXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1icyA/IHRoaXMuX2JyZWFkY3J1bWJzLmxlbmd0aCA6IDA7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBjcnVtYiBpY29uIHNlcGFyYXRvcnNcbiAgICovXG4gIHByaXZhdGUgc2V0Q3J1bWJJY29ucygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYnJlYWRjcnVtYnMpIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWJBcnJheTogVGRCcmVhZGNydW1iQ29tcG9uZW50W10gPVxuICAgICAgICB0aGlzLl9icmVhZGNydW1icy50b0FycmF5KCk7XG4gICAgICBicmVhZGNydW1iQXJyYXkuZm9yRWFjaChcbiAgICAgICAgKGJyZWFkY3J1bWI6IFRkQnJlYWRjcnVtYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgIGJyZWFkY3J1bWIuc2VwYXJhdG9ySWNvbiA9IHRoaXMuc2VwYXJhdG9ySWNvbjtcbiAgICAgICAgICAvLyBkb24ndCBzaG93IHRoZSBpY29uIG9uIHRoZSBsYXN0IGJyZWFkY3J1bWJcbiAgICAgICAgICBicmVhZGNydW1iLmRpc3BsYXlJY29uID0gaW5kZXggPCBicmVhZGNydW1iQXJyYXkubGVuZ3RoIC0gMTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9jYWxjdWxhdGVWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGNydW1ic0FycmF5OiBUZEJyZWFkY3J1bWJDb21wb25lbnRbXSA9IHRoaXMuX2JyZWFkY3J1bWJzLnRvQXJyYXkoKTtcbiAgICBsZXQgY3J1bWJXaWR0aFN1bSA9IDA7XG4gICAgY29uc3QgaGlkZGVuQ3J1bWJzOiBUZEJyZWFkY3J1bWJDb21wb25lbnRbXSA9IFtdO1xuICAgIC8vIGxvb3AgdGhyb3VnaCBjcnVtYnMgaW4gcmV2ZXJzZSBvcmRlciB0byBjYWxjdWxhdGUgd2hpY2ggb25lcyBzaG91bGQgYmUgcmVtb3ZlZFxuICAgIGZvciAobGV0IGk6IG51bWJlciA9IGNydW1ic0FycmF5Lmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBicmVhZGNydW1iOiBUZEJyZWFkY3J1bWJDb21wb25lbnQgPSBjcnVtYnNBcnJheVtpXTtcblxuICAgICAgLy8gaWYgY3J1bWIgZXhjZWVkcyB3aWR0aCwgdGhlbiB3ZSBza2lwIGl0IGZyb20gdGhlIHN1bSBhbmQgYWRkIGl0IGludG8gdGhlIGhpZGRlbmNydW1icyBhcnJheVxuICAgICAgLy8gYW5kIGhpZGUgaXRcbiAgICAgIGlmIChjcnVtYldpZHRoU3VtICsgYnJlYWRjcnVtYi53aWR0aCA+IHRoaXMubmF0aXZlRWxlbWVudFdpZHRoKSB7XG4gICAgICAgIGJyZWFkY3J1bWIuZGlzcGxheUNydW1iID0gZmFsc2U7XG4gICAgICAgIGhpZGRlbkNydW1icy5wdXNoKGJyZWFkY3J1bWIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZWxzZSB3ZSBzaG93IGl0XG4gICAgICAgIGJyZWFkY3J1bWIuZGlzcGxheUNydW1iID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNydW1iV2lkdGhTdW0gKz0gYnJlYWRjcnVtYi53aWR0aDtcbiAgICB9XG5cbiAgICB0aGlzLmhpZGRlbkJyZWFkY3J1bWJzID0gaGlkZGVuQ3J1bWJzO1xuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL2JyZWFkY3J1bWJzL3NyYy9icmVhZGNydW1icy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvYnJlYWRjcnVtYnMvc3JjL2JyZWFkY3J1bWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsZUFBZSxFQUNmLFNBQVMsRUFHVCx1QkFBdUIsRUFFdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixLQUFLLEVBQ0wsV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7O0FBUTFFLE1BQU0sT0FBTyxzQkFBc0I7SUEyQmpDLFlBQ1UsV0FBdUIsRUFDdkIsa0JBQXFDO1FBRHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUExQnZDLHdCQUFtQixHQUFpQixZQUFZLENBQUMsS0FBSyxDQUFDO1FBRXZELGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsbUJBQWMsR0FBRyxlQUFlLENBQUM7UUFFSix1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFLL0Qsa0VBQWtFO1FBQ2xFLHNCQUFpQixHQUE0QixFQUFFLENBQUM7SUFnQjdDLENBQUM7SUFkSjs7T0FFRztJQUNILElBQW9CLGFBQWEsQ0FBQyxhQUFxQjtRQUNyRCxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztRQUNwQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7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K0JBQ0UsZ0JBQWdCLG1CQUdULHVCQUF1QixDQUFDLE1BQU07aUlBVVYsa0JBQWtCO3NCQUF0RCxXQUFXO3VCQUFDLHNCQUFzQjtnQkFJbkMsWUFBWTtzQkFEWCxlQUFlO3VCQUFDLHFCQUFxQixFQUFFLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRTtnQkFRekMsYUFBYTtzQkFBaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBRdWVyeUxpc3QsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBIb3N0QmluZGluZyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgVGRCcmVhZGNydW1iQ29tcG9uZW50IH0gZnJvbSAnLi9icmVhZGNydW1iL2JyZWFkY3J1bWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndGQtYnJlYWRjcnVtYnMnLFxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1icy5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVGRCcmVhZGNydW1ic0NvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIHByaXZhdGUgX3Jlc2l6ZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuICBwcml2YXRlIF9jb250ZW50Q2hpbGRyZW5TdWIhOiBTdWJzY3JpcHRpb247XG4gIHByaXZhdGUgX3Jlc2l6aW5nID0gZmFsc2U7XG4gIHByaXZhdGUgX3NlcGFyYXRvckljb24gPSAnY2hldnJvbl9yaWdodCc7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZC1icmVhZGNydW1icycpIHRkQnJlYWRDcnVtYnNDbGFzcyA9IHRydWU7XG5cbiAgLy8gYWxsIHRoZSBzdWIgY29tcG9uZW50cywgd2hpY2ggYXJlIHRoZSBpbmRpdmlkdWFsIGJyZWFkY3J1bWJzXG4gIEBDb250ZW50Q2hpbGRyZW4oVGRCcmVhZGNydW1iQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIF9icmVhZGNydW1icyE6IFF1ZXJ5TGlzdDxUZEJyZWFkY3J1bWJDb21wb25lbnQ+O1xuICAvLyB0aGUgbGlzdCBvZiBoaWRkZW4gYnJlYWRjcnVtYnMgbm90IHNob3duIHJpZ2h0IG5vdyAocmVzcG9uc2l2ZSlcbiAgaGlkZGVuQnJlYWRjcnVtYnM6IFRkQnJlYWRjcnVtYkNvbXBvbmVudFtdID0gW107XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGljb24gdXJsIHNob3duIGJldHdlZW4gYnJlYWRjcnVtYnMuIERlZmF1bHRzIHRvICdjaGV2cm9uX3JpZ2h0Jy5cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBzZXQgc2VwYXJhdG9ySWNvbihzZXBhcmF0b3JJY29uOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zZXBhcmF0b3JJY29uID0gc2VwYXJhdG9ySWNvbjtcbiAgICB0aGlzLnNldENydW1iSWNvbnMoKTtcbiAgfVxuICBwdWJsaWMgZ2V0IHNlcGFyYXRvckljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc2VwYXJhdG9ySWNvbjtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9yZXNpemVTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQod2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLl9yZXNpemluZykge1xuICAgICAgICAgIHRoaXMuX3Jlc2l6aW5nID0gdHJ1ZTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0ZVZpc2liaWxpdHkoKTtcbiAgICAgICAgICAgIHRoaXMuX3Jlc2l6aW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9LCAxMDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jb250ZW50Q2hpbGRyZW5TdWIgPSB0aGlzLl9icmVhZGNydW1icy5jaGFuZ2VzXG4gICAgICAucGlwZShzdGFydFdpdGgodGhpcy5fYnJlYWRjcnVtYnMpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2V0Q3J1bWJJY29ucygpO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fcmVzaXplU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5fY29udGVudENoaWxkcmVuU3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKlxuICAgKiBDdXJyZW50IHdpZHRoIG9mIHRoZSBlbGVtZW50IGNvbnRhaW5lclxuICAgKi9cbiAgZ2V0IG5hdGl2ZUVsZW1lbnRXaWR0aCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gPEhUTUxFbGVtZW50PnRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAvLyBOZWVkIHRvIHRha2UgaW50byBhY2NvdW50IGJvcmRlciwgbWFyZ2luIGFuZCBwYWRkaW5nIHRoYXQgbWlnaHQgYmUgYXJvdW5kIGFsbCB0aGUgY3J1bWJzXG4gICAgY29uc3Qgc3R5bGU6IENTU1N0eWxlRGVjbGFyYXRpb24gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50KTtcbiAgICBjb25zdCBib3JkZXJMZWZ0OiBudW1iZXIgPSBwYXJzZUludChzdHlsZS5ib3JkZXJMZWZ0LCAxMCk7XG4gICAgY29uc3QgYm9yZGVyUmlnaHQ6IG51bWJlciA9IHBhcnNlSW50KHN0eWxlLmJvcmRlclJpZ2h0LCAxMCk7XG4gICAgY29uc3QgbWFyZ2luTGVmdDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUubWFyZ2luTGVmdCwgMTApO1xuICAgIGNvbnN0IG1hcmdpblJpZ2h0OiBudW1iZXIgPSBwYXJzZUludChzdHlsZS5tYXJnaW5SaWdodCwgMTApO1xuICAgIGNvbnN0IHBhZGRpbmdMZWZ0OiBudW1iZXIgPSBwYXJzZUludChzdHlsZS5wYWRkaW5nTGVmdCwgMTApO1xuICAgIGNvbnN0IHBhZGRpbmdSaWdodDogbnVtYmVyID0gcGFyc2VJbnQoc3R5bGUucGFkZGluZ1JpZ2h0LCAxMCk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCAtXG4gICAgICBib3JkZXJMZWZ0IC1cbiAgICAgIGJvcmRlclJpZ2h0IC1cbiAgICAgIG1hcmdpbkxlZnQgLVxuICAgICAgbWFyZ2luUmlnaHQgLVxuICAgICAgcGFkZGluZ0xlZnQgLVxuICAgICAgcGFkZGluZ1JpZ2h0XG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdG90YWwgY291bnQgb2YgaW5kaXZpZHVhbCBicmVhZGNydW1ic1xuICAgKi9cbiAgZ2V0IGNvdW50KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2JyZWFkY3J1bWJzID8gdGhpcy5fYnJlYWRjcnVtYnMubGVuZ3RoIDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIGNydW1iIGljb24gc2VwYXJhdG9yc1xuICAgKi9cbiAgcHJpdmF0ZSBzZXRDcnVtYkljb25zKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9icmVhZGNydW1icykge1xuICAgICAgY29uc3QgYnJlYWRjcnVtYkFycmF5OiBUZEJyZWFkY3J1bWJDb21wb25lbnRbXSA9XG4gICAgICAgIHRoaXMuX2JyZWFkY3J1bWJzLnRvQXJyYXkoKTtcbiAgICAgIGJyZWFkY3J1bWJBcnJheS5mb3JFYWNoKFxuICAgICAgICAoYnJlYWRjcnVtYjogVGRCcmVhZGNydW1iQ29tcG9uZW50LCBpbmRleDogbnVtYmVyKSA9PiB7XG4gICAgICAgICAgYnJlYWRjcnVtYi5zZXBhcmF0b3JJY29uID0gdGhpcy5zZXBhcmF0b3JJY29uO1xuICAgICAgICAgIC8vIGRvbid0IHNob3cgdGhlIGljb24gb24gdGhlIGxhc3QgYnJlYWRjcnVtYlxuICAgICAgICAgIGJyZWFkY3J1bWIuZGlzcGxheUljb24gPSBpbmRleCA8IGJyZWFkY3J1bWJBcnJheS5sZW5ndGggLSAxO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NhbGN1bGF0ZVZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgY29uc3QgY3J1bWJzQXJyYXk6IFRkQnJlYWRjcnVtYkNvbXBvbmVudFtdID0gdGhpcy5fYnJlYWRjcnVtYnMudG9BcnJheSgpO1xuICAgIGxldCBjcnVtYldpZHRoU3VtID0gMDtcbiAgICBjb25zdCBoaWRkZW5DcnVtYnM6IFRkQnJlYWRjcnVtYkNvbXBvbmVudFtdID0gW107XG4gICAgLy8gbG9vcCB0aHJvdWdoIGNydW1icyBpbiByZXZlcnNlIG9yZGVyIHRvIGNhbGN1bGF0ZSB3aGljaCBvbmVzIHNob3VsZCBiZSByZW1vdmVkXG4gICAgZm9yIChsZXQgaTogbnVtYmVyID0gY3J1bWJzQXJyYXkubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IGJyZWFkY3J1bWI6IFRkQnJlYWRjcnVtYkNvbXBvbmVudCA9IGNydW1ic0FycmF5W2ldO1xuXG4gICAgICAvLyBpZiBjcnVtYiBleGNlZWRzIHdpZHRoLCB0aGVuIHdlIHNraXAgaXQgZnJvbSB0aGUgc3VtIGFuZCBhZGQgaXQgaW50byB0aGUgaGlkZGVuY3J1bWJzIGFycmF5XG4gICAgICAvLyBhbmQgaGlkZSBpdFxuICAgICAgaWYgKGNydW1iV2lkdGhTdW0gKyBicmVhZGNydW1iLndpZHRoID4gdGhpcy5uYXRpdmVFbGVtZW50V2lkdGgpIHtcbiAgICAgICAgYnJlYWRjcnVtYi5kaXNwbGF5Q3J1bWIgPSBmYWxzZTtcbiAgICAgICAgaGlkZGVuQ3J1bWJzLnB1c2goYnJlYWRjcnVtYik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBlbHNlIHdlIHNob3cgaXRcbiAgICAgICAgYnJlYWRjcnVtYi5kaXNwbGF5Q3J1bWIgPSB0cnVlO1xuICAgICAgfVxuICAgICAgY3J1bWJXaWR0aFN1bSArPSBicmVhZGNydW1iLndpZHRoO1xuICAgIH1cblxuICAgIHRoaXMuaGlkZGVuQnJlYWRjcnVtYnMgPSBoaWRkZW5DcnVtYnM7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
@@ -4,8 +4,8 @@ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/material/icon';
6
6
  import { MatIconModule } from '@angular/material/icon';
7
- import { Subscription, Subject, merge, fromEvent } from 'rxjs';
8
- import { debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';
7
+ import { Subscription, fromEvent } from 'rxjs';
8
+ import { debounceTime, startWith } from 'rxjs/operators';
9
9
 
10
10
  class TdBreadcrumbComponent {
11
11
  constructor(_elementRef, _changeDetectorRef) {
@@ -80,10 +80,10 @@ class TdBreadcrumbComponent {
80
80
  }
81
81
  }
82
82
  TdBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
- TdBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbComponent, selector: "td-breadcrumb, a[td-breadcrumb]", host: { properties: { "class.mat-button": "this.matButtonClass", "class.td-breadcrumb": "this.tdBreadCrumbClass", "style.display": "this.displayBinding" } }, ngImport: i0, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ TdBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbComponent, selector: "td-breadcrumb, a[td-breadcrumb]", host: { properties: { "class.mat-button": "this.matButtonClass", "class.td-breadcrumb": "this.tdBreadCrumbClass", "style.display": "this.displayBinding" } }, ngImport: i0, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbComponent, decorators: [{
85
85
  type: Component,
86
- args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"] }]
86
+ args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"] }]
87
87
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { matButtonClass: [{
88
88
  type: HostBinding,
89
89
  args: ['class.mat-button']
@@ -100,7 +100,6 @@ class TdBreadcrumbsComponent {
100
100
  this._elementRef = _elementRef;
101
101
  this._changeDetectorRef = _changeDetectorRef;
102
102
  this._resizeSubscription = Subscription.EMPTY;
103
- this._widthSubject = new Subject();
104
103
  this._resizing = false;
105
104
  this._separatorIcon = 'chevron_right';
106
105
  this.tdBreadCrumbsClass = true;
@@ -118,7 +117,9 @@ class TdBreadcrumbsComponent {
118
117
  return this._separatorIcon;
119
118
  }
120
119
  ngOnInit() {
121
- this._resizeSubscription = merge(fromEvent(window, 'resize').pipe(debounceTime(10)), this._widthSubject.asObservable().pipe(distinctUntilChanged())).subscribe(() => {
120
+ this._resizeSubscription = fromEvent(window, 'resize')
121
+ .pipe(debounceTime(10))
122
+ .subscribe(() => {
122
123
  if (!this._resizing) {
123
124
  this._resizing = true;
124
125
  setTimeout(() => {
@@ -129,11 +130,6 @@ class TdBreadcrumbsComponent {
129
130
  }
130
131
  });
131
132
  }
132
- ngDoCheck() {
133
- if (this._elementRef && this._elementRef.nativeElement) {
134
- this._widthSubject.next(this.nativeElementWidth);
135
- }
136
- }
137
133
  ngAfterContentInit() {
138
134
  this._contentChildrenSub = this._breadcrumbs.changes
139
135
  .pipe(startWith(this._breadcrumbs))
@@ -210,10 +206,10 @@ class TdBreadcrumbsComponent {
210
206
  }
211
207
  }
212
208
  TdBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
213
- TdBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbsComponent, selector: "td-breadcrumbs", inputs: { separatorIcon: "separatorIcon" }, host: { properties: { "class.td-breadcrumbs": "this.tdBreadCrumbsClass" } }, queries: [{ propertyName: "_breadcrumbs", predicate: TdBreadcrumbComponent, descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;width:100%}:host.td-breadcrumbs{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
209
+ TdBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbsComponent, selector: "td-breadcrumbs", inputs: { separatorIcon: "separatorIcon" }, host: { properties: { "class.td-breadcrumbs": "this.tdBreadCrumbsClass" } }, queries: [{ propertyName: "_breadcrumbs", predicate: TdBreadcrumbComponent, descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
214
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbsComponent, decorators: [{
215
211
  type: Component,
216
- args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:block;width:100%}:host.td-breadcrumbs{white-space:nowrap}\n"] }]
212
+ args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}\n"] }]
217
213
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tdBreadCrumbsClass: [{
218
214
  type: HostBinding,
219
215
  args: ['class.td-breadcrumbs']
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-breadcrumbs.mjs","sources":["../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.module.ts","../../../../libs/angular/breadcrumbs/src/covalent-core-breadcrumbs.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'td-breadcrumb, a[td-breadcrumb]',\n styleUrls: ['./breadcrumb.component.scss'],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbComponent implements AfterViewInit {\n private _displayCrumb = true;\n private _width = 0;\n private _displayIcon = true;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.mat-button') matButtonClass = true;\n @HostBinding('class.td-breadcrumb') tdBreadCrumbClass = true;\n\n // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n // Should show the right chevron or not before the label\n public get displayIcon(): boolean {\n return this._displayIcon;\n }\n public set displayIcon(displayIcon: boolean) {\n this._displayIcon = displayIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n get displayCrumb(): boolean {\n return this._displayCrumb;\n }\n\n /**\n * Whether to display the crumb or not\n */\n set displayCrumb(shouldDisplay: boolean) {\n this._displayCrumb = shouldDisplay;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Width of the DOM element of the crumb\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * Gets the display style of the crumb\n */\n @HostBinding('style.display')\n get displayBinding(): string | undefined {\n // Set the display to none on the component, just in case the end user is hiding\n // and showing them instead of the component doing itself for reasons like responsive\n return this._displayCrumb ? undefined : 'none';\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n // set the width from the actual rendered DOM element\n setTimeout(() => {\n this._width = (<HTMLElement>(\n this._elementRef.nativeElement\n )).getBoundingClientRect().width;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Stop click propagation when clicking on icon\n */\n _handleIconClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n","import {\n Component,\n ContentChildren,\n QueryList,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n DoCheck,\n ChangeDetectorRef,\n ElementRef,\n Input,\n HostBinding,\n} from '@angular/core';\n\nimport { Subscription, Subject, fromEvent, merge } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';\n\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@Component({\n selector: 'td-breadcrumbs',\n styleUrls: ['./breadcrumbs.component.scss'],\n templateUrl: './breadcrumbs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbsComponent\n implements OnInit, DoCheck, AfterContentInit, OnDestroy\n{\n private _resizeSubscription: Subscription = Subscription.EMPTY;\n private _widthSubject: Subject<number> = new Subject<number>();\n private _contentChildrenSub!: Subscription;\n private _resizing = false;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.td-breadcrumbs') tdBreadCrumbsClass = true;\n\n // all the sub components, which are the individual breadcrumbs\n @ContentChildren(TdBreadcrumbComponent, { descendants: true })\n _breadcrumbs!: QueryList<TdBreadcrumbComponent>;\n // the list of hidden breadcrumbs not shown right now (responsive)\n hiddenBreadcrumbs: TdBreadcrumbComponent[] = [];\n\n /**\n * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n */\n @Input() public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n this.setCrumbIcons();\n }\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this._resizeSubscription = merge(\n fromEvent(window, 'resize').pipe(debounceTime(10)),\n this._widthSubject.asObservable().pipe(distinctUntilChanged())\n ).subscribe(() => {\n if (!this._resizing) {\n this._resizing = true;\n setTimeout(() => {\n this._calculateVisibility();\n this._resizing = false;\n this._changeDetectorRef.markForCheck();\n }, 100);\n }\n });\n }\n\n ngDoCheck(): void {\n if (this._elementRef && this._elementRef.nativeElement) {\n this._widthSubject.next(this.nativeElementWidth);\n }\n }\n\n ngAfterContentInit(): void {\n this._contentChildrenSub = this._breadcrumbs.changes\n .pipe(startWith(this._breadcrumbs))\n .subscribe(() => {\n this.setCrumbIcons();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._resizeSubscription.unsubscribe();\n this._contentChildrenSub.unsubscribe();\n }\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n /**\n * The total count of individual breadcrumbs\n */\n get count(): number {\n return this._breadcrumbs ? this._breadcrumbs.length : 0;\n }\n\n /**\n * Set the crumb icon separators\n */\n private setCrumbIcons(): void {\n if (this._breadcrumbs) {\n const breadcrumbArray: TdBreadcrumbComponent[] =\n this._breadcrumbs.toArray();\n breadcrumbArray.forEach(\n (breadcrumb: TdBreadcrumbComponent, index: number) => {\n breadcrumb.separatorIcon = this.separatorIcon;\n // don't show the icon on the last breadcrumb\n breadcrumb.displayIcon = index < breadcrumbArray.length - 1;\n }\n );\n }\n }\n\n private _calculateVisibility(): void {\n const crumbsArray: TdBreadcrumbComponent[] = this._breadcrumbs.toArray();\n let crumbWidthSum = 0;\n const hiddenCrumbs: TdBreadcrumbComponent[] = [];\n // loop through crumbs in reverse order to calculate which ones should be removed\n for (let i: number = crumbsArray.length - 1; i >= 0; i--) {\n const breadcrumb: TdBreadcrumbComponent = crumbsArray[i];\n\n // if crumb exceeds width, then we skip it from the sum and add it into the hiddencrumbs array\n // and hide it\n if (crumbWidthSum + breadcrumb.width > this.nativeElementWidth) {\n breadcrumb.displayCrumb = false;\n hiddenCrumbs.push(breadcrumb);\n } else {\n // else we show it\n breadcrumb.displayCrumb = true;\n }\n crumbWidthSum += breadcrumb.width;\n }\n\n this.hiddenBreadcrumbs = hiddenCrumbs;\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n})\nexport class CovalentBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;;;;MAea,qBAAqB;IA8DhC,YACU,WAAuB,EACvB,kBAAqC;QADrC,gBAAW,GAAX,WAAW,CAAY;QACvB,uBAAkB,GAAlB,kBAAkB,CAAmB;QA/DvC,kBAAa,GAAG,IAAI,CAAC;QACrB,WAAM,GAAG,CAAC,CAAC;QACX,iBAAY,GAAG,IAAI,CAAC;QACpB,mBAAc,GAAG,eAAe,CAAC;QAER,mBAAc,GAAG,IAAI,CAAC;QACnB,sBAAiB,GAAG,IAAI,CAAC;KA0DzD;;IAvDJ,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IACD,IAAW,aAAa,CAAC,aAAqB;QAC5C,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,UAAU,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC,CAAC,CAAC;KACJ;;IAGD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAW,WAAW,CAAC,WAAoB;QACzC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,UAAU,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC,CAAC,CAAC;KACJ;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;;;;IAKD,IAAI,YAAY,CAAC,aAAsB;QACrC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,UAAU,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC,CAAC,CAAC;KACJ;;;;IAKD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;KACpB;;;;IAKD,IACI,cAAc;;;QAGhB,OAAO,IAAI,CAAC,aAAa,GAAG,SAAS,GAAG,MAAM,CAAC;KAChD;IAOD,eAAe;;QAEb,UAAU,CAAC;YACT,IAAI,CAAC,MAAM,GAAiB,CAC1B,IAAI,CAAC,WAAW,CAAC,aAAa,EAC7B,qBAAqB,EAAE,CAAC,KAAK,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC,CAAC,CAAC;KACJ;;;;IAKD,gBAAgB,CAAC,KAAY;QAC3B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,cAAc,EAAE,CAAC;KACxB;;kHAnFU,qBAAqB;sGAArB,qBAAqB,qOCflC,0NASA;2FDMa,qBAAqB;kBANjC,SAAS;+BACE,iCAAiC,mBAG1B,uBAAuB,CAAC,MAAM;iIAQd,cAAc;sBAA9C,WAAW;uBAAC,kBAAkB;gBACK,iBAAiB;sBAApD,WAAW;uBAAC,qBAAqB;gBAiD9B,cAAc;sBADjB,WAAW;uBAAC,eAAe;;;ME5CjB,sBAAsB;IA4BjC,YACU,WAAuB,EACvB,kBAAqC;QADrC,gBAAW,GAAX,WAAW,CAAY;QACvB,uBAAkB,GAAlB,kBAAkB,CAAmB;QA3BvC,wBAAmB,GAAiB,YAAY,CAAC,KAAK,CAAC;QACvD,kBAAa,GAAoB,IAAI,OAAO,EAAU,CAAC;QAEvD,cAAS,GAAG,KAAK,CAAC;QAClB,mBAAc,GAAG,eAAe,CAAC;QAEJ,uBAAkB,GAAG,IAAI,CAAC;;QAM/D,sBAAiB,GAA4B,EAAE,CAAC;KAgB5C;;;;IAXJ,IAAoB,aAAa,CAAC,aAAqB;QACrD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IACD,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IAOD,QAAQ;QACN,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAC9B,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,EAClD,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAC/D,CAAC,SAAS,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,UAAU,CAAC;oBACT,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;oBACvB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;iBACxC,EAAE,GAAG,CAAC,CAAC;aACT;SACF,CAAC,CAAC;KACJ;IAED,SAAS;QACP,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE;YACtD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAClD;KACF;IAED,kBAAkB;QAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO;aACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAClC,SAAS,CAAC;YACT,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;SACxC,CAAC,CAAC;KACN;IAED,WAAW;QACT,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,CAAC;KACxC;;;;IAKD,IAAI,kBAAkB;QACpB,MAAM,OAAO,GAA6B,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;;QAEzE,MAAM,KAAK,GAAwB,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,UAAU,GAAW,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAW,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAW,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAW,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAW,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAW,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAE9D,QACE,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK;YACrC,UAAU;YACV,WAAW;YACX,UAAU;YACV,WAAW;YACX,WAAW;YACX,YAAY,EACZ;KACH;;;;IAKD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;KACzD;;;;IAKO,aAAa;QACnB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,eAAe,GACnB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC9B,eAAe,CAAC,OAAO,CACrB,CAAC,UAAiC,EAAE,KAAa;gBAC/C,UAAU,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;;gBAE9C,UAAU,CAAC,WAAW,GAAG,KAAK,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;aAC7D,CACF,CAAC;SACH;KACF;IAEO,oBAAoB;QAC1B,MAAM,WAAW,GAA4B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACzE,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,YAAY,GAA4B,EAAE,CAAC;;QAEjD,KAAK,IAAI,CAAC,GAAW,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YACxD,MAAM,UAAU,GAA0B,WAAW,CAAC,CAAC,CAAC,CAAC;;;YAIzD,IAAI,aAAa,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE;gBAC9D,UAAU,CAAC,YAAY,GAAG,KAAK,CAAC;gBAChC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAC/B;iBAAM;;gBAEL,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC;aAChC;YACD,aAAa,IAAI,UAAU,CAAC,KAAK,CAAC;SACnC;QAED,IAAI,CAAC,iBAAiB,GAAG,YAAY,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;mHA5IU,sBAAsB;uGAAtB,sBAAsB,4MAYhB,qBAAqB,gDCtCxC,6BACA;2FDyBa,sBAAsB;kBANlC,SAAS;+BACE,gBAAgB,mBAGT,uBAAuB,CAAC,MAAM;iIAWV,kBAAkB;sBAAtD,WAAW;uBAAC,sBAAsB;gBAInC,YAAY;sBADX,eAAe;uBAAC,qBAAqB,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE;gBAQzC,aAAa;sBAAhC,KAAK;;;MElCK,yBAAyB;;sHAAzB,yBAAyB;uHAAzB,yBAAyB,iBAHrB,sBAAsB,EAAE,qBAAqB,aADlD,YAAY,EAAE,aAAa,aAE3B,sBAAsB,EAAE,qBAAqB;uHAE5C,yBAAyB,YAJ3B,CAAC,YAAY,EAAE,aAAa,CAAC;2FAI3B,yBAAyB;kBALrC,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;oBACtC,YAAY,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;oBAC7D,OAAO,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;iBACzD;;;ACXD;;;;;;"}
1
+ {"version":3,"file":"covalent-core-breadcrumbs.mjs","sources":["../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.module.ts","../../../../libs/angular/breadcrumbs/src/covalent-core-breadcrumbs.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'td-breadcrumb, a[td-breadcrumb]',\n styleUrls: ['./breadcrumb.component.scss'],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbComponent implements AfterViewInit {\n private _displayCrumb = true;\n private _width = 0;\n private _displayIcon = true;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.mat-button') matButtonClass = true;\n @HostBinding('class.td-breadcrumb') tdBreadCrumbClass = true;\n\n // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n // Should show the right chevron or not before the label\n public get displayIcon(): boolean {\n return this._displayIcon;\n }\n public set displayIcon(displayIcon: boolean) {\n this._displayIcon = displayIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n get displayCrumb(): boolean {\n return this._displayCrumb;\n }\n\n /**\n * Whether to display the crumb or not\n */\n set displayCrumb(shouldDisplay: boolean) {\n this._displayCrumb = shouldDisplay;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Width of the DOM element of the crumb\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * Gets the display style of the crumb\n */\n @HostBinding('style.display')\n get displayBinding(): string | undefined {\n // Set the display to none on the component, just in case the end user is hiding\n // and showing them instead of the component doing itself for reasons like responsive\n return this._displayCrumb ? undefined : 'none';\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n // set the width from the actual rendered DOM element\n setTimeout(() => {\n this._width = (<HTMLElement>(\n this._elementRef.nativeElement\n )).getBoundingClientRect().width;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Stop click propagation when clicking on icon\n */\n _handleIconClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n","import {\n Component,\n ContentChildren,\n QueryList,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n ChangeDetectorRef,\n ElementRef,\n Input,\n HostBinding,\n} from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@Component({\n selector: 'td-breadcrumbs',\n styleUrls: ['./breadcrumbs.component.scss'],\n templateUrl: './breadcrumbs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbsComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n private _resizeSubscription: Subscription = Subscription.EMPTY;\n private _contentChildrenSub!: Subscription;\n private _resizing = false;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.td-breadcrumbs') tdBreadCrumbsClass = true;\n\n // all the sub components, which are the individual breadcrumbs\n @ContentChildren(TdBreadcrumbComponent, { descendants: true })\n _breadcrumbs!: QueryList<TdBreadcrumbComponent>;\n // the list of hidden breadcrumbs not shown right now (responsive)\n hiddenBreadcrumbs: TdBreadcrumbComponent[] = [];\n\n /**\n * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n */\n @Input() public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n this.setCrumbIcons();\n }\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this._resizeSubscription = fromEvent(window, 'resize')\n .pipe(debounceTime(10))\n .subscribe(() => {\n if (!this._resizing) {\n this._resizing = true;\n setTimeout(() => {\n this._calculateVisibility();\n this._resizing = false;\n this._changeDetectorRef.markForCheck();\n }, 100);\n }\n });\n }\n\n ngAfterContentInit(): void {\n this._contentChildrenSub = this._breadcrumbs.changes\n .pipe(startWith(this._breadcrumbs))\n .subscribe(() => {\n this.setCrumbIcons();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._resizeSubscription.unsubscribe();\n this._contentChildrenSub.unsubscribe();\n }\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n /**\n * The total count of individual breadcrumbs\n */\n get count(): number {\n return this._breadcrumbs ? this._breadcrumbs.length : 0;\n }\n\n /**\n * Set the crumb icon separators\n */\n private setCrumbIcons(): void {\n if (this._breadcrumbs) {\n const breadcrumbArray: TdBreadcrumbComponent[] =\n this._breadcrumbs.toArray();\n breadcrumbArray.forEach(\n (breadcrumb: TdBreadcrumbComponent, index: number) => {\n breadcrumb.separatorIcon = this.separatorIcon;\n // don't show the icon on the last breadcrumb\n breadcrumb.displayIcon = index < breadcrumbArray.length - 1;\n }\n );\n }\n }\n\n private _calculateVisibility(): void {\n const crumbsArray: TdBreadcrumbComponent[] = this._breadcrumbs.toArray();\n let crumbWidthSum = 0;\n const hiddenCrumbs: TdBreadcrumbComponent[] = [];\n // loop through crumbs in reverse order to calculate which ones should be removed\n for (let i: number = crumbsArray.length - 1; i >= 0; i--) {\n const breadcrumb: TdBreadcrumbComponent = crumbsArray[i];\n\n // if crumb exceeds width, then we skip it from the sum and add it into the hiddencrumbs array\n // and hide it\n if (crumbWidthSum + breadcrumb.width > this.nativeElementWidth) {\n breadcrumb.displayCrumb = false;\n hiddenCrumbs.push(breadcrumb);\n } else {\n // else we show it\n breadcrumb.displayCrumb = true;\n }\n crumbWidthSum += breadcrumb.width;\n }\n\n this.hiddenBreadcrumbs = hiddenCrumbs;\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n})\nexport class CovalentBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ import * as i2 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1 from '@angular/material/icon';
6
6
  import { MatIconModule } from '@angular/material/icon';
7
- import { Subscription, Subject, merge, fromEvent } from 'rxjs';
8
- import { debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';
7
+ import { Subscription, fromEvent } from 'rxjs';
8
+ import { debounceTime, startWith } from 'rxjs/operators';
9
9
 
10
10
  class TdBreadcrumbComponent {
11
11
  constructor(_elementRef, _changeDetectorRef) {
@@ -80,10 +80,10 @@ class TdBreadcrumbComponent {
80
80
  }
81
81
  }
82
82
  TdBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
83
- TdBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbComponent, selector: "td-breadcrumb, a[td-breadcrumb]", host: { properties: { "class.mat-button": "this.matButtonClass", "class.td-breadcrumb": "this.tdBreadCrumbClass", "style.display": "this.displayBinding" } }, ngImport: i0, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ TdBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbComponent, selector: "td-breadcrumb, a[td-breadcrumb]", host: { properties: { "class.mat-button": "this.matButtonClass", "class.td-breadcrumb": "this.tdBreadCrumbClass", "style.display": "this.displayBinding" } }, ngImport: i0, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"], components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
84
84
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbComponent, decorators: [{
85
85
  type: Component,
86
- args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"] }]
86
+ args: [{ selector: 'td-breadcrumb, a[td-breadcrumb]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n", styles: [":host.td-breadcrumb{display:inline-block;box-sizing:border-box;flex-direction:row;align-items:center;align-content:center;max-width:100%;justify-content:flex-end}:host.td-breadcrumb ::ng-deep>*{margin:0 10px}:host .td-breadcrumb-separator-icon{display:inline-flex;vertical-align:middle}:host.mat-button{min-width:0;padding:0}\n"] }]
87
87
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { matButtonClass: [{
88
88
  type: HostBinding,
89
89
  args: ['class.mat-button']
@@ -100,7 +100,6 @@ class TdBreadcrumbsComponent {
100
100
  this._elementRef = _elementRef;
101
101
  this._changeDetectorRef = _changeDetectorRef;
102
102
  this._resizeSubscription = Subscription.EMPTY;
103
- this._widthSubject = new Subject();
104
103
  this._resizing = false;
105
104
  this._separatorIcon = 'chevron_right';
106
105
  this.tdBreadCrumbsClass = true;
@@ -118,7 +117,9 @@ class TdBreadcrumbsComponent {
118
117
  return this._separatorIcon;
119
118
  }
120
119
  ngOnInit() {
121
- this._resizeSubscription = merge(fromEvent(window, 'resize').pipe(debounceTime(10)), this._widthSubject.asObservable().pipe(distinctUntilChanged())).subscribe(() => {
120
+ this._resizeSubscription = fromEvent(window, 'resize')
121
+ .pipe(debounceTime(10))
122
+ .subscribe(() => {
122
123
  if (!this._resizing) {
123
124
  this._resizing = true;
124
125
  setTimeout(() => {
@@ -129,11 +130,6 @@ class TdBreadcrumbsComponent {
129
130
  }
130
131
  });
131
132
  }
132
- ngDoCheck() {
133
- if (this._elementRef && this._elementRef.nativeElement) {
134
- this._widthSubject.next(this.nativeElementWidth);
135
- }
136
- }
137
133
  ngAfterContentInit() {
138
134
  this._contentChildrenSub = this._breadcrumbs.changes
139
135
  .pipe(startWith(this._breadcrumbs))
@@ -210,10 +206,10 @@ class TdBreadcrumbsComponent {
210
206
  }
211
207
  }
212
208
  TdBreadcrumbsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
213
- TdBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbsComponent, selector: "td-breadcrumbs", inputs: { separatorIcon: "separatorIcon" }, host: { properties: { "class.td-breadcrumbs": "this.tdBreadCrumbsClass" } }, queries: [{ propertyName: "_breadcrumbs", predicate: TdBreadcrumbComponent, descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:block;width:100%}:host.td-breadcrumbs{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
209
+ TdBreadcrumbsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.2", type: TdBreadcrumbsComponent, selector: "td-breadcrumbs", inputs: { separatorIcon: "separatorIcon" }, host: { properties: { "class.td-breadcrumbs": "this.tdBreadCrumbsClass" } }, queries: [{ propertyName: "_breadcrumbs", predicate: TdBreadcrumbComponent, descendants: true }], ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
214
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.2", ngImport: i0, type: TdBreadcrumbsComponent, decorators: [{
215
211
  type: Component,
216
- args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:block;width:100%}:host.td-breadcrumbs{white-space:nowrap}\n"] }]
212
+ args: [{ selector: 'td-breadcrumbs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host.td-breadcrumbs{white-space:nowrap}\n"] }]
217
213
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { tdBreadCrumbsClass: [{
218
214
  type: HostBinding,
219
215
  args: ['class.td-breadcrumbs']
@@ -1 +1 @@
1
- {"version":3,"file":"covalent-core-breadcrumbs.mjs","sources":["../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.module.ts","../../../../libs/angular/breadcrumbs/src/covalent-core-breadcrumbs.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'td-breadcrumb, a[td-breadcrumb]',\n styleUrls: ['./breadcrumb.component.scss'],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbComponent implements AfterViewInit {\n private _displayCrumb = true;\n private _width = 0;\n private _displayIcon = true;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.mat-button') matButtonClass = true;\n @HostBinding('class.td-breadcrumb') tdBreadCrumbClass = true;\n\n // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n // Should show the right chevron or not before the label\n public get displayIcon(): boolean {\n return this._displayIcon;\n }\n public set displayIcon(displayIcon: boolean) {\n this._displayIcon = displayIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n get displayCrumb(): boolean {\n return this._displayCrumb;\n }\n\n /**\n * Whether to display the crumb or not\n */\n set displayCrumb(shouldDisplay: boolean) {\n this._displayCrumb = shouldDisplay;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Width of the DOM element of the crumb\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * Gets the display style of the crumb\n */\n @HostBinding('style.display')\n get displayBinding(): string | undefined {\n // Set the display to none on the component, just in case the end user is hiding\n // and showing them instead of the component doing itself for reasons like responsive\n return this._displayCrumb ? undefined : 'none';\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n // set the width from the actual rendered DOM element\n setTimeout(() => {\n this._width = (<HTMLElement>(\n this._elementRef.nativeElement\n )).getBoundingClientRect().width;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Stop click propagation when clicking on icon\n */\n _handleIconClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n>\n {{ separatorIcon }}\n</mat-icon>\n","import {\n Component,\n ContentChildren,\n QueryList,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n DoCheck,\n ChangeDetectorRef,\n ElementRef,\n Input,\n HostBinding,\n} from '@angular/core';\n\nimport { Subscription, Subject, fromEvent, merge } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, startWith } from 'rxjs/operators';\n\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@Component({\n selector: 'td-breadcrumbs',\n styleUrls: ['./breadcrumbs.component.scss'],\n templateUrl: './breadcrumbs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbsComponent\n implements OnInit, DoCheck, AfterContentInit, OnDestroy\n{\n private _resizeSubscription: Subscription = Subscription.EMPTY;\n private _widthSubject: Subject<number> = new Subject<number>();\n private _contentChildrenSub!: Subscription;\n private _resizing = false;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.td-breadcrumbs') tdBreadCrumbsClass = true;\n\n // all the sub components, which are the individual breadcrumbs\n @ContentChildren(TdBreadcrumbComponent, { descendants: true })\n _breadcrumbs!: QueryList<TdBreadcrumbComponent>;\n // the list of hidden breadcrumbs not shown right now (responsive)\n hiddenBreadcrumbs: TdBreadcrumbComponent[] = [];\n\n /**\n * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n */\n @Input() public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n this.setCrumbIcons();\n }\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this._resizeSubscription = merge(\n fromEvent(window, 'resize').pipe(debounceTime(10)),\n this._widthSubject.asObservable().pipe(distinctUntilChanged())\n ).subscribe(() => {\n if (!this._resizing) {\n this._resizing = true;\n setTimeout(() => {\n this._calculateVisibility();\n this._resizing = false;\n this._changeDetectorRef.markForCheck();\n }, 100);\n }\n });\n }\n\n ngDoCheck(): void {\n if (this._elementRef && this._elementRef.nativeElement) {\n this._widthSubject.next(this.nativeElementWidth);\n }\n }\n\n ngAfterContentInit(): void {\n this._contentChildrenSub = this._breadcrumbs.changes\n .pipe(startWith(this._breadcrumbs))\n .subscribe(() => {\n this.setCrumbIcons();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._resizeSubscription.unsubscribe();\n this._contentChildrenSub.unsubscribe();\n }\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n /**\n * The total count of individual breadcrumbs\n */\n get count(): number {\n return this._breadcrumbs ? this._breadcrumbs.length : 0;\n }\n\n /**\n * Set the crumb icon separators\n */\n private setCrumbIcons(): void {\n if (this._breadcrumbs) {\n const breadcrumbArray: TdBreadcrumbComponent[] =\n this._breadcrumbs.toArray();\n breadcrumbArray.forEach(\n (breadcrumb: TdBreadcrumbComponent, index: number) => {\n breadcrumb.separatorIcon = this.separatorIcon;\n // don't show the icon on the last breadcrumb\n breadcrumb.displayIcon = index < breadcrumbArray.length - 1;\n }\n );\n }\n }\n\n private _calculateVisibility(): void {\n const crumbsArray: TdBreadcrumbComponent[] = this._breadcrumbs.toArray();\n let crumbWidthSum = 0;\n const hiddenCrumbs: TdBreadcrumbComponent[] = [];\n // loop through crumbs in reverse order to calculate which ones should be removed\n for (let i: number = crumbsArray.length - 1; i >= 0; i--) {\n const breadcrumb: TdBreadcrumbComponent = crumbsArray[i];\n\n // if crumb exceeds width, then we skip it from the sum and add it into the hiddencrumbs array\n // and hide it\n if (crumbWidthSum + breadcrumb.width > this.nativeElementWidth) {\n breadcrumb.displayCrumb = false;\n hiddenCrumbs.push(breadcrumb);\n } else {\n // else we show it\n breadcrumb.displayCrumb = true;\n }\n crumbWidthSum += breadcrumb.width;\n }\n\n this.hiddenBreadcrumbs = hiddenCrumbs;\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n})\nexport class CovalentBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"covalent-core-breadcrumbs.mjs","sources":["../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumb/breadcrumb.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.ts","../../../../libs/angular/breadcrumbs/src/breadcrumbs.component.html","../../../../libs/angular/breadcrumbs/src/breadcrumbs.module.ts","../../../../libs/angular/breadcrumbs/src/covalent-core-breadcrumbs.ts"],"sourcesContent":["import {\n Component,\n ElementRef,\n HostBinding,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n} from '@angular/core';\n\n@Component({\n selector: 'td-breadcrumb, a[td-breadcrumb]',\n styleUrls: ['./breadcrumb.component.scss'],\n templateUrl: './breadcrumb.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbComponent implements AfterViewInit {\n private _displayCrumb = true;\n private _width = 0;\n private _displayIcon = true;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.mat-button') matButtonClass = true;\n @HostBinding('class.td-breadcrumb') tdBreadCrumbClass = true;\n\n // Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n // Should show the right chevron or not before the label\n public get displayIcon(): boolean {\n return this._displayIcon;\n }\n public set displayIcon(displayIcon: boolean) {\n this._displayIcon = displayIcon;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n get displayCrumb(): boolean {\n return this._displayCrumb;\n }\n\n /**\n * Whether to display the crumb or not\n */\n set displayCrumb(shouldDisplay: boolean) {\n this._displayCrumb = shouldDisplay;\n setTimeout(() => {\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Width of the DOM element of the crumb\n */\n get width(): number {\n return this._width;\n }\n\n /**\n * Gets the display style of the crumb\n */\n @HostBinding('style.display')\n get displayBinding(): string | undefined {\n // Set the display to none on the component, just in case the end user is hiding\n // and showing them instead of the component doing itself for reasons like responsive\n return this._displayCrumb ? undefined : 'none';\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngAfterViewInit(): void {\n // set the width from the actual rendered DOM element\n setTimeout(() => {\n this._width = (<HTMLElement>(\n this._elementRef.nativeElement\n )).getBoundingClientRect().width;\n this._changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Stop click propagation when clicking on icon\n */\n _handleIconClick(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n }\n}\n","<ng-content></ng-content>\n<mat-icon\n *ngIf=\"displayIcon\"\n class=\"td-breadcrumb-separator-icon\"\n [style.cursor]=\"'default'\"\n (click)=\"_handleIconClick($event)\"\n >{{ separatorIcon }}</mat-icon\n>\n","import {\n Component,\n ContentChildren,\n QueryList,\n OnInit,\n OnDestroy,\n ChangeDetectionStrategy,\n AfterContentInit,\n ChangeDetectorRef,\n ElementRef,\n Input,\n HostBinding,\n} from '@angular/core';\n\nimport { Subscription, fromEvent } from 'rxjs';\nimport { debounceTime, startWith } from 'rxjs/operators';\n\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@Component({\n selector: 'td-breadcrumbs',\n styleUrls: ['./breadcrumbs.component.scss'],\n templateUrl: './breadcrumbs.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TdBreadcrumbsComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n private _resizeSubscription: Subscription = Subscription.EMPTY;\n private _contentChildrenSub!: Subscription;\n private _resizing = false;\n private _separatorIcon = 'chevron_right';\n\n @HostBinding('class.td-breadcrumbs') tdBreadCrumbsClass = true;\n\n // all the sub components, which are the individual breadcrumbs\n @ContentChildren(TdBreadcrumbComponent, { descendants: true })\n _breadcrumbs!: QueryList<TdBreadcrumbComponent>;\n // the list of hidden breadcrumbs not shown right now (responsive)\n hiddenBreadcrumbs: TdBreadcrumbComponent[] = [];\n\n /**\n * Sets the icon url shown between breadcrumbs. Defaults to 'chevron_right'.\n */\n @Input() public set separatorIcon(separatorIcon: string) {\n this._separatorIcon = separatorIcon;\n this.setCrumbIcons();\n }\n public get separatorIcon(): string {\n return this._separatorIcon;\n }\n\n constructor(\n private _elementRef: ElementRef,\n private _changeDetectorRef: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this._resizeSubscription = fromEvent(window, 'resize')\n .pipe(debounceTime(10))\n .subscribe(() => {\n if (!this._resizing) {\n this._resizing = true;\n setTimeout(() => {\n this._calculateVisibility();\n this._resizing = false;\n this._changeDetectorRef.markForCheck();\n }, 100);\n }\n });\n }\n\n ngAfterContentInit(): void {\n this._contentChildrenSub = this._breadcrumbs.changes\n .pipe(startWith(this._breadcrumbs))\n .subscribe(() => {\n this.setCrumbIcons();\n this._changeDetectorRef.markForCheck();\n });\n }\n\n ngOnDestroy(): void {\n this._resizeSubscription.unsubscribe();\n this._contentChildrenSub.unsubscribe();\n }\n\n /*\n * Current width of the element container\n */\n get nativeElementWidth(): number {\n const element: HTMLElement = <HTMLElement>this._elementRef.nativeElement;\n // Need to take into account border, margin and padding that might be around all the crumbs\n const style: CSSStyleDeclaration = window.getComputedStyle(element);\n const borderLeft: number = parseInt(style.borderLeft, 10);\n const borderRight: number = parseInt(style.borderRight, 10);\n const marginLeft: number = parseInt(style.marginLeft, 10);\n const marginRight: number = parseInt(style.marginRight, 10);\n const paddingLeft: number = parseInt(style.paddingLeft, 10);\n const paddingRight: number = parseInt(style.paddingRight, 10);\n\n return (\n element.getBoundingClientRect().width -\n borderLeft -\n borderRight -\n marginLeft -\n marginRight -\n paddingLeft -\n paddingRight\n );\n }\n\n /**\n * The total count of individual breadcrumbs\n */\n get count(): number {\n return this._breadcrumbs ? this._breadcrumbs.length : 0;\n }\n\n /**\n * Set the crumb icon separators\n */\n private setCrumbIcons(): void {\n if (this._breadcrumbs) {\n const breadcrumbArray: TdBreadcrumbComponent[] =\n this._breadcrumbs.toArray();\n breadcrumbArray.forEach(\n (breadcrumb: TdBreadcrumbComponent, index: number) => {\n breadcrumb.separatorIcon = this.separatorIcon;\n // don't show the icon on the last breadcrumb\n breadcrumb.displayIcon = index < breadcrumbArray.length - 1;\n }\n );\n }\n }\n\n private _calculateVisibility(): void {\n const crumbsArray: TdBreadcrumbComponent[] = this._breadcrumbs.toArray();\n let crumbWidthSum = 0;\n const hiddenCrumbs: TdBreadcrumbComponent[] = [];\n // loop through crumbs in reverse order to calculate which ones should be removed\n for (let i: number = crumbsArray.length - 1; i >= 0; i--) {\n const breadcrumb: TdBreadcrumbComponent = crumbsArray[i];\n\n // if crumb exceeds width, then we skip it from the sum and add it into the hiddencrumbs array\n // and hide it\n if (crumbWidthSum + breadcrumb.width > this.nativeElementWidth) {\n breadcrumb.displayCrumb = false;\n hiddenCrumbs.push(breadcrumb);\n } else {\n // else we show it\n breadcrumb.displayCrumb = true;\n }\n crumbWidthSum += breadcrumb.width;\n }\n\n this.hiddenBreadcrumbs = hiddenCrumbs;\n this._changeDetectorRef.markForCheck();\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatIconModule } from '@angular/material/icon';\n\nimport { TdBreadcrumbsComponent } from './breadcrumbs.component';\nimport { TdBreadcrumbComponent } from './breadcrumb/breadcrumb.component';\n\n@NgModule({\n imports: [CommonModule, MatIconModule],\n declarations: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n exports: [TdBreadcrumbsComponent, TdBreadcrumbComponent],\n})\nexport class CovalentBreadcrumbsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@covalent/core",
3
- "version": "4.1.0-develop.6",
3
+ "version": "4.1.0-develop.9",
4
4
  "exports": {
5
5
  ".": {
6
6
  "sass": "./theming/_all-theme.scss",
@@ -123,14 +123,14 @@
123
123
  "peerDependencies": {
124
124
  "@angular/common": "^13.2.0",
125
125
  "@angular/core": "^13.2.0",
126
- "@covalent/core": "4.1.0-develop.6",
126
+ "@angular/forms": "^13.2.0",
127
127
  "@angular/router": "^13.2.0",
128
- "@angular/platform-browser": "^13.2.0",
128
+ "@angular/cdk": "^13.2.1",
129
129
  "@angular/material": "^13.2.1",
130
+ "@covalent/core": "4.1.0-develop.9",
131
+ "@angular/platform-browser": "^13.2.0",
130
132
  "rxjs": "~7.4.0",
131
133
  "@angular/animations": "^13.2.0",
132
- "@angular/forms": "^13.2.0",
133
- "@angular/cdk": "^13.2.1",
134
134
  "@angular/platform-browser-dynamic": "^13.2.0"
135
135
  },
136
136
  "dependencies": {