@fundamental-ngx/cx 0.43.53 → 0.43.54

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.
@@ -83,7 +83,7 @@ export class NestedListContentDirective {
83
83
  }
84
84
  }
85
85
  NestedListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
86
- NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
86
+ NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "attr.aria-selected": "this.selected", "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
87
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedListContentDirective, decorators: [{
88
88
  type: Directive,
89
89
  args: [{
@@ -94,6 +94,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
94
94
  }]
95
95
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.NestedItemService }]; }, propDecorators: { selected: [{
96
96
  type: Input
97
+ }, {
98
+ type: HostBinding,
99
+ args: ['attr.aria-selected']
97
100
  }, {
98
101
  type: HostBinding,
99
102
  args: ['class.is-selected']
@@ -128,4 +131,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
128
131
  type: HostListener,
129
132
  args: ['click', ['$event']]
130
133
  }] } });
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L3NyYy9saWIvbmVzdGVkLWxpc3QvbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTywwQkFBMEI7SUFnRG5DLGNBQWM7SUFDZCxZQUNXLFlBQStCLEVBQzlCLFNBQW9CLEVBQ3BCLFdBQXVCLEVBQ3ZCLFlBQStCO1FBSGhDLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQXBEM0Msc0NBQXNDO1FBR3RDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFbEIsY0FBYztRQUVkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJ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V0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBUTdDLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSzlCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBS2pDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLDZCQUE2QjtnQkE0QjNDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBUW5DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBSZW5kZXJlcjJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZExpc3RDb250ZW50XSwgW2ZkeC1uZXN0ZWQtbGlzdC1jb250ZW50XScsXG4gICAgaG9zdDoge1xuICAgICAgICB0YWJpbmRleDogJzAnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3RyZWVpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBzZWxlY3RlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIHRoaXMgZWxlbWVudCBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fY29udGVudCcpXG4gICAgY3hOZXN0ZWRMaXN0Q29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtQ29tcG9uZW50YFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWNoaWxkJylcbiAgICBoYXNDaGlsZHJlbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbmVzdGVkTGluazogTmVzdGVkTGlua0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudClcbiAgICBuZXN0ZWRFeHBhbmRJY29uOiBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudDtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21ha2VMaW5rVW5Gb2N1c2FibGUoKTtcbiAgICAgICAgdGhpcy5fc2V0Rm9jdXNTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogS2V5Ym9hcmQgRXZlbnQgSGFuZGxlciAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gdHJpZ2dlciBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UgKi9cbiAgICBjaGFuZ2VTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkTGluaykge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHN1YnNjcmlwdGlvbiBmb3IgY2hpbGQgZm9jdXNpbmcgKi9cbiAgICBwcml2YXRlIF9zZXRGb2N1c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgbGluayBjaGlsZCBlbGVtZW50IGZyb20gdGFiIGtleSAqL1xuICAgIHByaXZhdGUgX21ha2VMaW5rVW5Gb2N1c2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5lc3RlZExpbmspIHtcbiAgICAgICAgICAgIHRoaXMubmVzdGVkTGluay5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L3NyYy9saWIvbmVzdGVkLWxpc3QvbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixZQUFZLEVBQ1osU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUTNDLE1BQU0sT0FBTywwQkFBMEI7SUFpRG5DLGNBQWM7SUFDZCxZQUNXLFlBQStCLEVBQzlCLFNBQW9CLEVBQ3BCLFdBQXVCLEVBQ3ZCLFlBQStCO1FBSGhDLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUM5QixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQXJEM0Msc0NBQXNDO1FBSXRDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFbEIsY0FBYztRQUVkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJ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LE1BQU07Z0JBS1Asd0JBQXdCO3NCQUR2QixXQUFXO3VCQUFDLGdDQUFnQztnQkFRN0MsV0FBVztzQkFEVixXQUFXO3VCQUFDLGlCQUFpQjtnQkFLOUIsVUFBVTtzQkFEVCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFLakMsZ0JBQWdCO3NCQURmLFlBQVk7dUJBQUMsNkJBQTZCO2dCQTRCM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5lc3RlZExpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2N4TmVzdGVkTGlzdENvbnRlbnRdLCBbZmR4LW5lc3RlZC1saXN0LWNvbnRlbnRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnMCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3RyZWVpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBzZWxlY3RlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIHRoaXMgZWxlbWVudCBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fY29udGVudCcpXG4gICAgY3hOZXN0ZWRMaXN0Q29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtQ29tcG9uZW50YFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWNoaWxkJylcbiAgICBoYXNDaGlsZHJlbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbmVzdGVkTGluazogTmVzdGVkTGlua0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudClcbiAgICBuZXN0ZWRFeHBhbmRJY29uOiBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudDtcblxuICAgIC8qKiBBbiBSeEpTIFN1YmplY3QgdGhhdCB3aWxsIGtpbGwgdGhlIGRhdGEgc3RyZWFtIHVwb24gY29tcG9uZW504oCZcyBkZXN0cnVjdGlvbiAoZm9yIHVuc3Vic2NyaWJpbmcpICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21ha2VMaW5rVW5Gb2N1c2FibGUoKTtcbiAgICAgICAgdGhpcy5fc2V0Rm9jdXNTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICAvKiogS2V5Ym9hcmQgRXZlbnQgSGFuZGxlciAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gdHJpZ2dlciBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UgKi9cbiAgICBjaGFuZ2VTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkTGluaykge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHN1YnNjcmlwdGlvbiBmb3IgY2hpbGQgZm9jdXNpbmcgKi9cbiAgICBwcml2YXRlIF9zZXRGb2N1c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgbGluayBjaGlsZCBlbGVtZW50IGZyb20gdGFiIGtleSAqL1xuICAgIHByaXZhdGUgX21ha2VMaW5rVW5Gb2N1c2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5lc3RlZExpbmspIHtcbiAgICAgICAgICAgIHRoaXMubmVzdGVkTGluay5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -68,7 +68,7 @@ export class NestedLinkComponent {
68
68
  }
69
69
  }
70
70
  NestedLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedLinkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Component });
71
- NestedLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
71
+ NestedLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "attr.aria-selected": "this.selected", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
72
72
  <div *ngIf="!_nestedListButton" class="fdx-nested-list__link-container">
73
73
  <ng-container *ngTemplateOutlet="containerContent"></ng-container>
74
74
  </div>
@@ -110,6 +110,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
110
110
  type: Input
111
111
  }], selected: [{
112
112
  type: Input
113
+ }, {
114
+ type: HostBinding,
115
+ args: ['attr.aria-selected']
113
116
  }, {
114
117
  type: HostBinding,
115
118
  args: ['class.is-selected']
@@ -148,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
148
151
  type: HostListener,
149
152
  args: ['focus']
150
153
  }] } });
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9zcmMvbGliL25lc3RlZC1saXN0L25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBd0IxRSxNQUFNLE9BQU8sbUJBQW1CO0lBOEM1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixTQUFvQixFQUNwQixXQUF1QixFQUN2QixZQUErQjtRQUhoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUE5QzNDLHNDQUFzQztRQUd0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGNBQWM7UUFFZCwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUF1QmYsQ0FBQztJQUVKLGNBQWM7SUFDZCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELGtDQUFrQztJQUVsQyxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrQkFBK0I7SUFFL0IsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUMxQjtTQUNKO0lBQ0wsQ0FBQztJQUVELCtCQUErQjtJQUUvQixPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxjQUFjLENBQUMsUUFBaUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxLQUFLO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFZLGFBQWE7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7O2dIQTVHUSxtQkFBbUI7b0dBQW5CLG1CQUFtQixxc0JBbUNkLHdCQUF3QixvRkFJeEIseUJBQXlCLDhFQUl6Qiw2QkFBNkIsZ0RBaEVqQzs7Ozs7Ozs7Ozs7OztLQWFUOzJGQVFRLG1CQUFtQjtrQkF0Qi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0tBYVQ7b0JBQ0QsUUFBUTtvQkFDSiw4REFBOEQ7b0JBQzlELDBHQUEwRztvQkFDOUcsSUFBSSxFQUFFO3dCQUNGLGlCQUFpQixFQUFFLDZCQUE2QjtxQkFDbkQ7aUJBQ0o7eUxBSUcsZUFBZTtzQkFEZCxLQUFLO2dCQU1OLFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxtQkFBbUI7Z0JBS2hDLFVBQVU7c0JBRFQsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBTTlCLGVBQWU7c0JBRmQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBS3BDLGNBQWM7c0JBRGIsTUFBTTtnQkFLUCxxQkFBcUI7c0JBRHBCLFdBQVc7dUJBQUMsNkJBQTZCO2dCQUsxQyxJQUFJO3NCQURILFdBQVc7dUJBQUMsV0FBVztnQkFReEIsS0FBSztzQkFESixZQUFZO3VCQUFDLHdCQUF3QjtnQkFLdEMsaUJBQWlCO3NCQURoQixZQUFZO3VCQUFDLHlCQUF5QjtnQkFLdkMsV0FBVztzQkFEVixZQUFZO3VCQUFDLDZCQUE2QjtnQkFrQjNDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBT25DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPO2dCQWNyQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUsIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFfbmVzdGVkTGlzdEJ1dHRvblwiIGNsYXNzPVwiZmR4LW5lc3RlZC1saXN0X19saW5rLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRhaW5lckNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxhICpuZ0lmPVwiX25lc3RlZExpc3RCdXR0b25cIiB0YWJpbmRleD1cIjBcIiBjbGFzcz1cImZkeC1uZXN0ZWQtbGlzdF9fbGluay1jb250YWluZXJcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250YWluZXJDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkeC1uZXN0ZWQtbGlzdC1idXR0b25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctdGVtcGxhdGUgI2NvbnRhaW5lckNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LWljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkeC1uZXN0ZWQtbGlzdC10aXRsZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LWV4cGFuZC1pY29uXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICBgLFxuICAgIHNlbGVjdG9yOlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgICAgICAnW2ZkeC1uZXN0ZWQtbGlzdC1saW5rXSwgYnV0dG9uW2ZkeC1uZXN0ZWQtbGlzdC1saW5rXSwgYVtmZHgtbmVzdGVkLWxpc3QtbGlua10sIGRpdltmZHgtbmVzdGVkLWxpc3QtbGlua10nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICchX25lc3RlZExpc3RCdXR0b24gPyAwIDogLTEnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaW5rQ29tcG9uZW50IHtcbiAgICAvKiogRnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb24gY2xpY2sgZXZlbnQgZGlzcGF0Y2ggb24gdGhpcyBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgb25DbGlja0NhbGxiYWNrOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuICAgIGFyaWFEZXNjcmliZWRieTogTnVsbGFibGU8c3RyaW5nIHwgbnVtYmVyPjtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19saW5rJylcbiAgICBjeE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBSZWZlcmVuY2UgdG8gdGl0bGUgZWxlbWVudCwgaXQgaXMgdXNlZCwgdG8gZ2V0IHRpdGxlIGZvciBjb25kZW5zZWQgbW9kZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSlcbiAgICB0aXRsZTogTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUpXG4gICAgX25lc3RlZExpc3RCdXR0b246IE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgX2V4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3Iga2V5Ym9hcmQgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd24ubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29sbGFwc2VPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRJY29uLm9uQ2xpY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9uQ2xpY2tDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRoaXMub25DbGlja0NhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgc2VsZWN0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnQuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEaXNwYXRjaGVzIHRoZSBjbGljayBldmVudCBvbiB0aGUgZWxlbWVudCAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyB0aGUgdGl0bGUgdmFsdWUgb2YgdGhlIHRpdGxlIGRpcmVjdGl2ZSAqL1xuICAgIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUuZ2V0SW5uZXJUZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfY29sbGFwc2VPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuX25lc3RlZExpc3RCdXR0b24gJiYgdGhpcy5fZXhwYW5kSWNvbjtcbiAgICB9XG59XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9zcmMvbGliL25lc3RlZC1saXN0L25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRXZFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBd0IxRSxNQUFNLE9BQU8sbUJBQW1CO0lBK0M1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixTQUFvQixFQUNwQixXQUF1QixFQUN2QixZQUErQjtRQUhoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUEvQzNDLHNDQUFzQztRQUl0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGNBQWM7UUFFZCwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUF1QmYsQ0FBQztJQUVKLGNBQWM7SUFDZCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQztJQUVELGtDQUFrQztJQUVsQyxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCwrQkFBK0I7SUFFL0IsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzlCO2FBQU07WUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzthQUMxQjtTQUNKO0lBQ0wsQ0FBQztJQUVELCtCQUErQjtJQUUvQixPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELDhDQUE4QztJQUM5QyxjQUFjLENBQUMsUUFBaUI7UUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELGdDQUFnQztJQUNoQyxLQUFLO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELGdEQUFnRDtJQUNoRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDM0MsQ0FBQztJQUVELHFEQUFxRDtJQUNyRCxRQUFRO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUFZLGFBQWE7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQ3ZELENBQUM7O2dIQTdHUSxtQkFBbUI7b0dBQW5CLG1CQUFtQiw0dUJBb0NkLHdCQUF3QixvRkFJeEIseUJBQXlCLDhFQUl6Qiw2QkFBNkIsZ0RBakVqQzs7Ozs7Ozs7Ozs7OztLQWFUOzJGQVFRLG1CQUFtQjtrQkF0Qi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0tBYVQ7b0JBQ0QsUUFBUTtvQkFDSiw4REFBOEQ7b0JBQzlELDBHQUEwRztvQkFDOUcsSUFBSSxFQUFFO3dCQUNGLGlCQUFpQixFQUFFLDZCQUE2QjtxQkFDbkQ7aUJBQ0o7eUxBSUcsZUFBZTtzQkFEZCxLQUFLO2dCQU9OLFFBQVE7c0JBSFAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxvQkFBb0I7O3NCQUNoQyxXQUFXO3VCQUFDLG1CQUFtQjtnQkFLaEMsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFNOUIsZUFBZTtzQkFGZCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLHVCQUF1QjtnQkFLcEMsY0FBYztzQkFEYixNQUFNO2dCQUtQLHFCQUFxQjtzQkFEcEIsV0FBVzt1QkFBQyw2QkFBNkI7Z0JBSzFDLElBQUk7c0JBREgsV0FBVzt1QkFBQyxXQUFXO2dCQVF4QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsd0JBQXdCO2dCQUt0QyxpQkFBaUI7c0JBRGhCLFlBQVk7dUJBQUMseUJBQXlCO2dCQUt2QyxXQUFXO3NCQURWLFlBQVk7dUJBQUMsNkJBQTZCO2dCQWtCM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU87Z0JBY3JCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEJ1dHRvbkRpcmVjdGl2ZSwgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIV9uZXN0ZWRMaXN0QnV0dG9uXCIgY2xhc3M9XCJmZHgtbmVzdGVkLWxpc3RfX2xpbmstY29udGFpbmVyXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGFpbmVyQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGEgKm5nSWY9XCJfbmVzdGVkTGlzdEJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiZmR4LW5lc3RlZC1saXN0X19saW5rLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRhaW5lckNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGFpbmVyQ29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgICAgICdbZmR4LW5lc3RlZC1saXN0LWxpbmtdLCBidXR0b25bZmR4LW5lc3RlZC1saXN0LWxpbmtdLCBhW2ZkeC1uZXN0ZWQtbGlzdC1saW5rXSwgZGl2W2ZkeC1uZXN0ZWQtbGlzdC1saW5rXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJyFfbmVzdGVkTGlzdEJ1dHRvbiA/IDAgOiAtMSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpbmtDb21wb25lbnQge1xuICAgIC8qKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbiBjbGljayBldmVudCBkaXNwYXRjaCBvbiB0aGlzIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBvbkNsaWNrQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuICAgIGFyaWFEZXNjcmliZWRieTogTnVsbGFibGU8c3RyaW5nIHwgbnVtYmVyPjtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19saW5rJylcbiAgICBjeE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBSZWZlcmVuY2UgdG8gdGl0bGUgZWxlbWVudCwgaXQgaXMgdXNlZCwgdG8gZ2V0IHRpdGxlIGZvciBjb25kZW5zZWQgbW9kZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSlcbiAgICB0aXRsZTogTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUpXG4gICAgX25lc3RlZExpc3RCdXR0b246IE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgX2V4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3Iga2V5Ym9hcmQgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd24ubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29sbGFwc2VPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRJY29uLm9uQ2xpY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9uQ2xpY2tDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRoaXMub25DbGlja0NhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgc2VsZWN0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnQuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEaXNwYXRjaGVzIHRoZSBjbGljayBldmVudCBvbiB0aGUgZWxlbWVudCAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyB0aGUgdGl0bGUgdmFsdWUgb2YgdGhlIHRpdGxlIGRpcmVjdGl2ZSAqL1xuICAgIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUuZ2V0SW5uZXJUZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfY29sbGFwc2VPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuX25lc3RlZExpc3RCdXR0b24gJiYgdGhpcy5fZXhwYW5kSWNvbjtcbiAgICB9XG59XG4iXX0=
@@ -310,7 +310,7 @@ class NestedLinkComponent {
310
310
  }
311
311
  }
312
312
  NestedLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedLinkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: NestedItemService }], target: i0.ɵɵFactoryTarget.Component });
313
- NestedLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
313
+ NestedLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "attr.aria-selected": "this.selected", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
314
314
  <div *ngIf="!_nestedListButton" class="fdx-nested-list__link-container">
315
315
  <ng-container *ngTemplateOutlet="containerContent"></ng-container>
316
316
  </div>
@@ -352,6 +352,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
352
352
  type: Input
353
353
  }], selected: [{
354
354
  type: Input
355
+ }, {
356
+ type: HostBinding,
357
+ args: ['attr.aria-selected']
355
358
  }, {
356
359
  type: HostBinding,
357
360
  args: ['class.is-selected']
@@ -468,7 +471,7 @@ class NestedListContentDirective {
468
471
  }
469
472
  }
470
473
  NestedListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
471
- NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
474
+ NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "attr.aria-selected": "this.selected", "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
472
475
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedListContentDirective, decorators: [{
473
476
  type: Directive,
474
477
  args: [{
@@ -479,6 +482,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
479
482
  }]
480
483
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: NestedItemService }]; }, propDecorators: { selected: [{
481
484
  type: Input
485
+ }, {
486
+ type: HostBinding,
487
+ args: ['attr.aria-selected']
482
488
  }, {
483
489
  type: HostBinding,
484
490
  args: ['class.is-selected']
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.service.ts","../../../../libs/cx/src/lib/nested-list/nested-list-directives.ts","../../../../libs/cx/src/lib/nested-list/nested-link/nested-link.component.ts","../../../../libs/cx/src/lib/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/cx/src/lib/nested-list/nested-list-keyboard.service.ts","../../../../libs/cx/src/lib/nested-list/nested-list-state.service.ts","../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list/nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/cx/src/lib/nested-list/nested-list.module.ts","../../../../libs/cx/src/lib/nested-list/fundamental-ngx-cx-nested-list.ts"],"sourcesContent":["import { NestedListInterface } from '../nested-list/nested-list.interface';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { Subject } from 'rxjs';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { NestedItemService } from './nested-item/nested-item.service';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]'\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fdx-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__group-header')\n cxNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]',\n template: ` <ng-content></ng-content> `,\n host: {\n 'aria-haspopup': 'true',\n role: 'presentation'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__arrow')\n fdNestedListArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n get fdNestedListDownArrowClass(): boolean {\n return this.expanded;\n }\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n get fdNestedListRightArrowClass(): any {\n return !this.expanded;\n }\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n rtl$: Observable<boolean>;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n @Optional() private _rtlService: RtlService\n ) {\n this._listenOnTextDirection();\n }\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event?: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden Sets expand arrow depending on text direction */\n private _listenOnTextDirection(): void {\n this.rtl$ = this._rtlService ? this._rtlService.rtl.pipe(map((isRtl) => isRtl)) : of(false);\n }\n}\n\n@Directive({\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n})\nexport class NestedListButtonDirective implements AfterContentInit {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__button')\n fdNestedListButtonClass = true;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedListButtonDirective, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Component({\n template: `\n <div *ngIf=\"!_nestedListButton\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </div>\n <a *ngIf=\"_nestedListButton\" tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </a>\n <ng-content select=\"[fdx-nested-list-button]\"></ng-content>\n <ng-template #containerContent>\n <ng-content select=\"[fdx-nested-list-icon]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-title]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-expand-icon]\"></ng-content>\n </ng-template>\n `,\n selector:\n // eslint-disable-next-line @angular-eslint/component-selector\n '[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]',\n host: {\n '[attr.tabindex]': '!_nestedListButton ? 0 : -1'\n }\n})\nexport class NestedLinkComponent {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__link')\n cxNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n @ContentChild(NestedListButtonDirective)\n _nestedListButton: NestedListButtonDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n } else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n\n /** @hidden */\n private get _collapseOnly(): boolean {\n return !this._nestedListButton && this._expandIcon;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n host: {\n tabindex: '0'\n }\n})\nexport class NestedListContentDirective implements AfterContentInit, OnDestroy {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__content')\n cxNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n nestedLink: NestedLinkComponent;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import { Subject } from 'rxjs';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n @Inject(MenuKeyboardService) private keyboardService: MenuKeyboardService,\n @Optional() private _rtlService: RtlService | null\n ) {\n this._subscribeToRtl();\n }\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(this.refresh$))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))\n ) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))\n ) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import {\n AfterContentInit,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n forwardRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]',\n template: ` <ng-content></ng-content> `,\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n }\n})\nexport class NestedItemComponent implements AfterContentInit, NestedItemInterface, OnDestroy {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @Input()\n @HostBinding('class.fdx-nested-list__item')\n fdNestedListItemClass = true;\n\n /** Whether this item is a header item. */\n @Input()\n @HostBinding('class.fdx-nested-list__item--header')\n header = false;\n\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n @Input()\n display = false;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkComponent)\n linkItem: NestedLinkComponent;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent, { descendants: true })\n expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @ContentChild(forwardRef(() => NestedListComponent))\n _nestedList: NestedListComponent;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('style.display')\n _display = 'block';\n\n /** @hidden */\n _narrow = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role: string;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n private _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n private _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n private _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n private _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n private _ariaHidden = true;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService,\n public elementRef: ElementRef\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n this.expandIcon?.changeExpandedState(open);\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntil(this._onDestroy$),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Component\n} from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\n\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListInterface } from './nested-list.interface';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdLanguage, FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n template: ` <ng-content></ng-content> `,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]',\n providers: [contentDensityObserverProviders()]\n})\nexport class NestedListComponent implements AfterContentInit, NestedListInterface, OnDestroy {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fdx-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemComponent by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemComponent))\n nestedItems: QueryList<NestedItemComponent>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n private _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => NestedListComponent), { descendants: true })\n private _nestedLists: QueryList<NestedListComponent>;\n\n /** @hidden */\n private _nestedItemsChangesSubscription = new Subscription();\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n private _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n private _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private _tabindex = '-1';\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListStateService: NestedListStateService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef,\n @Inject(FD_LANGUAGE) private _language$: Observable<FdLanguage>,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._handleNestedLevel();\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n\n const nestedLevel: number = this._getNestedLevel();\n\n this._setAccessibilityProperties(nestedLevel);\n\n const itemChangesSub = combineLatest([\n this._language$,\n this.nestedItems.changes.pipe(startWith(undefined))\n ]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + nestedLevel);\n });\n\n this._nestedItemsChangesSubscription.add(itemChangesSub);\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all the parentNode elements of current NestedListComponent element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n\n let retVal = filteredParentElements.length;\n\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1,\n total: this.nestedItems.length,\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { map } from 'rxjs/operators';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'fdx-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrls: ['./nested-list-popover.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, OnInit {\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n linkDirective: NestedLinkComponent;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement$: Observable<Placement>;\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n _closeScrollStrategy: ScrollStrategy;\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n @Optional() private _rtlService: RtlService,\n private _overlay: Overlay\n ) {\n this._listenOnKeyboardRefresh();\n this._createRtlObservable();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n\n /** @hidden */\n private _createRtlObservable(): void {\n this.placement$ = this._rtlService\n ? this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'left-start' : 'right-start')))\n : of('right-start');\n }\n}\n","<fd-popover\n [placement]=\"placement$ | async\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fdx-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListComponent))\n _nestedListComponent: NestedListComponent;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListComponent(): NestedListComponent {\n return this._nestedListComponent;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n <ng-container *ngFor=\"let item of list?.items\">\n <li *ngIf=\"item.headerTitle\" fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n <li\n *ngIf=\"!item.headerTitle\"\n fdx-nested-list-item\n [expanded]=\"!!item.expanded\"\n (expandedChange)=\"_expandedChange($event, item)\"\n >\n <fdx-nested-list-popover *ngIf=\"condensed && first && item.list\" [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </fdx-nested-list-popover>\n\n <ng-container *ngIf=\"!item.list\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"(!condensed || !first) && item.list\">\n <div fdx-nested-list-content>\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </ng-container>\n\n <ng-template let-item=\"item\" #link>\n <a\n fdx-nested-list-link\n *ngIf=\"item.link\"\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n <span fdx-nested-list-icon *ngIf=\"item.link.icon\" [glyph]=\"item.link.icon\"></span>\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { CommonModule } from '@angular/common';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { RouterModule } from '@angular/router';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, RouterModule, IconModule, ContentDensityModule],\n declarations: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective\n ],\n exports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule\n ],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class CxNestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2","i1","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3","i4","i5","i6","i6.NestedListExpandIconComponent","i8.NestedListContentDirective"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.service.ts","../../../../libs/cx/src/lib/nested-list/nested-list-directives.ts","../../../../libs/cx/src/lib/nested-list/nested-link/nested-link.component.ts","../../../../libs/cx/src/lib/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/cx/src/lib/nested-list/nested-list-keyboard.service.ts","../../../../libs/cx/src/lib/nested-list/nested-list-state.service.ts","../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list/nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/cx/src/lib/nested-list/nested-list.module.ts","../../../../libs/cx/src/lib/nested-list/fundamental-ngx-cx-nested-list.ts"],"sourcesContent":["import { NestedListInterface } from '../nested-list/nested-list.interface';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { Subject } from 'rxjs';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { NestedItemService } from './nested-item/nested-item.service';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]'\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fdx-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__group-header')\n cxNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]',\n template: ` <ng-content></ng-content> `,\n host: {\n 'aria-haspopup': 'true',\n role: 'presentation'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__arrow')\n fdNestedListArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n get fdNestedListDownArrowClass(): boolean {\n return this.expanded;\n }\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n get fdNestedListRightArrowClass(): any {\n return !this.expanded;\n }\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n rtl$: Observable<boolean>;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n @Optional() private _rtlService: RtlService\n ) {\n this._listenOnTextDirection();\n }\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event?: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden Sets expand arrow depending on text direction */\n private _listenOnTextDirection(): void {\n this.rtl$ = this._rtlService ? this._rtlService.rtl.pipe(map((isRtl) => isRtl)) : of(false);\n }\n}\n\n@Directive({\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n})\nexport class NestedListButtonDirective implements AfterContentInit {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__button')\n fdNestedListButtonClass = true;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedListButtonDirective, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Component({\n template: `\n <div *ngIf=\"!_nestedListButton\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </div>\n <a *ngIf=\"_nestedListButton\" tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </a>\n <ng-content select=\"[fdx-nested-list-button]\"></ng-content>\n <ng-template #containerContent>\n <ng-content select=\"[fdx-nested-list-icon]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-title]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-expand-icon]\"></ng-content>\n </ng-template>\n `,\n selector:\n // eslint-disable-next-line @angular-eslint/component-selector\n '[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]',\n host: {\n '[attr.tabindex]': '!_nestedListButton ? 0 : -1'\n }\n})\nexport class NestedLinkComponent {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__link')\n cxNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n @ContentChild(NestedListButtonDirective)\n _nestedListButton: NestedListButtonDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n } else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n\n /** @hidden */\n private get _collapseOnly(): boolean {\n return !this._nestedListButton && this._expandIcon;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n host: {\n tabindex: '0'\n }\n})\nexport class NestedListContentDirective implements AfterContentInit, OnDestroy {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__content')\n cxNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n nestedLink: NestedLinkComponent;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import { Subject } from 'rxjs';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n @Inject(MenuKeyboardService) private keyboardService: MenuKeyboardService,\n @Optional() private _rtlService: RtlService | null\n ) {\n this._subscribeToRtl();\n }\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(this.refresh$))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))\n ) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))\n ) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import {\n AfterContentInit,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n forwardRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]',\n template: ` <ng-content></ng-content> `,\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n }\n})\nexport class NestedItemComponent implements AfterContentInit, NestedItemInterface, OnDestroy {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @Input()\n @HostBinding('class.fdx-nested-list__item')\n fdNestedListItemClass = true;\n\n /** Whether this item is a header item. */\n @Input()\n @HostBinding('class.fdx-nested-list__item--header')\n header = false;\n\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n @Input()\n display = false;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkComponent)\n linkItem: NestedLinkComponent;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent, { descendants: true })\n expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @ContentChild(forwardRef(() => NestedListComponent))\n _nestedList: NestedListComponent;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('style.display')\n _display = 'block';\n\n /** @hidden */\n _narrow = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role: string;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n private _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n private _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n private _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n private _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n private _ariaHidden = true;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService,\n public elementRef: ElementRef\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n this.expandIcon?.changeExpandedState(open);\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntil(this._onDestroy$),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Component\n} from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\n\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListInterface } from './nested-list.interface';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdLanguage, FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n template: ` <ng-content></ng-content> `,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]',\n providers: [contentDensityObserverProviders()]\n})\nexport class NestedListComponent implements AfterContentInit, NestedListInterface, OnDestroy {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fdx-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemComponent by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemComponent))\n nestedItems: QueryList<NestedItemComponent>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n private _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => NestedListComponent), { descendants: true })\n private _nestedLists: QueryList<NestedListComponent>;\n\n /** @hidden */\n private _nestedItemsChangesSubscription = new Subscription();\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n private _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n private _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private _tabindex = '-1';\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListStateService: NestedListStateService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef,\n @Inject(FD_LANGUAGE) private _language$: Observable<FdLanguage>,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._handleNestedLevel();\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n\n const nestedLevel: number = this._getNestedLevel();\n\n this._setAccessibilityProperties(nestedLevel);\n\n const itemChangesSub = combineLatest([\n this._language$,\n this.nestedItems.changes.pipe(startWith(undefined))\n ]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + nestedLevel);\n });\n\n this._nestedItemsChangesSubscription.add(itemChangesSub);\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all the parentNode elements of current NestedListComponent element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n\n let retVal = filteredParentElements.length;\n\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1,\n total: this.nestedItems.length,\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { map } from 'rxjs/operators';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'fdx-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrls: ['./nested-list-popover.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, OnInit {\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n linkDirective: NestedLinkComponent;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement$: Observable<Placement>;\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n _closeScrollStrategy: ScrollStrategy;\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n @Optional() private _rtlService: RtlService,\n private _overlay: Overlay\n ) {\n this._listenOnKeyboardRefresh();\n this._createRtlObservable();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n\n /** @hidden */\n private _createRtlObservable(): void {\n this.placement$ = this._rtlService\n ? this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'left-start' : 'right-start')))\n : of('right-start');\n }\n}\n","<fd-popover\n [placement]=\"placement$ | async\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fdx-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListComponent))\n _nestedListComponent: NestedListComponent;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListComponent(): NestedListComponent {\n return this._nestedListComponent;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n <ng-container *ngFor=\"let item of list?.items\">\n <li *ngIf=\"item.headerTitle\" fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n <li\n *ngIf=\"!item.headerTitle\"\n fdx-nested-list-item\n [expanded]=\"!!item.expanded\"\n (expandedChange)=\"_expandedChange($event, item)\"\n >\n <fdx-nested-list-popover *ngIf=\"condensed && first && item.list\" [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </fdx-nested-list-popover>\n\n <ng-container *ngIf=\"!item.list\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"(!condensed || !first) && item.list\">\n <div fdx-nested-list-content>\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </ng-container>\n\n <ng-template let-item=\"item\" #link>\n <a\n fdx-nested-list-link\n *ngIf=\"item.link\"\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n <span fdx-nested-list-icon *ngIf=\"item.link.icon\" [glyph]=\"item.link.icon\"></span>\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { CommonModule } from '@angular/common';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { RouterModule } from '@angular/router';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, RouterModule, IconModule, ContentDensityModule],\n declarations: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective\n ],\n exports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule\n ],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class CxNestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2","i1","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3","i4","i5","i6","i6.NestedListExpandIconComponent","i8.NestedListContentDirective"],"mappings":"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"}
@@ -329,7 +329,7 @@ class NestedLinkComponent {
329
329
  }
330
330
  }
331
331
  NestedLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedLinkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: NestedItemService }], target: i0.ɵɵFactoryTarget.Component });
332
- NestedLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
332
+ NestedLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NestedLinkComponent, selector: "[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]", inputs: { onClickCallback: "onClickCallback", selected: "selected", ariaDescribedby: "ariaDescribedby" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "keydown": "onKeyDown($event)", "click": "onClick()", "focus": "onFocus()" }, properties: { "attr.tabindex": "!_nestedListButton ? 0 : -1", "attr.aria-selected": "this.selected", "class.is-selected": "this.selected", "attr.aria-label": "this._ariaLabel", "attr.aria-describedby": "this.ariaDescribedby", "class.fdx-nested-list__link": "this.cxNestedListItemClass", "attr.role": "this.role" } }, queries: [{ propertyName: "title", first: true, predicate: NestedListTitleDirective, descendants: true }, { propertyName: "_nestedListButton", first: true, predicate: NestedListButtonDirective, descendants: true }, { propertyName: "_expandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0, template: `
333
333
  <div *ngIf="!_nestedListButton" class="fdx-nested-list__link-container">
334
334
  <ng-container *ngTemplateOutlet="containerContent"></ng-container>
335
335
  </div>
@@ -371,6 +371,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
371
371
  type: Input
372
372
  }], selected: [{
373
373
  type: Input
374
+ }, {
375
+ type: HostBinding,
376
+ args: ['attr.aria-selected']
374
377
  }, {
375
378
  type: HostBinding,
376
379
  args: ['class.is-selected']
@@ -584,7 +587,7 @@ class NestedListContentDirective {
584
587
  }
585
588
  }
586
589
  NestedListContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: NestedItemService }], target: i0.ɵɵFactoryTarget.Directive });
587
- NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
590
+ NestedListContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: NestedListContentDirective, selector: "[cxNestedListContent], [fdx-nested-list-content]", inputs: { selected: "selected" }, outputs: { selectedChange: "selectedChange", keyboardTriggered: "keyboardTriggered", clicked: "clicked" }, host: { attributes: { "tabindex": "0" }, listeners: { "keydown": "onKeyDown($event)", "click": "onClick($event)" }, properties: { "attr.aria-selected": "this.selected", "class.is-selected": "this.selected", "attr.role": "this.role", "attr.aria-expanded": "this.ariaExpanded", "class.fdx-nested-list__content": "this.cxNestedListContentClass", "class.has-child": "this.hasChildren" } }, queries: [{ propertyName: "nestedLink", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: "nestedExpandIcon", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 });
588
591
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NestedListContentDirective, decorators: [{
589
592
  type: Directive,
590
593
  args: [{
@@ -595,6 +598,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
595
598
  }]
596
599
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: NestedItemService }]; }, propDecorators: { selected: [{
597
600
  type: Input
601
+ }, {
602
+ type: HostBinding,
603
+ args: ['attr.aria-selected']
598
604
  }, {
599
605
  type: HostBinding,
600
606
  args: ['class.is-selected']
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../../../../libs/cx/src/lib/nested-list/nested-list-state.service.ts","../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.service.ts","../../../../libs/cx/src/lib/nested-list/nested-list-directives.ts","../../../../libs/cx/src/lib/nested-list/nested-link/nested-link.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-keyboard.service.ts","../../../../libs/cx/src/lib/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list/nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/cx/src/lib/nested-list/nested-list.module.ts","../../../../libs/cx/src/lib/nested-list/fundamental-ngx-cx-nested-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import { NestedListInterface } from '../nested-list/nested-list.interface';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { Subject } from 'rxjs';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { NestedItemService } from './nested-item/nested-item.service';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]'\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fdx-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__group-header')\n cxNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]',\n template: ` <ng-content></ng-content> `,\n host: {\n 'aria-haspopup': 'true',\n role: 'presentation'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__arrow')\n fdNestedListArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n get fdNestedListDownArrowClass(): boolean {\n return this.expanded;\n }\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n get fdNestedListRightArrowClass(): any {\n return !this.expanded;\n }\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n rtl$: Observable<boolean>;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n @Optional() private _rtlService: RtlService\n ) {\n this._listenOnTextDirection();\n }\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event?: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden Sets expand arrow depending on text direction */\n private _listenOnTextDirection(): void {\n this.rtl$ = this._rtlService ? this._rtlService.rtl.pipe(map((isRtl) => isRtl)) : of(false);\n }\n}\n\n@Directive({\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n})\nexport class NestedListButtonDirective implements AfterContentInit {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__button')\n fdNestedListButtonClass = true;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedListButtonDirective, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Component({\n template: `\n <div *ngIf=\"!_nestedListButton\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </div>\n <a *ngIf=\"_nestedListButton\" tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </a>\n <ng-content select=\"[fdx-nested-list-button]\"></ng-content>\n <ng-template #containerContent>\n <ng-content select=\"[fdx-nested-list-icon]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-title]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-expand-icon]\"></ng-content>\n </ng-template>\n `,\n selector:\n // eslint-disable-next-line @angular-eslint/component-selector\n '[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]',\n host: {\n '[attr.tabindex]': '!_nestedListButton ? 0 : -1'\n }\n})\nexport class NestedLinkComponent {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__link')\n cxNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n @ContentChild(NestedListButtonDirective)\n _nestedListButton: NestedListButtonDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n } else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n\n /** @hidden */\n private get _collapseOnly(): boolean {\n return !this._nestedListButton && this._expandIcon;\n }\n}\n","import { Subject } from 'rxjs';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n @Inject(MenuKeyboardService) private keyboardService: MenuKeyboardService,\n @Optional() private _rtlService: RtlService | null\n ) {\n this._subscribeToRtl();\n }\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(this.refresh$))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))\n ) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))\n ) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n });\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n host: {\n tabindex: '0'\n }\n})\nexport class NestedListContentDirective implements AfterContentInit, OnDestroy {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__content')\n cxNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n nestedLink: NestedLinkComponent;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import {\n AfterContentInit,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n forwardRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]',\n template: ` <ng-content></ng-content> `,\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n }\n})\nexport class NestedItemComponent implements AfterContentInit, NestedItemInterface, OnDestroy {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @Input()\n @HostBinding('class.fdx-nested-list__item')\n fdNestedListItemClass = true;\n\n /** Whether this item is a header item. */\n @Input()\n @HostBinding('class.fdx-nested-list__item--header')\n header = false;\n\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n @Input()\n display = false;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkComponent)\n linkItem: NestedLinkComponent;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent, { descendants: true })\n expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @ContentChild(forwardRef(() => NestedListComponent))\n _nestedList: NestedListComponent;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('style.display')\n _display = 'block';\n\n /** @hidden */\n _narrow = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role: string;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n private _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n private _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n private _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n private _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n private _ariaHidden = true;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService,\n public elementRef: ElementRef\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n this.expandIcon?.changeExpandedState(open);\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntil(this._onDestroy$),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Component\n} from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\n\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListInterface } from './nested-list.interface';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdLanguage, FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n template: ` <ng-content></ng-content> `,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]',\n providers: [contentDensityObserverProviders()]\n})\nexport class NestedListComponent implements AfterContentInit, NestedListInterface, OnDestroy {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fdx-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemComponent by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemComponent))\n nestedItems: QueryList<NestedItemComponent>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n private _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => NestedListComponent), { descendants: true })\n private _nestedLists: QueryList<NestedListComponent>;\n\n /** @hidden */\n private _nestedItemsChangesSubscription = new Subscription();\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n private _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n private _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private _tabindex = '-1';\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListStateService: NestedListStateService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef,\n @Inject(FD_LANGUAGE) private _language$: Observable<FdLanguage>,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._handleNestedLevel();\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n\n const nestedLevel: number = this._getNestedLevel();\n\n this._setAccessibilityProperties(nestedLevel);\n\n const itemChangesSub = combineLatest([\n this._language$,\n this.nestedItems.changes.pipe(startWith(undefined))\n ]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + nestedLevel);\n });\n\n this._nestedItemsChangesSubscription.add(itemChangesSub);\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all the parentNode elements of current NestedListComponent element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n\n let retVal = filteredParentElements.length;\n\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1,\n total: this.nestedItems.length,\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { map } from 'rxjs/operators';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'fdx-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrls: ['./nested-list-popover.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, OnInit {\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n linkDirective: NestedLinkComponent;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement$: Observable<Placement>;\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n _closeScrollStrategy: ScrollStrategy;\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n @Optional() private _rtlService: RtlService,\n private _overlay: Overlay\n ) {\n this._listenOnKeyboardRefresh();\n this._createRtlObservable();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n\n /** @hidden */\n private _createRtlObservable(): void {\n this.placement$ = this._rtlService\n ? this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'left-start' : 'right-start')))\n : of('right-start');\n }\n}\n","<fd-popover\n [placement]=\"placement$ | async\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fdx-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListComponent))\n _nestedListComponent: NestedListComponent;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListComponent(): NestedListComponent {\n return this._nestedListComponent;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n <ng-container *ngFor=\"let item of list?.items\">\n <li *ngIf=\"item.headerTitle\" fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n <li\n *ngIf=\"!item.headerTitle\"\n fdx-nested-list-item\n [expanded]=\"!!item.expanded\"\n (expandedChange)=\"_expandedChange($event, item)\"\n >\n <fdx-nested-list-popover *ngIf=\"condensed && first && item.list\" [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </fdx-nested-list-popover>\n\n <ng-container *ngIf=\"!item.list\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"(!condensed || !first) && item.list\">\n <div fdx-nested-list-content>\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </ng-container>\n\n <ng-template let-item=\"item\" #link>\n <a\n fdx-nested-list-link\n *ngIf=\"item.link\"\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n <span fdx-nested-list-icon *ngIf=\"item.link.icon\" [glyph]=\"item.link.icon\"></span>\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { CommonModule } from '@angular/common';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { RouterModule } from '@angular/router';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, RouterModule, IconModule, ContentDensityModule],\n declarations: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective\n ],\n exports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule\n ],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class CxNestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2","i1","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3","i4","i5","i6","i6.NestedListExpandIconComponent","i8.NestedListContentDirective"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../../../../libs/cx/src/lib/nested-list/nested-list-state.service.ts","../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.service.ts","../../../../libs/cx/src/lib/nested-list/nested-list-directives.ts","../../../../libs/cx/src/lib/nested-list/nested-link/nested-link.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-keyboard.service.ts","../../../../libs/cx/src/lib/nested-list/nested-content/nested-list-content.directive.ts","../../../../libs/cx/src/lib/nested-list/nested-item/nested-item.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list/nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.ts","../../../../libs/cx/src/lib/nested-list/nested-list-popover/nested-list-popover.component.html","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.ts","../../../../libs/cx/src/lib/nested-list/prepared-nested-list/prepared-nested-list.component.html","../../../../libs/cx/src/lib/nested-list/nested-list.module.ts","../../../../libs/cx/src/lib/nested-list/fundamental-ngx-cx-nested-list.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\n\n@Injectable()\nexport class NestedListStateService {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n condensed = false;\n\n /**\n * @hidden\n */\n selectable = true;\n\n /** @hidden */\n onSelected: Subject<string> = new Subject<string>();\n}\n","import { NestedListInterface } from '../nested-list/nested-list.interface';\nimport { NestedListPopoverInterface } from '../nested-list-popover/nested-list-popover.interface';\nimport { Subject } from 'rxjs';\n\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n /** @hidden */\n list: NestedListInterface;\n /** @hidden */\n popover?: NestedListPopoverInterface;\n\n /** Subject fired when expand icon is clicked */\n toggle: Subject<boolean> = new Subject<boolean>();\n\n /** Subject fired, when child elements are focused */\n focus: Subject<void> = new Subject<void>();\n\n /** Subject fired, when content or link is clicked */\n click: Subject<void> = new Subject<void>();\n\n /** KeyDown handler, it is triggered from link, content and item elements */\n keyDown: Subject<KeyboardEvent> = new Subject<KeyboardEvent>();\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n Optional,\n ViewEncapsulation\n} from '@angular/core';\nimport { NestedItemService } from './nested-item/nested-item.service';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { map } from 'rxjs/operators';\nimport { Observable, of } from 'rxjs';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\n\nlet uniqueId = 0;\n\n@Directive({\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]'\n})\nexport class NestedListHeaderDirective {\n /** Id of the element. */\n @Input()\n @HostBinding('attr.id')\n id: string | null = `fdx-nested-list-group-header-${++uniqueId}`;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__group-header')\n cxNestedListHeaderClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Get the header title */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n})\nexport class NestedListIconComponent extends IconComponent {\n /** Role attribute */\n @Input()\n @HostBinding('attr.role')\n role = 'presentation';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__icon')\n fdNestedListIconClass = true;\n}\n\n@Directive({\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n})\nexport class NestedListTitleDirective {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__title')\n fdNestedListTitleClass = true;\n\n /** @hidden */\n constructor(private elementRef: ElementRef) {}\n\n /** Returns element's InnerText */\n getInnerText(): string {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n}\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]',\n template: ` <ng-content></ng-content> `,\n host: {\n 'aria-haspopup': 'true',\n role: 'presentation'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class NestedListExpandIconComponent {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__arrow')\n fdNestedListArrowClass = true;\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-down-arrow')\n get fdNestedListDownArrowClass(): boolean {\n return this.expanded;\n }\n\n /** @hidden */\n @HostBinding('class.sap-icon--navigation-right-arrow')\n get fdNestedListRightArrowClass(): any {\n return !this.expanded;\n }\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.is-expanded')\n @HostBinding('attr.aria-expanded')\n expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n rtl$: Observable<boolean>;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _changeDetRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n @Optional() private _rtlService: RtlService\n ) {\n this._listenOnTextDirection();\n }\n\n /** Mouse event handler */\n @HostListener('click', ['$event'])\n onClick(event?: MouseEvent): void {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** @hidden */\n changeExpandedState(expanded: boolean): void {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n\n /** @hidden Sets expand arrow depending on text direction */\n private _listenOnTextDirection(): void {\n this.rtl$ = this._rtlService ? this._rtlService.rtl.pipe(map((isRtl) => isRtl)) : of(false);\n }\n}\n\n@Directive({\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n})\nexport class NestedListButtonDirective implements AfterContentInit {\n /** @hidden */\n @HostBinding('class.fdx-nested-list__button')\n fdNestedListButtonClass = true;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @HostListener('click', ['$event'])\n @HostListener('keydown.enter', ['$event'])\n @HostListener('keydown.space', ['$event'])\n onClick(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n}\n","import {\n ChangeDetectorRef,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedListButtonDirective, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\n@Component({\n template: `\n <div *ngIf=\"!_nestedListButton\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </div>\n <a *ngIf=\"_nestedListButton\" tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-container *ngTemplateOutlet=\"containerContent\"></ng-container>\n </a>\n <ng-content select=\"[fdx-nested-list-button]\"></ng-content>\n <ng-template #containerContent>\n <ng-content select=\"[fdx-nested-list-icon]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-title]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-expand-icon]\"></ng-content>\n </ng-template>\n `,\n selector:\n // eslint-disable-next-line @angular-eslint/component-selector\n '[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]',\n host: {\n '[attr.tabindex]': '!_nestedListButton ? 0 : -1'\n }\n})\nexport class NestedLinkComponent {\n /** Function that is called on click event dispatch on this element. */\n @Input()\n onClickCallback: () => void;\n\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n _ariaLabel: string;\n\n /** @hidden */\n @Input()\n @HostBinding('attr.aria-describedby')\n ariaDescribedby: Nullable<string | number>;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__link')\n cxNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /**\n * @hidden\n * Reference to title element, it is used, to get title for condensed mode.\n */\n @ContentChild(NestedListTitleDirective)\n title: NestedListTitleDirective;\n\n /** @hidden */\n @ContentChild(NestedListButtonDirective)\n _nestedListButton: NestedListButtonDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n _expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n get elementRef(): ElementRef<HTMLElement> {\n return this._elementRef;\n }\n\n /** Handler for keyboard events */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click')\n onClick(): void {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n } else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n\n /** Handler for focus events */\n @HostListener('focus')\n onFocus(): void {\n this._itemService.focus.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this._elementRef.nativeElement.click();\n }\n\n /** Returns the title value of the title directive */\n getTitle(): string {\n return this.title && this.title.getInnerText();\n }\n\n /** @hidden */\n private get _collapseOnly(): boolean {\n return !this._nestedListButton && this._expandIcon;\n }\n}\n","import { Subject } from 'rxjs';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { NestedItemInterface } from './nested-item/nested-item.interface';\nimport { NestedListInterface } from './nested-list/nested-list.interface';\nimport { KeyUtil, RtlService } from '@fundamental-ngx/core/utils';\nimport { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\n\n/**\n * Nested list keyboard service, which uses MenuKeyboardService, to deal with ArrowUp, ArrowDown, Space, Enter.\n * Also has own handling of ArrowLeft and ArrowRight, to open/close the menu if it has any children.\n */\n@Injectable()\nexport class NestedListKeyboardService {\n /** @hidden handles rtl service */\n private _dir: 'ltr' | 'rtl' | null = 'ltr';\n\n /**\n * Event, that is thrown always, when the open/close i being called on item components.\n * Also triggers changing of elements, to remove closed/hidden elements\n */\n readonly refresh$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n @Inject(MenuKeyboardService) private keyboardService: MenuKeyboardService,\n @Optional() private _rtlService: RtlService | null\n ) {\n this._subscribeToRtl();\n }\n\n /**\n * Function called after refresh$ event is triggered.\n * Refresh the list of NestedItems, that the keyboard support should be provided for\n */\n refreshItems(lists: NestedListInterface[]): void {\n const items: NestedItemInterface[] = [];\n\n /** Gathering all of the items */\n lists.forEach((list) => items.push(...this._getAllListItems(list)));\n /** Putting the keyboard support function to each of the items */\n items.forEach((item, index) => {\n item.keyboardTriggered\n .pipe(takeUntil(this.refresh$))\n .subscribe((keyboardEvent: KeyboardEvent) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n\n /** Recursive function to get all of the NestedItem elements in correct order. */\n private _getItems(item: NestedItemInterface): NestedItemInterface[] {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce(\n (actualArray: NestedItemInterface[], nextItem: NestedItemInterface) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ],\n [item]\n );\n }\n\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n private _getAllListItems(list: NestedListInterface): NestedItemInterface[] {\n const _items: NestedItemInterface[] = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n\n return _items;\n }\n\n /**\n * Keyboard handle function. Uses keyboard support service from MenuComponent, to deal with ArrowUp, ArrowDown, Space, Enter.\n * For ArrowRight, if item is not expanded and has children (list or popup), the open function is triggered.\n * Otherwise it follows ArrowDown functionality.\n * For ArrowLeft, if item is expanded and has children (list or popup), the close function is triggered.\n * Otherwise it follows ArrowUp functionality\n */\n private _handleKeyDown(keyboardEvent: KeyboardEvent, index: number, items: NestedItemInterface[]): void {\n const item: NestedItemInterface = items[index];\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))\n ) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n\n if (\n (this._dir === 'ltr' && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (this._dir === 'rtl' && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))\n ) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n\n /** @hidden Rtl change subscription */\n private _subscribeToRtl(): void {\n if (!this._rtlService) {\n return;\n }\n\n this._rtlService.rtl.subscribe((isRtl) => {\n this._dir = isRtl ? 'rtl' : 'ltr';\n });\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n Renderer2\n} from '@angular/core';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n host: {\n tabindex: '0'\n }\n})\nexport class NestedListContentDirective implements AfterContentInit, OnDestroy {\n /** Whether this element is selected*/\n @Input()\n @HostBinding('attr.aria-selected')\n @HostBinding('class.is-selected')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n role = 'treeitem';\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n ariaExpanded = false;\n\n /** Event thrown, when selected state is changed */\n @Output()\n selectedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** Event that is thrown, when this element is clicked */\n @Output()\n readonly clicked: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__content')\n cxNestedListContentClass = true;\n\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n @HostBinding('class.has-child')\n hasChildren = false;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n nestedLink: NestedLinkComponent;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent)\n nestedExpandIcon: NestedListExpandIconComponent;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly onDestroy$: Subject<void> = new Subject<void>();\n\n /** @hidden */\n constructor(\n public changeDetRef: ChangeDetectorRef,\n private _renderer: Renderer2,\n private _elementRef: ElementRef,\n private _itemService: NestedItemService\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this.onDestroy$.next();\n this.onDestroy$.complete();\n }\n\n /** Keyboard Event Handler */\n @HostListener('keydown', ['$event'])\n onKeyDown(event: KeyboardEvent): void {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n\n /** Handler for mouse events */\n @HostListener('click', ['$event'])\n onClick(): void {\n this._itemService.click.next();\n }\n\n /** Method to trigger selected state change */\n changeSelected(selected: boolean): void {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n\n /** Set focus on the element. */\n focus(): void {\n this._elementRef.nativeElement.focus();\n }\n\n /** Dispatches the click event on the element */\n click(): void {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n\n /** Add subscription for child focusing */\n private _setFocusSubscription(): void {\n this._itemService.focus.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.focus());\n }\n\n /** Hide link child element from tab key */\n private _makeLinkUnFocusable(): void {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n}\n","import {\n AfterContentInit,\n ContentChild,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n forwardRef\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemInterface } from './nested-item.interface';\nimport { NestedItemService } from './nested-item.service';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\n\nlet sideNavigationItemUniqueId = 0;\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]',\n template: ` <ng-content></ng-content> `,\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n }\n})\nexport class NestedItemComponent implements AfterContentInit, NestedItemInterface, OnDestroy {\n /** Whether item should be expanded */\n @Input() set expanded(expanded: boolean) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n\n /** @hidden */\n get expanded(): boolean {\n return this._expanded;\n }\n\n /** Event thrown, when expanded state is changed */\n @Output()\n readonly expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n @Output()\n readonly keyboardTriggered: EventEmitter<KeyboardEvent> = new EventEmitter<KeyboardEvent>();\n\n /** @hidden */\n @Input()\n @HostBinding('class.fdx-nested-list__item')\n fdNestedListItemClass = true;\n\n /** Whether this item is a header item. */\n @Input()\n @HostBinding('class.fdx-nested-list__item--header')\n header = false;\n\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n @Input()\n display = false;\n\n /**\n * @hidden\n * Reference to the link directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedLinkComponent)\n linkItem: NestedLinkComponent;\n\n /**\n * @hidden\n * Mostly used, when this item has list\n * Reference to the content directive, to allow manipulating the properties of this element.\n */\n @ContentChild(NestedListContentDirective)\n contentItem: NestedListContentDirective;\n\n /** @hidden */\n @ContentChild(NestedListExpandIconComponent, { descendants: true })\n expandIcon: NestedListExpandIconComponent;\n\n /** @hidden */\n @ContentChild(forwardRef(() => NestedListComponent))\n _nestedList: NestedListComponent;\n\n /** @hidden */\n @HostBinding('attr.aria-level')\n _ariaLevel: Nullable<number> = null;\n\n /** @hidden */\n @HostBinding('attr.title')\n _title: string;\n\n /** @hidden */\n @HostBinding('style.display')\n _display = 'block';\n\n /** @hidden */\n _narrow = false;\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role: string;\n\n /** @hidden */\n private _expanded = false;\n\n /** @hidden */\n @HostBinding('attr.aria-expanded')\n private _ariaExpanded: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-selected')\n private _ariaSelected: Nullable<boolean> = null;\n\n /** @hidden */\n @HostBinding('attr.aria-disabled')\n private _ariaDisabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-label')\n private _ariaLabel: string;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n private _ariaHidden = true;\n\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\n private readonly _onDestroy$: Subject<void> = new Subject<void>();\n\n /** Unique element ID */\n private readonly _elementId: string = 'fdNestedItem' + sideNavigationItemUniqueId++;\n\n /** @hidden */\n constructor(\n private _itemService: NestedItemService,\n private _keyboardService: NestedListKeyboardService,\n private _stateService: NestedListStateService,\n public elementRef: ElementRef\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\n\n if (this.linkItem) {\n this._ariaSelected = this.linkItem.selected;\n this._ariaDisabled = !this._stateService.selectable && !this.linkItem.selected;\n this._title = this.linkItem.getTitle();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._onDestroy$.next();\n this._onDestroy$.complete();\n }\n\n /** Check if the item element has any child */\n get hasChildren(): boolean {\n return !!this._itemService?.list;\n }\n\n /** Get all of the children item elements */\n get allChildrenItems(): NestedItemInterface[] {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n\n return [];\n }\n\n /** Method that expand the item and propagate it to children */\n triggerOpen(): void {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n\n /** Method that close the item and propagate it to children */\n triggerClose(): void {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n\n /** Method that toggle the item and propagate it to children */\n toggle(): void {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n\n /** Method that dispatches `click` event on link item*/\n click(): void {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n } else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n\n /** Method that focuses link item*/\n focus(): void {\n if (this.contentItem) {\n this.contentItem.focus();\n } else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id: string): boolean {\n if (this._elementId === id) {\n return true;\n }\n\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n\n return false;\n }\n\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n private propagateOpenChange(open: boolean): void {\n this._expanded = open;\n\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n\n this.expandIcon?.changeExpandedState(open);\n\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n\n /** Propagate open flag to popover list component, that is passed from child */\n if (this._itemService.popover) {\n this._itemService.popover.open = open;\n }\n\n /**\n * If there are any list below\n * Trigger event to provide keyboard support to new list of opened item element.\n * */\n if (this._shouldRefreshKeyboardService()) {\n this._keyboardService.refresh$.next();\n }\n\n this.expandedChange.emit(open);\n }\n\n /** @hidden */\n private _shouldRefreshKeyboardService(): boolean {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n\n /** @hidden */\n private _setUpSubscriptions(): void {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntil(this._onDestroy$)).subscribe(() => this.toggle());\n\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntil(this._onDestroy$))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(\n takeUntil(this._onDestroy$),\n filter(() => this._stateService.selectable)\n )\n .subscribe((id) => this._selectedChange(id));\n }\n\n /** @hidden */\n private _propagateHasChildrenProperty(): void {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n\n /** Pass this element to popover child item, to allow control `expanded` value */\n private _passItemReferences(): void {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n\n /** Change of selected state of content or link, if there is any children with I */\n private _selectedChange(id: string): void {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n } else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectorRef,\n ContentChild,\n ContentChildren,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n OnDestroy,\n Optional,\n QueryList,\n Component\n} from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\n\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListInterface } from './nested-list.interface';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdLanguage, FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\n\n@Component({\n template: ` <ng-content></ng-content> `,\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]',\n providers: [contentDensityObserverProviders()]\n})\nexport class NestedListComponent implements AfterContentInit, NestedListInterface, OnDestroy {\n /** In case the user wants to no use icons for items in this list */\n @Input()\n @HostBinding('class.fdx-nested-list--text-only')\n textOnly = false;\n\n /** Aria defines role description for the Nested List Tree. */\n @Input()\n ariaRoledescriptionTree = 'Navigation List Tree';\n\n /** Aria defines role description for the Nested List MenuBar. */\n @Input()\n ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n @Input()\n ariaLabelSelected = 'Selected';\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list')\n fdNestedListItemClass = true;\n\n /** @hidden */\n @HostBinding('attr.aria-hidden')\n hidden = false;\n\n /**\n * @hidden\n * This variable is mostly to keep track of this list's children. There is not usage of it inside this directive,\n * but it's used by services and NestedItemComponent by itself,\n */\n @ContentChildren(forwardRef(() => NestedItemComponent))\n nestedItems: QueryList<NestedItemComponent>;\n\n /** @hidden */\n @ContentChild(NestedListHeaderDirective)\n private _nestedListHeader: NestedListHeaderDirective;\n\n /** @hidden */\n @ContentChildren(forwardRef(() => NestedListComponent), { descendants: true })\n private _nestedLists: QueryList<NestedListComponent>;\n\n /** @hidden */\n private _nestedItemsChangesSubscription = new Subscription();\n\n /** @hidden */\n @HostBinding('attr.role')\n private _role = 'tree';\n\n /** @hidden */\n @HostBinding('attr.aria-roledescription')\n private _ariaRoledescription: Nullable<string> = this.ariaRoledescriptionTree;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n private _ariaHaspopup: Nullable<string> = null;\n\n /** @hidden */\n @HostBinding('attr.tabindex')\n private _tabindex = '-1';\n\n /** @hidden */\n private readonly _translationResolver = new TranslationResolver();\n\n /** @hidden */\n constructor(\n @Optional() private _nestedItemService: NestedItemService,\n private _nestedListStateService: NestedListStateService,\n private _nestedListKeyboardService: NestedListKeyboardService,\n private _elementRef: ElementRef,\n private _changeDetectionRef: ChangeDetectorRef,\n @Inject(FD_LANGUAGE) private _language$: Observable<FdLanguage>,\n private _contentDensityObserver: ContentDensityObserver\n ) {\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._handleNestedLevel();\n }\n\n /** @hidden */\n detectChanges(): void {\n this._changeDetectionRef.markForCheck();\n }\n\n /** @hidden */\n private _handleNestedLevel(): void {\n this._nestedItemsChangesSubscription.unsubscribe();\n\n const nestedLevel: number = this._getNestedLevel();\n\n this._setAccessibilityProperties(nestedLevel);\n\n const itemChangesSub = combineLatest([\n this._language$,\n this.nestedItems.changes.pipe(startWith(undefined))\n ]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + nestedLevel);\n });\n\n this._nestedItemsChangesSubscription.add(itemChangesSub);\n }\n\n /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n private _getNestedLevel(): number {\n let element = this._elementRef.nativeElement;\n const parentElements: Element[] = [];\n\n /** Method that gathers all the parentNode elements of current NestedListComponent element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n\n /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n\n let retVal = filteredParentElements.length;\n\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n\n return retVal;\n }\n\n /** @hidden */\n private _setAriaAttributes(level: number, lang: FdLanguage): void {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n } else {\n item.linkItem.ariaDescribedby = this._nestedListHeader?.id || null;\n item.linkItem._ariaLabel = this._translationResolver.resolve(lang, 'coreNestedList.linkItemAriaLabel', {\n itemDetails: item.linkItem.getTitle(),\n index: i + 1,\n total: this.nestedItems.length,\n selectedDescription:\n !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n\n this._changeDetectionRef.detectChanges();\n }\n\n /** @hidden */\n private _setAccessibilityProperties(level: number): void {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n HostBinding,\n OnInit,\n Optional,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { PopoverComponent } from '@fundamental-ngx/core/popover';\nimport { map } from 'rxjs/operators';\nimport { NestedItemInterface } from '../nested-item/nested-item.interface';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListPopoverInterface } from './nested-list-popover.interface';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { Placement } from '@fundamental-ngx/core/shared';\nimport { Overlay, ScrollStrategy } from '@angular/cdk/overlay';\n\n@Component({\n selector: 'fdx-nested-list-popover',\n templateUrl: './nested-list-popover.component.html',\n styleUrls: ['./nested-list-popover.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NestedListPopoverComponent implements NestedListPopoverInterface, OnInit {\n /** @hidden */\n @ViewChild(PopoverComponent)\n popoverComponent: PopoverComponent;\n\n /** @hidden */\n @HostBinding('class.fdx-nested-list__popover')\n popoverClass = true;\n\n /** @hidden */\n @ContentChild(NestedLinkComponent)\n linkDirective: NestedLinkComponent;\n\n /**\n * @hidden\n * Reference to parent item, to propagate open and close change from popover.\n */\n parentItemElement: NestedItemInterface;\n\n /** @hidden */\n placement$: Observable<Placement>;\n\n /** @hidden */\n open = false;\n\n /** @hidden */\n _closeScrollStrategy: ScrollStrategy;\n\n /** @hidden */\n constructor(\n private _keyboardNestService: NestedListKeyboardService,\n @Optional() private _itemService: NestedItemService,\n @Optional() private _rtlService: RtlService,\n private _overlay: Overlay\n ) {\n this._listenOnKeyboardRefresh();\n this._createRtlObservable();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open: boolean): void {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n } else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n\n /** @hidden */\n private _listenOnKeyboardRefresh(): void {\n this._keyboardNestService.refresh$.subscribe(() => {\n /** Update popover position, on list of hidden items change */\n if (this.popoverComponent) {\n this.popoverComponent.refreshPosition();\n }\n });\n }\n\n /** @hidden */\n private _createRtlObservable(): void {\n this.placement$ = this._rtlService\n ? this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'left-start' : 'right-start')))\n : of('right-start');\n }\n}\n","<fd-popover\n [placement]=\"placement$ | async\"\n [triggers]=\"['click']\"\n [noArrow]=\"false\"\n [isOpen]=\"open\"\n (isOpenChange)=\"handleOpenChange($event)\"\n [scrollStrategy]=\"_closeScrollStrategy\"\n>\n <fd-popover-control>\n <ng-content select=\"[fdx-nested-list-link]\"></ng-content>\n <ng-content select=\"[fdx-nested-list-content]\"></ng-content>\n </fd-popover-control>\n <fd-popover-body class=\"fdx-side-nav__popover-body fdx-nested-list--text-only\">\n <ng-content select=\"[fdx-nested-list]\"></ng-content>\n <ng-content select=\"fdx-prepared-nested-list\"></ng-content>\n </fd-popover-body>\n</fd-popover>\n","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedListItem, NestedListModel } from '../nested-list-model';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\n@Component({\n selector: 'fdx-prepared-nested-list',\n templateUrl: './prepared-nested-list.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PreparedNestedListComponent {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n @Input()\n first = true;\n\n /** Defines if list should be displayed in condensed mode */\n @Input()\n condensed = false;\n\n /** List configuration*/\n @Input()\n list: Nullable<NestedListModel>;\n\n /**\n * @hidden\n */\n @ViewChild(forwardRef(() => NestedListComponent))\n _nestedListComponent: NestedListComponent;\n\n /**\n * In prepared nested list, nested items should be taken as reference of View, not Content.\n * There is direct reference to these directives here.\n */\n get nestedListComponent(): NestedListComponent {\n return this._nestedListComponent;\n }\n\n /** @hidden */\n _expandedChange(expanded: boolean, item: NestedListItem): void {\n item.expanded = expanded;\n }\n}\n","<ul fdx-nested-list [textOnly]=\"!!list?.textOnly\">\n <ng-container *ngFor=\"let item of list?.items\">\n <li *ngIf=\"item.headerTitle\" fdx-nested-list-header>\n {{ item.headerTitle }}\n </li>\n <li\n *ngIf=\"!item.headerTitle\"\n fdx-nested-list-item\n [expanded]=\"!!item.expanded\"\n (expandedChange)=\"_expandedChange($event, item)\"\n >\n <fdx-nested-list-popover *ngIf=\"condensed && first && item.list\" [title]=\"item.link?.title || ''\">\n <div fdx-nested-list-content [selected]=\"!!item.link?.selected\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </fdx-nested-list-popover>\n\n <ng-container *ngIf=\"!item.list\">\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"(!condensed || !first) && item.list\">\n <div fdx-nested-list-content>\n <ng-container [ngTemplateOutlet]=\"link\" [ngTemplateOutletContext]=\"{ item: item }\"></ng-container>\n <button fdx-nested-list-expand-icon></button>\n </div>\n <fdx-prepared-nested-list\n [first]=\"false\"\n *ngIf=\"item.list\"\n [list]=\"item.list\"\n ></fdx-prepared-nested-list>\n </ng-container>\n\n <ng-template let-item=\"item\" #link>\n <a\n fdx-nested-list-link\n *ngIf=\"item.link\"\n [onClickCallback]=\"item.link.callback\"\n [(selected)]=\"!item.list && item.link.selected\"\n [attr.href]=\"item.link.href ? item.link.href : null\"\n [routerLink]=\"item.link.routerLink ? item.link.routerLink : []\"\n >\n <span fdx-nested-list-icon *ngIf=\"item.link.icon\" [glyph]=\"item.link.icon\"></span>\n <span fdx-nested-list-title>{{ item.link.title }}</span>\n </a>\n </ng-template>\n </li>\n </ng-container>\n</ul>\n","import { NgModule } from '@angular/core';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport {\n NestedListButtonDirective,\n NestedListExpandIconComponent,\n NestedListHeaderDirective,\n NestedListIconComponent,\n NestedListTitleDirective\n} from './nested-list-directives';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { CommonModule } from '@angular/common';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { RouterModule } from '@angular/router';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, RouterModule, IconModule, ContentDensityModule],\n declarations: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective\n ],\n exports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule\n ],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n})\nexport class CxNestedListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NestedItemService","i2","i1","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3","i4","i5","i6","i6.NestedListExpandIconComponent","i8.NestedListContentDirective"],"mappings":"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"}
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/cx",
3
- "version": "0.43.53",
3
+ "version": "0.43.54",
4
4
  "schematics": "./schematics/collection.json",
5
5
  "description": "Fundamental Library for Angular - cx",
6
6
  "license": "Apache-2.0",
@@ -20,11 +20,11 @@
20
20
  "@angular/forms": "^15.0.0",
21
21
  "@angular/platform-browser": "^15.0.0",
22
22
  "@angular/router": "^15.0.0",
23
- "@fundamental-ngx/core": "0.43.53",
23
+ "@fundamental-ngx/core": "0.43.54",
24
24
  "rxjs": "^7.8.0"
25
25
  },
26
26
  "dependencies": {
27
- "@fundamental-ngx/i18n": "0.43.53",
27
+ "@fundamental-ngx/i18n": "0.43.54",
28
28
  "@fundamental-styles/cx": "0.28.3",
29
29
  "@sap-theming/theming-base-content": "^11.6.0",
30
30
  "compare-versions": "^5.0.0",
Binary file