@fundamental-ngx/cx 0.58.0-rc.8 → 0.58.0-rc.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/fundamental-ngx-cx-nested-list.mjs +2 -2
- package/fesm2022/fundamental-ngx-cx-nested-list.mjs.map +1 -1
- package/nested-list/index.d.ts +12 -12
- package/package.json +5 -5
- package/schematics/collection.json +0 -10
- package/schematics/ng-add/index.d.ts +0 -3
- package/schematics/ng-add/index.js +0 -101
- package/schematics/ng-add/index.js.map +0 -1
- package/schematics/ng-add/schema.d.ts +0 -4
- package/schematics/ng-add/schema.js +0 -3
- package/schematics/ng-add/schema.js.map +0 -1
- package/schematics/ng-add/schema.json +0 -21
- package/schematics/utils/ng-module-utils.d.ts +0 -3
- package/schematics/utils/ng-module-utils.js +0 -62
- package/schematics/utils/ng-module-utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../tmp-esm2022/nested-list/nested-item/nested-item.service.js","../tmp-esm2022/nested-list/nested-list-directives.js","../tmp-esm2022/nested-list/nested-link/nested-link.component.js","../tmp-esm2022/nested-list/nested-content/nested-list-content.directive.js","../tmp-esm2022/nested-list/nested-list-keyboard.service.js","../tmp-esm2022/nested-list/nested-list-state.service.js","../tmp-esm2022/nested-list/nested-list/nested-list.component.js","../tmp-esm2022/nested-list/nested-item/nested-item.component.js","../tmp-esm2022/nested-list/nested-list-popover/nested-list-popover.component.js","../tmp-esm2022/nested-list/prepared-nested-list/prepared-nested-list.component.js","../tmp-esm2022/nested-list/nested-list.module.js","../tmp-esm2022/nested-list/fundamental-ngx-cx-nested-list.js"],"sourcesContent":["import { Subject } from 'rxjs';\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n constructor() {\n /** Subject fired when expand icon is clicked */\n this.toggle = new Subject();\n /** Subject fired, when child elements are focused */\n this.focus = new Subject();\n /** Subject fired, when content or link is clicked */\n this.click = new Subject();\n /** KeyDown handler, it is triggered from link, content and item elements */\n this.keyDown = new Subject();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLHFIQUFxSDtBQUNySCxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBTUksZ0RBQWdEO1FBQ2hELFdBQU0sR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVsRCxxREFBcUQ7UUFDckQsVUFBSyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTNDLHFEQUFxRDtRQUNyRCxVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0MsNEVBQTRFO1FBQzVFLFlBQU8sR0FBMkIsSUFBSSxPQUFPLEVBQWlCLENBQUM7SUFDbkUsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFBvcG92ZXJJbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RJbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG4vKiogQ29udGFpbnMgcmVmZXJlbmNlcyB0byBwb3BvdmVyIG9yIGxpc3QgbmVzdGVkIGNvbXBvbmVudHMsIHRoYXQgYXJlIHBsYWNlZCBhcyBkaXJlY3QgY2hpbGRyZW4gb2YgaXRlbSBjb21wb25lbnQgKi9cbmV4cG9ydCBjbGFzcyBOZXN0ZWRJdGVtU2VydmljZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsaXN0OiBOZXN0ZWRMaXN0SW50ZXJmYWNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcG9wb3Zlcj86IE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQgd2hlbiBleHBhbmQgaWNvbiBpcyBjbGlja2VkICovXG4gICAgdG9nZ2xlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBTdWJqZWN0IGZpcmVkLCB3aGVuIGNoaWxkIGVsZW1lbnRzIGFyZSBmb2N1c2VkICovXG4gICAgZm9jdXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQsIHdoZW4gY29udGVudCBvciBsaW5rIGlzIGNsaWNrZWQgKi9cbiAgICBjbGljazogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogS2V5RG93biBoYW5kbGVyLCBpdCBpcyB0cmlnZ2VyZWQgZnJvbSBsaW5rLCBjb250ZW50IGFuZCBpdGVtIGVsZW1lbnRzICovXG4gICAga2V5RG93bjogU3ViamVjdDxLZXlib2FyZEV2ZW50PiA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Directive, ElementRef, HostBinding, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NestedItemService } from './nested-item/nested-item.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./nested-item/nested-item.service\";\nlet uniqueId = 0;\nexport class NestedListHeaderDirective {\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /** Id of the element. */\n this.id = `fdx-nested-list-group-header-${++uniqueId}`;\n /** @hidden */\n this.cxNestedListHeaderClass = true;\n }\n /** Get the header title */\n get title() {\n return this._elementRef.nativeElement.textContent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListHeaderDirective, isStandalone: true, selector: \"[cxNestedDirectivesHeader], [fdx-nested-list-header]\", inputs: { id: \"id\" }, host: { properties: { \"attr.id\": \"this.id\", \"class.fdx-nested-list__group-header\": \"this.cxNestedListHeaderClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.id']\n }], cxNestedListHeaderClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__group-header']\n }] } });\nexport class NestedListIconComponent extends IconComponent {\n constructor() {\n super(...arguments);\n /** Role attribute */\n this.role = 'presentation';\n /** @hidden */\n this.fdNestedListIconClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListIconComponent, isStandalone: true, selector: \"[cxNestedDirectivesIcon], [fdx-nested-list-icon]\", inputs: { role: \"role\" }, host: { properties: { \"attr.role\": \"this.role\", \"class.fdx-nested-list__icon\": \"this.fdNestedListIconClass\" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListIconComponent, decorators: [{\n type: Component,\n args: [{\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n }]\n }], propDecorators: { role: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.role']\n }], fdNestedListIconClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__icon']\n }] } });\nexport class NestedListTitleDirective {\n /** @hidden */\n constructor(elementRef) {\n this.elementRef = elementRef;\n /** @hidden */\n this.fdNestedListTitleClass = true;\n }\n /** Returns element's InnerText */\n getInnerText() {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListTitleDirective, isStandalone: true, selector: \"[cxNestedDirectivesTitle], [fdx-nested-list-title]\", host: { properties: { \"class.fdx-nested-list__title\": \"this.fdNestedListTitleClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListTitleDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__title']\n }] } });\nexport class NestedListExpandIconComponent {\n /** @hidden */\n get fdNestedListDownArrowClass() {\n return this.expanded;\n }\n /** @hidden */\n get fdNestedListRightArrowClass() {\n return !this.expanded;\n }\n /** @hidden */\n constructor(_itemService, _changeDetRef) {\n this._itemService = _itemService;\n this._changeDetRef = _changeDetRef;\n /** @hidden */\n this.fdNestedListArrowClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n this.expanded = false;\n /** @hidden */\n this.ariaHidden = true;\n }\n /** Mouse event handler */\n onClick(event) {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n /** Handler for focus events */\n onFocus() {\n this._itemService.focus.next();\n }\n /** @hidden */\n changeExpandedState(expanded) {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListExpandIconComponent, deps: [{ token: i1.NestedItemService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListExpandIconComponent, isStandalone: true, selector: \"[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]\", host: { attributes: { \"aria-haspopup\": \"true\", \"role\": \"presentation\" }, listeners: { \"click\": \"onClick($event)\", \"focus\": \"onFocus()\" }, properties: { \"class.fdx-nested-list__arrow\": \"this.fdNestedListArrowClass\", \"class.sap-icon--navigation-down-arrow\": \"this.fdNestedListDownArrowClass\", \"class.sap-icon--navigation-right-arrow\": \"this.fdNestedListRightArrowClass\", \"class.is-expanded\": \"this.expanded\", \"attr.aria-expanded\": \"this.expanded\", \"attr.aria-hidden\": \"this.ariaHidden\" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListExpandIconComponent, decorators: [{\n type: Component,\n args: [{\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 }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i0.ChangeDetectorRef }], propDecorators: { fdNestedListArrowClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__arrow']\n }], fdNestedListDownArrowClass: [{\n type: HostBinding,\n args: ['class.sap-icon--navigation-down-arrow']\n }], fdNestedListRightArrowClass: [{\n type: HostBinding,\n args: ['class.sap-icon--navigation-right-arrow']\n }], expanded: [{\n type: HostBinding,\n args: ['class.is-expanded']\n }, {\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\nexport class NestedListButtonDirective {\n constructor() {\n /** @hidden */\n this.fdNestedListButtonClass = true;\n }\n /** @hidden */\n onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n /** @hidden */\n ngAfterContentInit() {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListButtonDirective, isStandalone: true, selector: \"[cxNestedDirectivesButton], [fdx-nested-list-button]\", host: { listeners: { \"click\": \"onClick($event)\", \"keydown.enter\": \"onClick($event)\", \"keydown.space\": \"onClick($event)\" }, properties: { \"class.fdx-nested-list__button\": \"this.fdNestedListButtonClass\" } }, queries: [{ propertyName: \"_expandIcon\", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListButtonDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n }]\n }], propDecorators: { fdNestedListButtonClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__button']\n }], _expandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }, {\n type: HostListener,\n args: ['keydown.enter', ['$event']]\n }, {\n type: HostListener,\n args: ['keydown.space', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QtZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRXRFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQU1qQixNQUFNLE9BQU8seUJBQXlCO0lBVWxDLGNBQWM7SUFDZCxZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQVYzQyx5QkFBeUI7UUFHekIsT0FBRSxHQUFrQixnQ0FBZ0MsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUVqRSxjQUFjO1FBRWQsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBR2UsQ0FBQztJQUUvQywyQkFBMkI7SUFDM0IsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQzs4R0FoQlEseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNEQUFzRDtvQkFDaEUsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUtHLEVBQUU7c0JBRkQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxTQUFTO2dCQUt0Qix1QkFBdUI7c0JBRHRCLFdBQVc7dUJBQUMscUNBQXFDOztBQWlCdEQs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WUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZERpcmVjdGl2ZXNIZWFkZXJdLCBbZmR4LW5lc3RlZC1saXN0LWhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB7XG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZDogc3RyaW5nIHwgbnVsbCA9IGBmZHgtbmVzdGVkLWxpc3QtZ3JvdXAtaGVhZGVyLSR7Kyt1bmlxdWVJZH1gO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fZ3JvdXAtaGVhZGVyJylcbiAgICBjeE5lc3RlZExpc3RIZWFkZXJDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKiogR2V0IHRoZSBoZWFkZXIgdGl0bGUgKi9cbiAgICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbY3hOZXN0ZWREaXJlY3RpdmVzSWNvbl0sIFtmZHgtbmVzdGVkLWxpc3QtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEljb25Db21wb25lbnQgZXh0ZW5kcyBJY29uQ29tcG9uZW50IHtcbiAgICAvKiogUm9sZSBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3ByZXNlbnRhdGlvbic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pY29uJylcbiAgICBmZE5lc3RlZExpc3RJY29uQ2xhc3MgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZERpcmVjdGl2ZXNUaXRsZV0sIFtmZHgtbmVzdGVkLWxpc3QtdGl0bGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHgtbmVzdGVkLWxpc3RfX3RpdGxlJylcbiAgICBmZE5lc3RlZExpc3RUaXRsZUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIFJldHVybnMgZWxlbWVudCdzIElubmVyVGV4dCAqL1xuICAgIGdldElubmVyVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZExpc3RFeHBhbmRJY29uXSwgW2ZkeC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWhhc3BvcHVwJzogJ3RydWUnLFxuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fYXJyb3cnKVxuICAgIGZkTmVzdGVkTGlzdEFycm93Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNhcC1pY29uLS1uYXZpZ2F0aW9uLWRvd24tYXJyb3cnKVxuICAgIGdldCBmZE5lc3RlZExpc3REb3duQXJyb3dDbGFzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNhcC1pY29uLS1uYXZpZ2F0aW9uLXJpZ2h0LWFycm93JylcbiAgICBnZXQgZmROZXN0ZWRMaXN0UmlnaHRBcnJvd0NsYXNzKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5leHBhbmRlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQXR0cmlidXRlIGNvbnRyb2xsZWQgYnkgdGhlIHBhcmVudCBgTmVzdGVkSXRlbUNvbXBvbmVudGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWV4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBhcmlhSGlkZGVuID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBNb3VzZSBldmVudCBoYW5kbGVyICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uQ2xpY2soZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UudG9nZ2xlLm5leHQodGhpcy5leHBhbmRlZCk7XG4gICAgICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbY3hOZXN0ZWREaXJlY3RpdmVzQnV0dG9uXSwgW2ZkeC1uZXN0ZWQtbGlzdC1idXR0b25dJ1xufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0QnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fYnV0dG9uJylcbiAgICBmZE5lc3RlZExpc3RCdXR0b25DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgX2V4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuX2V4cGFuZEljb24ub25DbGljaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZXhwYW5kSWNvbikge1xuICAgICAgICAgICAgdGhpcy5fZXhwYW5kSWNvbi5mZE5lc3RlZExpc3RBcnJvd0NsYXNzID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, Renderer2 } from '@angular/core';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListButtonDirective, NestedListExpandIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedLinkComponent {\n /** @hidden */\n constructor(changeDetRef, _renderer, _elementRef, _itemService) {\n this.changeDetRef = changeDetRef;\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._itemService = _itemService;\n /** Whether this element is selected*/\n this.selected = false;\n /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this.cxNestedListItemClass = true;\n /** @hidden */\n this.role = 'treeitem';\n }\n /** @hidden */\n get elementRef() {\n return this._elementRef;\n }\n /** Handler for keyboard events */\n onKeyDown(event) {\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n }\n else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n /** Handler for focus events */\n onFocus() {\n this._itemService.focus.next();\n }\n /** Method to trigger selected state change */\n changeSelected(selected) {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n /** Set focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** Dispatches the click event on the element */\n click() {\n this._elementRef.nativeElement.click();\n }\n /** Returns the title value of the title directive */\n getTitle() {\n return this.title && this.title.getInnerText();\n }\n /** @hidden */\n get _collapseOnly() {\n return !this._nestedListButton && this._expandIcon;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: NestedLinkComponent, isStandalone: true, 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: `\n @if (!_nestedListButton) {\n <div class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </div>\n }\n @if (_nestedListButton) {\n <a tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </a>\n }\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 `, isInline: true, dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n @if (!_nestedListButton) {\n <div class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </div>\n }\n @if (_nestedListButton) {\n <a tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </a>\n }\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 imports: [NgTemplateOutlet],\n standalone: true,\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 }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { onClickCallback: [{\n type: Input\n }], selected: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-selected']\n }, {\n type: HostBinding,\n args: ['class.is-selected']\n }], _ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }], ariaDescribedby: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-describedby']\n }], selectedChange: [{\n type: Output\n }], cxNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__link']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], title: [{\n type: ContentChild,\n args: [NestedListTitleDirective]\n }], _nestedListButton: [{\n type: ContentChild,\n args: [NestedListButtonDirective]\n }], _expandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDM0IsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBOEJuQyxNQUFNLE9BQU8sbUJBQW1CO0lBK0M1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixTQUFvQixFQUNwQixXQUF1QixFQUN2QixZQUErQjtRQUhoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUEvQzNDLHNDQUFzQztRQUl0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGNBQWM7UUFFZCwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUF1QmYsQ0FBQztJQUVKLGNBQWM7SUFDZCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7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LE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgTmVzdGVkTGlzdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmVcbn0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoIV9uZXN0ZWRMaXN0QnV0dG9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmR4LW5lc3RlZC1saXN0X19saW5rLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250YWluZXJDb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoX25lc3RlZExpc3RCdXR0b24pIHtcbiAgICAgICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiZmR4LW5lc3RlZC1saXN0X19saW5rLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250YWluZXJDb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGFpbmVyQ29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgICAgICdbZmR4LW5lc3RlZC1saXN0LWxpbmtdLCBidXR0b25bZmR4LW5lc3RlZC1saXN0LWxpbmtdLCBhW2ZkeC1uZXN0ZWQtbGlzdC1saW5rXSwgZGl2W2ZkeC1uZXN0ZWQtbGlzdC1saW5rXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJyFfbmVzdGVkTGlzdEJ1dHRvbiA/IDAgOiAtMSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpbmtDb21wb25lbnQge1xuICAgIC8qKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbiBjbGljayBldmVudCBkaXNwYXRjaCBvbiB0aGlzIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBvbkNsaWNrQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuICAgIGFyaWFEZXNjcmliZWRieTogTnVsbGFibGU8c3RyaW5nIHwgbnVtYmVyPjtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19saW5rJylcbiAgICBjeE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBSZWZlcmVuY2UgdG8gdGl0bGUgZWxlbWVudCwgaXQgaXMgdXNlZCwgdG8gZ2V0IHRpdGxlIGZvciBjb25kZW5zZWQgbW9kZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSlcbiAgICB0aXRsZTogTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUpXG4gICAgX25lc3RlZExpc3RCdXR0b246IE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgX2V4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3Iga2V5Ym9hcmQgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd24ubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29sbGFwc2VPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRJY29uLm9uQ2xpY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9uQ2xpY2tDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRoaXMub25DbGlja0NhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgc2VsZWN0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnQuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEaXNwYXRjaGVzIHRoZSBjbGljayBldmVudCBvbiB0aGUgZWxlbWVudCAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyB0aGUgdGl0bGUgdmFsdWUgb2YgdGhlIHRpdGxlIGRpcmVjdGl2ZSAqL1xuICAgIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUuZ2V0SW5uZXJUZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfY29sbGFwc2VPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuX25lc3RlZExpc3RCdXR0b24gJiYgdGhpcy5fZXhwYW5kSWNvbjtcbiAgICB9XG59XG4iXX0=","import { ChangeDetectorRef, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedListContentDirective {\n /** @hidden */\n constructor(changeDetRef, _elementRef, _itemService) {\n this.changeDetRef = changeDetRef;\n this._elementRef = _elementRef;\n this._itemService = _itemService;\n /** Whether this element is selected*/\n this.selected = false;\n /** @hidden */\n this.role = 'treeitem';\n /** @hidden */\n this.ariaExpanded = false;\n /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n this.keyboardTriggered = new EventEmitter();\n /** Event that is thrown, when this element is clicked */\n this.clicked = new EventEmitter();\n /** @hidden */\n this.cxNestedListContentClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n this.hasChildren = false;\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n }\n /** Keyboard Event Handler */\n onKeyDown(event) {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n this._itemService.click.next();\n }\n /** @hidden */\n ngAfterContentInit() {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n /** Method to trigger selected state change */\n changeSelected(selected) {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n /** Set focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** Dispatches the click event on the element */\n click() {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n /** Add subscription for child focusing */\n _setFocusSubscription() {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n /** Hide link child element from tab key */\n _makeLinkUnFocusable() {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListContentDirective, isStandalone: true, 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 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListContentDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n standalone: true,\n host: {\n tabindex: '0'\n }\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { selected: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-selected']\n }, {\n type: HostBinding,\n args: ['class.is-selected']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], selectedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], clicked: [{\n type: Output\n }], cxNestedListContentClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__content']\n }], hasChildren: [{\n type: HostBinding,\n args: ['class.has-child']\n }], nestedLink: [{\n type: ContentChild,\n args: [NestedLinkComponent]\n }], nestedExpandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFTMUUsTUFBTSxPQUFPLDBCQUEwQjtJQWlEbkMsY0FBYztJQUNkLFlBQ1csWUFBK0IsRUFDOUIsV0FBdUIsRUFDdkIsWUFBK0I7UUFGaEMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQXBEM0Msc0NBQXNDO1FBSXRDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFbEIsY0FBYztRQUVkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGtGQUFrRjtRQUV6RSxzQkFBaUIsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFNUYs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dUJBQUMsNkJBQTZCO2dCQWUzQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2N4TmVzdGVkTGlzdENvbnRlbnRdLCBbZmR4LW5lc3RlZC1saXN0LWNvbnRlbnRdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgdGFiaW5kZXg6ICcwJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3RyZWVpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBzZWxlY3RlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIHRoaXMgZWxlbWVudCBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fY29udGVudCcpXG4gICAgY3hOZXN0ZWRMaXN0Q29udGVudENsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtQ29tcG9uZW50YFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLWNoaWxkJylcbiAgICBoYXNDaGlsZHJlbiA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbmVzdGVkTGluazogTmVzdGVkTGlua0NvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudClcbiAgICBuZXN0ZWRFeHBhbmRJY29uOiBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogS2V5Ym9hcmQgRXZlbnQgSGFuZGxlciAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tYWtlTGlua1VuRm9jdXNhYmxlKCk7XG4gICAgICAgIHRoaXMuX3NldEZvY3VzU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIGNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50LiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogRGlzcGF0Y2hlcyB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGVsZW1lbnQgKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICBpZiAodGhpcy5uZXN0ZWRMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm5lc3RlZExpbmsuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgc3Vic2NyaXB0aW9uIGZvciBjaGlsZCBmb2N1c2luZyAqL1xuICAgIHByaXZhdGUgX3NldEZvY3VzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5mb2N1cy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgbGluayBjaGlsZCBlbGVtZW50IGZyb20gdGFiIGtleSAqL1xuICAgIHByaXZhdGUgX21ha2VMaW5rVW5Gb2N1c2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5lc3RlZExpbmspIHtcbiAgICAgICAgICAgIHRoaXMubmVzdGVkTGluay5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/utils\";\nimport * as i2 from \"@fundamental-ngx/core/menu\";\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 */\nexport class NestedListKeyboardService {\n /** @hidden */\n constructor(keyboardService, _rtlService) {\n this.keyboardService = keyboardService;\n this._rtlService = _rtlService;\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 this.refresh$ = new Subject();\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) {\n const items = [];\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) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n /** Recursive function to get all of the NestedItem elements in correct order. */\n _getItems(item) {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce((actualArray, nextItem) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ], [item]);\n }\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n _getAllListItems(list) {\n const _items = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n return _items;\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 _handleKeyDown(keyboardEvent, index, items) {\n const item = items[index];\n const isRtl = !!this._rtlService?.rtlSignal();\n if ((!isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n if ((!isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService, deps: [{ token: MenuKeyboardService }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i2.MenuKeyboardService, decorators: [{\n type: Inject,\n args: [MenuKeyboardService]\n }] }, { type: i1.RtlService, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJM0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQU9sQyxjQUFjO0lBQ2QsWUFDeUMsZUFBb0MsRUFDckQsV0FBOEI7UUFEYixvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFDckQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBVHREOzs7V0FHRztRQUNNLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU1wRCxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sS0FBSyxHQUEwQixFQUFFLENBQUM7UUFFeEMsaUNBQWlDO1FBQ2pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLGlFQUFpRTtRQUNqRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFB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QkFBbUI7OzBCQUMxQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTEVGVF9BUlJPVywgUklHSFRfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtSW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBOZXN0ZWQgbGlzdCBrZXlib2FyZCBzZXJ2aWNlLCB3aGljaCB1c2VzIE1lbnVLZXlib2FyZFNlcnZpY2UsIHRvIGRlYWwgd2l0aCBBcnJvd1VwLCBBcnJvd0Rvd24sIFNwYWNlLCBFbnRlci5cbiAqIEFsc28gaGFzIG93biBoYW5kbGluZyBvZiBBcnJvd0xlZnQgYW5kIEFycm93UmlnaHQsIHRvIG9wZW4vY2xvc2UgdGhlIG1lbnUgaWYgaXQgaGFzIGFueSBjaGlsZHJlbi5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEV2ZW50LCB0aGF0IGlzIHRocm93biBhbHdheXMsIHdoZW4gdGhlIG9wZW4vY2xvc2UgaSBiZWluZyBjYWxsZWQgb24gaXRlbSBjb21wb25lbnRzLlxuICAgICAqIEFsc28gdHJpZ2dlcnMgY2hhbmdpbmcgb2YgZWxlbWVudHMsIHRvIHJlbW92ZSBjbG9zZWQvaGlkZGVuIGVsZW1lbnRzXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVmcmVzaCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNZW51S2V5Ym9hcmRTZXJ2aWNlKSBwcml2YXRlIGtleWJvYXJkU2VydmljZTogTWVudUtleWJvYXJkU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZSB8IG51bGxcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiBjYWxsZWQgYWZ0ZXIgcmVmcmVzaCQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIFJlZnJlc2ggdGhlIGxpc3Qgb2YgTmVzdGVkSXRlbXMsIHRoYXQgdGhlIGtleWJvYXJkIHN1cHBvcnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZvclxuICAgICAqL1xuICAgIHJlZnJlc2hJdGVtcyhsaXN0czogTmVzdGVkTGlzdEludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcblxuICAgICAgICAvKiogR2F0aGVyaW5nIGFsbCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgbGlzdHMuZm9yRWFjaCgobGlzdCkgPT4gaXRlbXMucHVzaCguLi50aGlzLl9nZXRBbGxMaXN0SXRlbXMobGlzdCkpKTtcbiAgICAgICAgLyoqIFB1dHRpbmcgdGhlIGtleWJvYXJkIHN1cHBvcnQgZnVuY3Rpb24gdG8gZWFjaCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0ua2V5Ym9hcmRUcmlnZ2VyZWRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5yZWZyZXNoJCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihrZXlib2FyZEV2ZW50LCBpbmRleCwgaXRlbXMpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZSBmdW5jdGlvbiB0byBnZXQgYWxsIG9mIHRoZSBOZXN0ZWRJdGVtIGVsZW1lbnRzIGluIGNvcnJlY3Qgb3JkZXIuICovXG4gICAgcHJpdmF0ZSBfZ2V0SXRlbXMoaXRlbTogTmVzdGVkSXRlbUludGVyZmFjZSk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuSXRlbXMgPSBpdGVtLmV4cGFuZGVkID8gaXRlbS5hbGxDaGlsZHJlbkl0ZW1zIDogW107XG4gICAgICAgIHJldHVybiBjaGlsZHJlbkl0ZW1zLnJlZHVjZShcbiAgICAgICAgICAgIChhY3R1YWxBcnJheTogTmVzdGVkSXRlbUludGVyZmFjZVtdLCBuZXh0SXRlbTogTmVzdGVkSXRlbUludGVyZmFjZSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLmFjdHVhbEFycmF5LFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2dldEl0ZW1zKG5leHRJdGVtKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtpdGVtXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBjYWxscyB0aGUgcmVjdXJzaXZlIGZ1bmN0aW9uLCBnZXRJdGVtcygpIGFuZCBnYXRoZXJzIGFsbCBvZiB0aGUgaXRlbXMgaW4gdGhlIE5lc3RlZExpc3QgKi9cbiAgICBwcml2YXRlIF9nZXRBbGxMaXN0SXRlbXMobGlzdDogTmVzdGVkTGlzdEludGVyZmFjZSk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGNvbnN0IF9pdGVtczogTmVzdGVkSXRlbUludGVyZmFjZVtdID0gW107XG4gICAgICAgIGlmIChsaXN0ICYmIGxpc3QubmVzdGVkSXRlbXMgJiYgbGlzdC5uZXN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsaXN0Lm5lc3RlZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBfaXRlbXMucHVzaCguLi50aGlzLl9nZXRJdGVtcyhpdGVtKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBfaXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogS2V5Ym9hcmQgaGFuZGxlIGZ1bmN0aW9uLiBVc2VzIGtleWJvYXJkIHN1cHBvcnQgc2VydmljZSBmcm9tIE1lbnVDb21wb25lbnQsIHRvIGRlYWwgd2l0aCBBcnJvd1VwLCBBcnJvd0Rvd24sIFNwYWNlLCBFbnRlci5cbiAgICAgKiBGb3IgQXJyb3dSaWdodCwgaWYgaXRlbSBpcyBub3QgZXhwYW5kZWQgYW5kIGhhcyBjaGlsZHJlbiAobGlzdCBvciBwb3B1cCksIHRoZSBvcGVuIGZ1bmN0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAgKiBPdGhlcndpc2UgaXQgZm9sbG93cyBBcnJvd0Rvd24gZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBGb3IgQXJyb3dMZWZ0LCBpZiBpdGVtIGlzIGV4cGFuZGVkIGFuZCBoYXMgY2hpbGRyZW4gKGxpc3Qgb3IgcG9wdXApLCB0aGUgY2xvc2UgZnVuY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAqIE90aGVyd2lzZSBpdCBmb2xsb3dzIEFycm93VXAgZnVuY3Rpb25hbGl0eVxuICAgICAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleURvd24oa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlciwgaXRlbXM6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlID0gaXRlbXNbaW5kZXhdO1xuICAgICAgICBjb25zdCBpc1J0bCA9ICEhdGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKCFpc1J0bCAmJiBLZXlVdGlsLmlzS2V5Q29kZShrZXlib2FyZEV2ZW50LCBSSUdIVF9BUlJPVykpIHx8XG4gICAgICAgICAgICAoaXNSdGwgJiYgS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgTEVGVF9BUlJPVykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJPcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoIWlzUnRsICYmIEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIExFRlRfQVJST1cpKSB8fFxuICAgICAgICAgICAgKGlzUnRsICYmIEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFJJR0hUX0FSUk9XKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5leHBhbmRlZCAmJiBpdGVtLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaXRlbS50cmlnZ2VyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlLmtleURvd25IYW5kbGVyKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcyk7XG4gICAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class NestedListStateService {\n constructor() {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n this.condensed = false;\n /**\n * @hidden\n */\n this.selectable = true;\n /** @hidden */\n this.onSelected = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFSTs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCOztXQUVHO1FBQ0gsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixjQUFjO1FBQ2QsZUFBVSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO0tBQ3ZEOzhHQWRZLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBjb25kZW5zZWQgc3RhdGUgaXMgbW9kaWZpZWQgYnkgdGhlIHBhcmVudCBhbmQgcmVhZCBieSBuZXN0ZWQgbGlzdHMuXG4gICAgICovXG4gICAgY29uZGVuc2VkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uU2VsZWN0ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbn1cbiJdfQ==","import { ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, HostBinding, Inject, Input, Optional, QueryList, forwardRef, inject } from '@angular/core';\nimport { Observable, combineLatest, startWith } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nimport * as i2 from \"../nested-list-state.service\";\nimport * as i3 from \"../nested-list-keyboard.service\";\nimport * as i4 from \"rxjs\";\nexport class NestedListComponent {\n /** @hidden */\n constructor(_nestedItemService, _nestedListStateService, _nestedListKeyboardService, _elementRef, _changeDetectionRef, _language$) {\n this._nestedItemService = _nestedItemService;\n this._nestedListStateService = _nestedListStateService;\n this._nestedListKeyboardService = _nestedListKeyboardService;\n this._elementRef = _elementRef;\n this._changeDetectionRef = _changeDetectionRef;\n this._language$ = _language$;\n /** In case the user wants to no use icons for items in this list */\n this.textOnly = false;\n /** Aria defines role description for the Nested List Tree. */\n this.ariaRoledescriptionTree = 'Navigation List Tree';\n /** Aria defines role description for the Nested List MenuBar. */\n this.ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n this.ariaLabelSelected = 'Selected';\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this.hidden = false;\n /** @hidden */\n this._role = 'tree';\n /** @hidden */\n this._ariaRoledescription = this.ariaRoledescriptionTree;\n /** @hidden */\n this._ariaHaspopup = null;\n /** @hidden */\n this._tabindex = '-1';\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._translationResolver = new TranslationResolver();\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n inject(ContentDensityObserver).subscribe();\n }\n /** @hidden */\n ngAfterContentInit() {\n this._handleNestedLevel();\n }\n /** @hidden */\n detectChanges() {\n this._changeDetectionRef.markForCheck();\n }\n /** @hidden */\n _handleNestedLevel() {\n const nestedLevel = this._getNestedLevel();\n this._setAccessibilityProperties(nestedLevel);\n combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))])\n .pipe(takeUntilDestroyed(this._destroyRef))\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 /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n _getNestedLevel() {\n let element = this._elementRef.nativeElement;\n const parentElements = [];\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 /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n let retVal = filteredParentElements.length;\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n return retVal;\n }\n /** @hidden */\n _setAriaAttributes(level, lang) {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n }\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, // TODO: this property has been deprecated and will be removed from translations\n total: this.nestedItems.length, // TODO: this property has been deprecated and will be removed from translations\n selectedDescription: !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _setAccessibilityProperties(level) {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListComponent, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListStateService }, { token: i3.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: FD_LANGUAGE }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListComponent, isStandalone: true, selector: \"[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]\", inputs: { textOnly: \"textOnly\", ariaRoledescriptionTree: \"ariaRoledescriptionTree\", ariaRoledescriptionMenuBar: \"ariaRoledescriptionMenuBar\", ariaLabelSelected: \"ariaLabelSelected\" }, host: { properties: { \"class.fdx-nested-list--text-only\": \"this.textOnly\", \"class.fdx-nested-list\": \"this.fdNestedListItemClass\", \"attr.aria-hidden\": \"this.hidden\", \"attr.role\": \"this._role\", \"attr.aria-roledescription\": \"this._ariaRoledescription\", \"attr.aria-haspopup\": \"this._ariaHaspopup\", \"attr.tabindex\": \"this._tabindex\" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: \"_nestedListHeader\", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: \"nestedItems\", predicate: i0.forwardRef(() => NestedItemComponent) }, { propertyName: \"_nestedLists\", predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListComponent, decorators: [{\n type: Component,\n args: [{\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 standalone: true,\n providers: [contentDensityObserverProviders()]\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i2.NestedListStateService }, { type: i3.NestedListKeyboardService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i4.Observable, decorators: [{\n type: Inject,\n args: [FD_LANGUAGE]\n }] }], propDecorators: { textOnly: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fdx-nested-list--text-only']\n }], ariaRoledescriptionTree: [{\n type: Input\n }], ariaRoledescriptionMenuBar: [{\n type: Input\n }], ariaLabelSelected: [{\n type: Input\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list']\n }], hidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], nestedItems: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedItemComponent)]\n }], _nestedListHeader: [{\n type: ContentChild,\n args: [NestedListHeaderDirective]\n }], _nestedLists: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedListComponent), { descendants: true }]\n }], _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaRoledescription: [{\n type: HostBinding,\n args: ['attr.aria-roledescription']\n }], _ariaHaspopup: [{\n type: HostBinding,\n args: ['attr.aria-haspopup']\n }], _tabindex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLFdBQVcsRUFBYyxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFVdEUsTUFBTSxPQUFPLG1CQUFtQjtJQWdFNUIsY0FBYztJQUNkLFlBQ3dCLGtCQUFxQyxFQUNqRCx1QkFBK0MsRUFDL0MsMEJBQXFELEVBQ3JELFdBQXVCLEVBQ3ZCLG1CQUFzQyxFQUNqQixVQUFr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LFFBQVE7OzBCQUtSLE1BQU07MkJBQUMsV0FBVzt5Q0FuRXZCLFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBSy9DLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFLTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBS3BDLE1BQU07c0JBREwsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBUy9CLFdBQVc7c0JBRFYsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBSzlDLGlCQUFpQjtzQkFEeEIsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBSy9CLFlBQVk7c0JBRG5CLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUtyRSxLQUFLO3NCQURaLFdBQVc7dUJBQUMsV0FBVztnQkFLaEIsb0JBQW9CO3NCQUQzQixXQUFXO3VCQUFDLDJCQUEyQjtnQkFLaEMsYUFBYTtzQkFEcEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3pCLFNBQVM7c0JBRGhCLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEZXN0cm95UmVmLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElucHV0LFxuICAgIE9wdGlvbmFsLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IEZEX0xBTkdVQUdFLCBGZExhbmd1YWdlLCBUcmFuc2xhdGlvblJlc29sdmVyIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9pMThuJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RJbnRlcmZhY2UgfSBmcm9tICcuL25lc3RlZC1saXN0LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2N4TmVzdGVkTGlzdF0sIFtmZHgtbmVzdGVkLWxpc3RdLCB1bFtmZHgtbmVzdGVkLWxpc3RdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMoKV1cbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE5lc3RlZExpc3RJbnRlcmZhY2Uge1xuICAgIC8qKiBJbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5vIHVzZSBpY29ucyBmb3IgaXRlbXMgaW4gdGhpcyBsaXN0ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdC0tdGV4dC1vbmx5JylcbiAgICB0ZXh0T25seSA9IGZhbHNlO1xuXG4gICAgLyoqIEFyaWEgZGVmaW5lcyByb2xlIGRlc2NyaXB0aW9uIGZvciB0aGUgTmVzdGVkIExpc3QgVHJlZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlZGVzY3JpcHRpb25UcmVlID0gJ05hdmlnYXRpb24gTGlzdCBUcmVlJztcblxuICAgIC8qKiBBcmlhIGRlZmluZXMgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGhlIE5lc3RlZCBMaXN0IE1lbnVCYXIuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhUm9sZWRlc2NyaXB0aW9uTWVudUJhciA9ICdOYXZpZ2F0aW9uIExpc3QgTWVudSBCYXInO1xuXG4gICAgLyoqIEFyaWEgZGVmaW5lcyBhcmlhIGxhYmVsIGZvciB0aGUgc2VsZWN0ZWQgaXRlbSB3aGVuIHRoZSBsaXN0IHdpdGggZGlzYWJsZWQgc2VsZWN0aW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsU2VsZWN0ZWQgPSAnU2VsZWN0ZWQnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdCcpXG4gICAgZmROZXN0ZWRMaXN0SXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBoaWRkZW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIHZhcmlhYmxlIGlzIG1vc3RseSB0byBrZWVwIHRyYWNrIG9mIHRoaXMgbGlzdCdzIGNoaWxkcmVuLiBUaGVyZSBpcyBub3QgdXNhZ2Ugb2YgaXQgaW5zaWRlIHRoaXMgZGlyZWN0aXZlLFxuICAgICAqIGJ1dCBpdCdzIHVzZWQgYnkgc2VydmljZXMgYW5kIE5lc3RlZEl0ZW1Db21wb25lbnQgYnkgaXRzZWxmLFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRJdGVtQ29tcG9uZW50KSlcbiAgICBuZXN0ZWRJdGVtczogUXVlcnlMaXN0PE5lc3RlZEl0ZW1Db21wb25lbnQ+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUpXG4gICAgcHJpdmF0ZSBfbmVzdGVkTGlzdEhlYWRlcjogTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IE5lc3RlZExpc3RDb21wb25lbnQpLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gICAgcHJpdmF0ZSBfbmVzdGVkTGlzdHM6IFF1ZXJ5TGlzdDxOZXN0ZWRMaXN0Q29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHByaXZhdGUgX3JvbGUgPSAndHJlZSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXJvbGVkZXNjcmlwdGlvbicpXG4gICAgcHJpdmF0ZSBfYXJpYVJvbGVkZXNjcmlwdGlvbjogTnVsbGFibGU8c3RyaW5nPiA9IHRoaXMuYXJpYVJvbGVkZXNjcmlwdGlvblRyZWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBwcml2YXRlIF9hcmlhSGFzcG9wdXA6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHByaXZhdGUgX3RhYmluZGV4ID0gJy0xJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdHJhbnNsYXRpb25SZXNvbHZlciA9IG5ldyBUcmFuc2xhdGlvblJlc29sdmVyKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9uZXN0ZWRJdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX25lc3RlZExpc3RTdGF0ZVNlcnZpY2U6IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX25lc3RlZExpc3RLZXlib2FyZFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdGlvblJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIEBJbmplY3QoRkRfTEFOR1VBR0UpIHByaXZhdGUgX2xhbmd1YWdlJDogT2JzZXJ2YWJsZTxGZExhbmd1YWdlPlxuICAgICkge1xuICAgICAgICBpZiAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX25lc3RlZEl0ZW1TZXJ2aWNlLmxpc3QgPSB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGluamVjdChDb250ZW50RGVuc2l0eU9ic2VydmVyKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faGFuZGxlTmVzdGVkTGV2ZWwoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvblJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZU5lc3RlZExldmVsKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBuZXN0ZWRMZXZlbDogbnVtYmVyID0gdGhpcy5fZ2V0TmVzdGVkTGV2ZWwoKTtcblxuICAgICAgICB0aGlzLl9zZXRBY2Nlc3NpYmlsaXR5UHJvcGVydGllcyhuZXN0ZWRMZXZlbCk7XG5cbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5fbGFuZ3VhZ2UkLCB0aGlzLm5lc3RlZEl0ZW1zLmNoYW5nZXMucGlwZShzdGFydFdpdGgodW5kZWZpbmVkKSldKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW2xhbmddKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbmVzdGVkTGlzdEtleWJvYXJkU2VydmljZS5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0QXJpYUF0dHJpYnV0ZXMobmVzdGVkTGV2ZWwsIGxhbmcpO1xuICAgICAgICAgICAgICAgIC8qKiBBZGRpbmcgY2xhc3Mgd2l0aCB0aGUgbmVzdGVkIGxldmVsICovXG4gICAgICAgICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xldmVsLScgKyBuZXN0ZWRMZXZlbCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTWV0aG9kLCB0aGF0IGNoZWNrcyBob3cgZGVlcCBpcyB0aGUgbGlzdCBlbGVtZW50XG4gICAgICovXG4gICAgcHJpdmF0ZSBfZ2V0TmVzdGVkTGV2ZWwoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHBhcmVudEVsZW1lbnRzOiBFbGVtZW50W10gPSBbXTtcblxuICAgICAgICAvKiogTWV0aG9kIHRoYXQgZ2F0aGVycyBhbGwgdGhlIHBhcmVudE5vZGUgZWxlbWVudHMgb2YgY3VycmVudCBOZXN0ZWRMaXN0Q29tcG9uZW50IGVsZW1lbnQgKi9cbiAgICAgICAgd2hpbGUgKGVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgICAgICAgcGFyZW50RWxlbWVudHMudW5zaGlmdChlbGVtZW50KTtcbiAgICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogRmlsdGVyIG9ubHkgZWxlbWVudHMsIHRoYXQgaGFzIGBmZHgtbmVzdGVkLWxpc3RgIGRpcmVjdGl2ZSBhdHRyaWJ1dGUgKi9cbiAgICAgICAgY29uc3QgZmlsdGVyZWRQYXJlbnRFbGVtZW50cyA9IHBhcmVudEVsZW1lbnRzLmZpbHRlcigoX2VsZW1lbnQpID0+IF9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZmR4LW5lc3RlZC1saXN0JykpO1xuXG4gICAgICAgIGxldCByZXRWYWwgPSBmaWx0ZXJlZFBhcmVudEVsZW1lbnRzLmxlbmd0aDtcblxuICAgICAgICBpZiAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2U/LnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHJldFZhbCArPSAxO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJldFZhbDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFyaWFBdHRyaWJ1dGVzKGxldmVsOiBudW1iZXIsIGxhbmc6IEZkTGFuZ3VhZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBpdGVtLl9hcmlhTGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgICAgIGlmICghaXRlbS5saW5rSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5saW5rSXRlbS5hcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9uZXN0ZWRMaXN0SGVhZGVyPy5pZCB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGl0ZW0ubGlua0l0ZW0uX2FyaWFMYWJlbCA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShsYW5nLCAnY29yZU5lc3RlZExpc3QubGlua0l0ZW1BcmlhTGFiZWwnLCB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1EZXRhaWxzOiBpdGVtLmxpbmtJdGVtLmdldFRpdGxlKCksXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpICsgMSwgLy8gVE9ETzogdGhpcyBwcm9wZXJ0eSBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0cmFuc2xhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IHRoaXMubmVzdGVkSXRlbXMubGVuZ3RoLCAvLyBUT0RPOiB0aGlzIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZERlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiBpdGVtLmxpbmtJdGVtLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnLCAnICsgdGhpcy5hcmlhTGFiZWxTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkICYmIGxldmVsID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhUm9sZWRlc2NyaXB0aW9uID0gdGhpcy5hcmlhUm9sZWRlc2NyaXB0aW9uTWVudUJhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsZXZlbCA+IDEgfHwgKHRoaXMuX25lc3RlZEl0ZW1TZXJ2aWNlPy5wb3BvdmVyICYmICF0aGlzLl9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLmNvbmRlbnNlZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZ3JvdXAnO1xuICAgICAgICAgICAgdGhpcy5fYXJpYVJvbGVkZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2U/LnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFIYXNwb3B1cCA9ICd0cmVlJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { Component, ContentChild, DestroyRef, ElementRef, EventEmitter, HostBinding, Input, Output, booleanAttribute, forwardRef, inject } from '@angular/core';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedItemService } from './nested-item.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./nested-item.service\";\nimport * as i2 from \"../nested-list-keyboard.service\";\nimport * as i3 from \"../nested-list-state.service\";\nlet sideNavigationItemUniqueId = 0;\nexport class NestedItemComponent {\n /** Whether item should be expanded */\n set expanded(expanded) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n /** @hidden */\n get expanded() {\n return this._expanded;\n }\n /** @hidden */\n constructor(_itemService, _keyboardService, _stateService, elementRef) {\n this._itemService = _itemService;\n this._keyboardService = _keyboardService;\n this._stateService = _stateService;\n this.elementRef = elementRef;\n /** @hidden */\n this.group = false;\n /** Event thrown, when expanded state is changed */\n this.expandedChange = new EventEmitter();\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n this.keyboardTriggered = new EventEmitter();\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** Whether this item is a header item. */\n this.header = false;\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n this.display = false;\n /**\n * @Input\n * Applies `aria-hidden` to the element.\n * Set to `true` for non-focusable elements without focusable children to hide them from assistive technologies.\n */\n this.ariaHidden = false;\n /** @hidden */\n this._ariaLevel = null;\n /** @hidden */\n this._display = 'block';\n /** @hidden */\n this._ariaExpanded = null;\n /** @hidden */\n this._ariaSelected = null;\n /** @hidden */\n this._ariaDisabled = false;\n /** @hidden */\n this._narrow = false;\n /** @hidden */\n this._expanded = false;\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** Unique element ID */\n this._elementId = 'fdNestedItem' + sideNavigationItemUniqueId++;\n }\n /** @hidden */\n ngAfterContentInit() {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\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 /** Check if the item element has any child */\n get hasChildren() {\n return !!this._itemService?.list;\n }\n /** Get all of the children item elements */\n get allChildrenItems() {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n return [];\n }\n /** Method that expand the item and propagate it to children */\n triggerOpen() {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n /** Method that close the item and propagate it to children */\n triggerClose() {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n /** Method that toggle the item and propagate it to children */\n toggle() {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n /** Method that dispatches `click` event on link item*/\n click() {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n }\n else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n /** Method that focuses link item*/\n focus() {\n if (this.contentItem) {\n this.contentItem.focus();\n }\n else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id) {\n if (this._elementId === id) {\n return true;\n }\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n return false;\n }\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n propagateOpenChange(open) {\n this._expanded = open;\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n this.expandIcon?.changeExpandedState(open);\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 /** 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 * 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 this.expandedChange.emit(open);\n }\n /** @hidden */\n _shouldRefreshKeyboardService() {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n /** @hidden */\n _setUpSubscriptions() {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(takeUntilDestroyed(this._destroyRef), filter(() => this._stateService.selectable))\n .subscribe((id) => this._selectedChange(id));\n }\n /** @hidden */\n _propagateHasChildrenProperty() {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n /** Pass this element to popover child item, to allow control `expanded` value */\n _passItemReferences() {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n /** Change of selected state of content or link, if there is any children with I */\n _selectedChange(id) {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n }\n else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemComponent, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"20.1.4\", type: NestedItemComponent, isStandalone: true, selector: \"[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]\", inputs: { expanded: \"expanded\", group: [\"group\", \"group\", booleanAttribute], fdNestedListItemClass: \"fdNestedListItemClass\", header: \"header\", display: \"display\", ariaHidden: \"ariaHidden\" }, outputs: { expandedChange: \"expandedChange\", keyboardTriggered: \"keyboardTriggered\" }, host: { attributes: { \"role\": \"treeitem\" }, properties: { \"class.fdx-nested-list__item--group\": \"this.group\", \"class.fdx-nested-list__item\": \"this.fdNestedListItemClass\", \"class.fdx-nested-list__item--header\": \"this.header\", \"attr.aria-hidden\": \"this.ariaHidden\", \"attr.aria-level\": \"this._ariaLevel\", \"attr.title\": \"this._title\", \"style.display\": \"this._display\", \"attr.role\": \"this._role\", \"attr.aria-expanded\": \"this._ariaExpanded\", \"attr.aria-selected\": \"this._ariaSelected\", \"attr.aria-disabled\": \"this._ariaDisabled\", \"attr.aria-label\": \"this._ariaLabel\" } }, providers: [NestedItemService], queries: [{ propertyName: \"linkItem\", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: \"contentItem\", first: true, predicate: NestedListContentDirective, descendants: true }, { propertyName: \"expandIcon\", first: true, predicate: NestedListExpandIconComponent, descendants: true }, { propertyName: \"_nestedList\", first: true, predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemComponent, decorators: [{\n type: Component,\n args: [{\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 standalone: true,\n host: {\n role: 'treeitem'\n }\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i2.NestedListKeyboardService }, { type: i3.NestedListStateService }, { type: i0.ElementRef }], propDecorators: { expanded: [{\n type: Input\n }], group: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__item--group']\n }, {\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], expandedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], fdNestedListItemClass: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fdx-nested-list__item']\n }], header: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fdx-nested-list__item--header']\n }], display: [{\n type: Input\n }], ariaHidden: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], linkItem: [{\n type: ContentChild,\n args: [NestedLinkComponent]\n }], contentItem: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }], expandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent, { descendants: true }]\n }], _nestedList: [{\n type: ContentChild,\n args: [forwardRef(() => NestedListComponent)]\n }], _ariaLevel: [{\n type: HostBinding,\n args: ['attr.aria-level']\n }], _title: [{\n type: HostBinding,\n args: ['attr.title']\n }], _display: [{\n type: HostBinding,\n args: ['style.display']\n }], _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], _ariaSelected: [{\n type: HostBinding,\n args: ['attr.aria-selected']\n }], _ariaDisabled: [{\n type: HostBinding,\n args: ['attr.aria-disabled']\n }], _ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQUUxRCxJQUFJLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQVluQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLHNDQUFzQztJQUN0QyxJQUFhLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEs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QUMsWUFBWTtnQkFLekIsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBS3BCLEtBQUs7c0JBRFosV0FBVzt1QkFBQyxXQUFXO2dCQUtoQixhQUFhO3NCQURwQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLekIsYUFBYTtzQkFEcEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3pCLGFBQWE7c0JBRHBCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt6QixVQUFVO3NCQURqQixXQUFXO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtY29udGVudC9uZXN0ZWQtbGlzdC1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uc2VydmljZSc7XG5cbmxldCBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbY3hOZXN0ZWRJdGVtXSwgW2ZkeC1uZXN0ZWQtbGlzdC1pdGVtXSwgbGlbZmR4LW5lc3RlZC1saXN0LWl0ZW1dJyxcbiAgICB0ZW1wbGF0ZTogYCA8bmctY29udGVudD48L25nLWNvbnRlbnQ+IGAsXG4gICAgcHJvdmlkZXJzOiBbTmVzdGVkSXRlbVNlcnZpY2VdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAndHJlZWl0ZW0nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgTmVzdGVkSXRlbUludGVyZmFjZSB7XG4gICAgLyoqIFdoZXRoZXIgaXRlbSBzaG91bGQgYmUgZXhwYW5kZWQgKi9cbiAgICBASW5wdXQoKSBzZXQgZXhwYW5kZWQoZXhwYW5kZWQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKGV4cGFuZGVkICE9PSB0aGlzLl9leHBhbmRlZCkge1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKGV4cGFuZGVkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9faXRlbS0tZ3JvdXAnKVxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICAgIGdyb3VwID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGV4cGFuZGVkIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzLCBvciBsaW5rIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pdGVtJylcbiAgICBmZE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIGEgaGVhZGVyIGl0ZW0uICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9faXRlbS0taGVhZGVyJylcbiAgICBoZWFkZXIgPSBmYWxzZTtcblxuICAgIC8qKiBXaGV0aGVyIHRoaXMgaXRlbSBpcyBvbmx5IG1lYW50IGZvciBkaXNwbGF5IHB1cnBvc2VzLCBtZWFuaW5nIGl0IGNhbm5vdCBiZSB1c2VkIGZvciBuYXZpZ2F0aW9uIG9yIHNob3duIGFzIHNlbGVjdGVkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQElucHV0XG4gICAgICogQXBwbGllcyBgYXJpYS1oaWRkZW5gIHRvIHRoZSBlbGVtZW50LlxuICAgICAqIFNldCB0byBgdHJ1ZWAgZm9yIG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aG91dCBmb2N1c2FibGUgY2hpbGRyZW4gdG8gaGlkZSB0aGVtIGZyb20gYXNzaXN0aXZlIHRlY2hub2xvZ2llcy5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgYXJpYUhpZGRlbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbGluayBkaXJlY3RpdmUsIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaW5rQ29tcG9uZW50KVxuICAgIGxpbmtJdGVtOiBOZXN0ZWRMaW5rQ29tcG9uZW50O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1vc3RseSB1c2VkLCB3aGVuIHRoaXMgaXRlbSBoYXMgbGlzdFxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgY29udGVudCBkaXJlY3RpdmUsIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSlcbiAgICBjb250ZW50SXRlbTogTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsIHsgZGVzY2VuZGFudHM6IHRydWUgfSlcbiAgICBleHBhbmRJY29uOiBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChmb3J3YXJkUmVmKCgpID0+IE5lc3RlZExpc3RDb21wb25lbnQpKVxuICAgIF9uZXN0ZWRMaXN0OiBOZXN0ZWRMaXN0Q29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sZXZlbCcpXG4gICAgX2FyaWFMZXZlbDogTnVsbGFibGU8bnVtYmVyPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50aXRsZScpXG4gICAgX3RpdGxlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnc3R5bGUuZGlzcGxheScpXG4gICAgX2Rpc3BsYXkgPSAnYmxvY2snO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJpdmF0ZSBfcm9sZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJpdmF0ZSBfYXJpYUV4cGFuZGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBwcml2YXRlIF9hcmlhU2VsZWN0ZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICAgIHByaXZhdGUgX2FyaWFEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgcHJpdmF0ZSBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9uYXJyb3cgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBVbmlxdWUgZWxlbWVudCBJRCAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRJZDogc3RyaW5nID0gJ2ZkTmVzdGVkSXRlbScgKyBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3N0YXRlU2VydmljZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0VXBTdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIHRoaXMuX3Byb3BhZ2F0ZUhhc0NoaWxkcmVuUHJvcGVydHkoKTtcbiAgICAgICAgdGhpcy5fcGFzc0l0ZW1SZWZlcmVuY2VzKCk7XG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSh0aGlzLl9leHBhbmRlZCk7XG5cbiAgICAgICAgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFTZWxlY3RlZCA9IHRoaXMubGlua0l0ZW0uc2VsZWN0ZWQ7XG4gICAgICAgICAgICB0aGlzLl9hcmlhRGlzYWJsZWQgPSAhdGhpcy5fc3RhdGVTZXJ2aWNlLnNlbGVjdGFibGUgJiYgIXRoaXMubGlua0l0ZW0uc2VsZWN0ZWQ7XG4gICAgICAgICAgICB0aGlzLl90aXRsZSA9IHRoaXMubGlua0l0ZW0uZ2V0VGl0bGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0aGUgaXRlbSBlbGVtZW50IGhhcyBhbnkgY2hpbGQgKi9cbiAgICBnZXQgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlPy5saXN0O1xuICAgIH1cblxuICAgIC8qKiBHZXQgYWxsIG9mIHRoZSBjaGlsZHJlbiBpdGVtIGVsZW1lbnRzICovXG4gICAgZ2V0IGFsbENoaWxkcmVuSXRlbXMoKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlPy5saXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faXRlbVNlcnZpY2UubGlzdC5uZXN0ZWRJdGVtcy50b0FycmF5KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGV4cGFuZCB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdHJpZ2dlck9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5leHBhbmRlZCkge1xuICAgICAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBjbG9zZSB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdHJpZ2dlckNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgdG9nZ2xlIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSghdGhpcy5fZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBkaXNwYXRjaGVzIGBjbGlja2AgZXZlbnQgb24gbGluayBpdGVtKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc3BsYXkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jbGljaygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGZvY3VzZXMgbGluayBpdGVtKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gaWYgZWxlbWVudCwgb3IgY2hpbGRyZW4gb2YgdGhpcyBlbGVtZW50IGhhcyBwYXNzZWQgaWQgKi9cbiAgICBjb250YWluc0lkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5jb250YWluc0lkKGlkKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFByb3BhZ2F0ZSBvcGVuIHN0YXRlIHRvIGFsbCBvZiB0aGUgY2hpbGRyZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIHByb3BhZ2F0ZU9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IG9wZW47XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IHRoaXMuX2V4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRJY29uPy5jaGFuZ2VFeHBhbmRlZFN0YXRlKG9wZW4pO1xuXG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaGlkZGVuIGZsYWcgdG8gbGlzdCBjb21wb25lbnQsIHRoYXQgaXMgcGFzc2VkIGZyb20gY2hpbGQgKi9cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QuaGlkZGVuID0gIW9wZW47XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5saXN0LmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBQcm9wYWdhdGUgb3BlbiBmbGFnIHRvIHBvcG92ZXIgbGlzdCBjb21wb25lbnQsIHRoYXQgaXMgcGFzc2VkIGZyb20gY2hpbGQgKi9cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIub3BlbiA9IG9wZW47XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhlcmUgYXJlIGFueSBsaXN0IGJlbG93XG4gICAgICAgICAqIFRyaWdnZXIgZXZlbnQgdG8gcHJvdmlkZSBrZXlib2FyZCBzdXBwb3J0IHRvIG5ldyBsaXN0IG9mIG9wZW5lZCBpdGVtIGVsZW1lbnQuXG4gICAgICAgICAqICovXG4gICAgICAgIGlmICh0aGlzLl9zaG91bGRSZWZyZXNoS2V5Ym9hcmRTZXJ2aWNlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU2VydmljZS5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG91bGRSZWZyZXNoS2V5Ym9hcmRTZXJ2aWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy5faXRlbVNlcnZpY2UucG9wb3ZlciB8fCB0aGlzLl9pdGVtU2VydmljZS5saXN0IHx8IHRoaXMuY29udGVudEl0ZW0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0VXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc3RhdGVTZXJ2aWNlLmNvbmRlbnNlZCkge1xuICAgICAgICAgICAgdGhpcy5fcm9sZSA9ICdtZW51aXRlbXJhZGlvJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS50b2dnbGUucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcblxuICAgICAgICAgICAgLyoqIFN1YnNjcmliZSB0byBtb3VzZSBjbGljayBldmVudCwgdGhyb3duIGJ5IGxpbmsgaXRlbSAqL1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2tcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zdGF0ZVNlcnZpY2Uub25TZWxlY3RlZC5uZXh0KHRoaXMuX2VsZW1lbnRJZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBrZXlib2FyZCBldmVudCBhbmQgdGhyb3cgaXQgZmFydGhlciAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50KSA9PiB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoa2V5Ym9hcmRFdmVudCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gc2VsZWN0ZWQgc3RhdGUgY2hhbmdlLCBpdCdzIG5vdCB0cmlnZ2VyZWQsIHdoZW4gc2VsZWN0YWJsZSBmbGFnIGlzIGRpc2FibGVkKi9cbiAgICAgICAgdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLnNlbGVjdGFibGUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpZCkgPT4gdGhpcy5fc2VsZWN0ZWRDaGFuZ2UoaWQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUhhc0NoaWxkcmVuUHJvcGVydHkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtICYmIHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5oYXNDaGlsZHJlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUGFzcyB0aGlzIGVsZW1lbnQgdG8gcG9wb3ZlciBjaGlsZCBpdGVtLCB0byBhbGxvdyBjb250cm9sIGBleHBhbmRlZGAgdmFsdWUgKi9cbiAgICBwcml2YXRlIF9wYXNzSXRlbVJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLnBhcmVudEl0ZW1FbGVtZW50ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGFuZ2Ugb2Ygc2VsZWN0ZWQgc3RhdGUgb2YgY29udGVudCBvciBsaW5rLCBpZiB0aGVyZSBpcyBhbnkgY2hpbGRyZW4gd2l0aCBJICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRDaGFuZ2UoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuY29udGFpbnNJZChpZCk7XG4gICAgICAgIHRoaXMuX2FyaWFTZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Optional, ViewChild, ViewEncapsulation, computed } from '@angular/core';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-list-keyboard.service\";\nimport * as i2 from \"../nested-item/nested-item.service\";\nimport * as i3 from \"@fundamental-ngx/cdk/utils\";\nimport * as i4 from \"@angular/cdk/overlay\";\nexport class NestedListPopoverComponent {\n /** @hidden */\n constructor(_keyboardNestService, _itemService, _rtlService, _overlay) {\n this._keyboardNestService = _keyboardNestService;\n this._itemService = _itemService;\n this._rtlService = _rtlService;\n this._overlay = _overlay;\n /** @hidden */\n this.popoverClass = true;\n /** @hidden */\n this.placement$ = computed(() => (this._rtlService?.rtlSignal() ? 'left-start' : 'right-start'), ...(ngDevMode ? [{ debugName: \"placement$\" }] : []));\n /** @hidden */\n this.open = false;\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n /** @hidden */\n ngOnInit() {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open) {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n }\n else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n /** @hidden */\n _listenOnKeyboardRefresh() {\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListPopoverComponent, deps: [{ token: i1.NestedListKeyboardService }, { token: i2.NestedItemService, optional: true }, { token: i3.RtlService, optional: true }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListPopoverComponent, isStandalone: true, selector: \"fdx-nested-list-popover\", host: { properties: { \"class.fdx-nested-list__popover\": \"this.popoverClass\" } }, queries: [{ propertyName: \"linkDirective\", first: true, predicate: NestedLinkComponent, descendants: true }], viewQueries: [{ propertyName: \"popoverComponent\", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: \"<fd-popover\\n [placement]=\\\"placement$()\\\"\\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\", styles: [\".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\\n\"], dependencies: [{ kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListPopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fdx-nested-list-popover', imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent], standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<fd-popover\\n [placement]=\\\"placement$()\\\"\\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\", styles: [\".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\\n\"] }]\n }], ctorParameters: () => [{ type: i1.NestedListKeyboardService }, { type: i2.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i3.RtlService, decorators: [{\n type: Optional\n }] }, { type: i4.Overlay }], propDecorators: { popoverComponent: [{\n type: ViewChild,\n args: [PopoverComponent]\n }], popoverClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__popover']\n }], linkDirective: [{\n type: ContentChild,\n args: [NestedLinkComponent]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUVYLFFBQVEsRUFDUixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBWTVFLE1BQU0sT0FBTywwQkFBMEI7SUE0Qm5DLGNBQWM7SUFDZCxZQUNZLG9CQUErQyxFQUNuQyxZQUErQixFQUMvQixXQUF1QixFQUNuQyxRQUFpQjtRQUhqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBNUI3QixjQUFjO1FBRWQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFZcEIsY0FBYztRQUNkLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxzREFBQyxDQUFDO1FBRTVGLGNBQWM7UUFDZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBWVQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sd0JBQXdCO1FBQzVCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5Qyw4REFBOEQ7WUFDOUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBcEVRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtNQVVyQixtQkFBbUIsa0dBUnRCLGdCQUFnQixnRENoQy9CLHlxQkFpQkEsMmdCRFFjLGdCQUFnQiwrSkFBRSx1QkFBdUIsbUZBQUUsb0JBQW9COzsyRkFLaEUsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNJLHlCQUF5QixXQUcxQixDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDLGNBQzlELElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUMxQyxRQUFROzswQkFDUixRQUFROytEQTdCYixnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSzNCLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBSzdDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBjb21wdXRlZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlua0NvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkeC1uZXN0ZWQtbGlzdC1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGltcG9ydHM6IFtQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCwgUG9wb3ZlckJvZHlDb21wb25lbnRdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlLCBPbkluaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChQb3BvdmVyQ29tcG9uZW50KVxuICAgIHBvcG92ZXJDb21wb25lbnQ6IFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19wb3BvdmVyJylcbiAgICBwb3BvdmVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbGlua0RpcmVjdGl2ZTogTmVzdGVkTGlua0NvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZWZlcmVuY2UgdG8gcGFyZW50IGl0ZW0sIHRvIHByb3BhZ2F0ZSBvcGVuIGFuZCBjbG9zZSBjaGFuZ2UgZnJvbSBwb3BvdmVyLlxuICAgICAqL1xuICAgIHBhcmVudEl0ZW1FbGVtZW50OiBOZXN0ZWRJdGVtSW50ZXJmYWNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwbGFjZW1lbnQkID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpID8gJ2xlZnQtc3RhcnQnIDogJ3JpZ2h0LXN0YXJ0JykpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbG9zZVNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkTmVzdFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpO1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xvc2VTY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBjYWxsZWQsIHdoZW4gb3BlbiBzdGF0ZSBpcyBjaGFuZ2VkLCBmcm9tIHBvcG92ZXIgY29tcG9uZW50IChlc2NhcGUga2V5LCBvdXRzaWRlIGNsaWNrKS5cbiAgICAgKi9cbiAgICBoYW5kbGVPcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgaWYgKHRoaXMucGFyZW50SXRlbUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRJdGVtRWxlbWVudC50cmlnZ2VyT3BlbigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEl0ZW1FbGVtZW50LnRyaWdnZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmROZXN0U2VydmljZS5yZWZyZXNoJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgLyoqIFVwZGF0ZSBwb3BvdmVyIHBvc2l0aW9uLCBvbiBsaXN0IG9mIGhpZGRlbiBpdGVtcyBjaGFuZ2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnQucmVmcmVzaFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxmZC1wb3BvdmVyXG4gICAgW3BsYWNlbWVudF09XCJwbGFjZW1lbnQkKClcIlxuICAgIFt0cmlnZ2Vyc109XCJbJ2NsaWNrJ11cIlxuICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICBbaXNPcGVuXT1cIm9wZW5cIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiaGFuZGxlT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgICBbc2Nyb2xsU3RyYXRlZ3ldPVwiX2Nsb3NlU2Nyb2xsU3RyYXRlZ3lcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtbGlua11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgPGZkLXBvcG92ZXItYm9keSBjbGFzcz1cImZkeC1zaWRlLW5hdl9fcG9wb3Zlci1ib2R5IGZkeC1uZXN0ZWQtbGlzdC0tdGV4dC1vbmx5XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3RdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3RcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9mZC1wb3BvdmVyLWJvZHk+XG48L2ZkLXBvcG92ZXI+XG4iXX0=","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\nexport class PreparedNestedListComponent {\n constructor() {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n this.first = true;\n /** Defines if list should be displayed in condensed mode */\n this.condensed = false;\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() {\n return this._nestedListComponent;\n }\n /** @hidden */\n _expandedChange(expanded, item) {\n item.expanded = expanded;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PreparedNestedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PreparedNestedListComponent, isStandalone: true, selector: \"fdx-prepared-nested-list\", inputs: { first: \"first\", condensed: \"condensed\", list: \"list\" }, viewQueries: [{ propertyName: \"_nestedListComponent\", first: true, predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: \"<ul fdx-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fdx-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fdx-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fdx-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fdx-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n </fdx-nested-list-popover>\\n }\\n @if (!item.list) {\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n }\\n @if ((!condensed || !first) && item.list) {\\n <div fdx-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fdx-nested-list-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 @if (item.link.icon) {\\n <span fdx-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fdx-nested-list-title>{{ item.link.title }}</span>\\n </a>\\n }\\n </ng-template>\\n </li>\\n }\\n }\\n</ul>\\n\", dependencies: [{ kind: \"component\", type: PreparedNestedListComponent, selector: \"fdx-prepared-nested-list\", inputs: [\"first\", \"condensed\", \"list\"] }, { kind: \"component\", type: NestedListComponent, selector: \"[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]\", inputs: [\"textOnly\", \"ariaRoledescriptionTree\", \"ariaRoledescriptionMenuBar\", \"ariaLabelSelected\"] }, { kind: \"directive\", type: NestedListHeaderDirective, selector: \"[cxNestedDirectivesHeader], [fdx-nested-list-header]\", inputs: [\"id\"] }, { kind: \"component\", type: NestedItemComponent, selector: \"[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]\", inputs: [\"expanded\", \"group\", \"fdNestedListItemClass\", \"header\", \"display\", \"ariaHidden\"], outputs: [\"expandedChange\", \"keyboardTriggered\"] }, { kind: \"component\", type: NestedListPopoverComponent, selector: \"fdx-nested-list-popover\" }, { kind: \"component\", type: NestedLinkComponent, selector: \"[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: NestedListContentDirective, selector: \"[cxNestedListContent], [fdx-nested-list-content]\", inputs: [\"selected\"], outputs: [\"selectedChange\", \"keyboardTriggered\", \"clicked\"] }, { kind: \"component\", type: NestedListIconComponent, selector: \"[cxNestedDirectivesIcon], [fdx-nested-list-icon]\", inputs: [\"role\"] }, { kind: \"directive\", type: NestedListTitleDirective, selector: \"[cxNestedDirectivesTitle], [fdx-nested-list-title]\" }, { kind: \"component\", type: NestedListExpandIconComponent, selector: \"[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PreparedNestedListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fdx-prepared-nested-list', encapsulation: ViewEncapsulation.None, imports: [\n NestedListComponent,\n NestedListHeaderDirective,\n NestedItemComponent,\n NestedListPopoverComponent,\n NestedLinkComponent,\n RouterModule,\n NestedListContentDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListExpandIconComponent\n ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ul fdx-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fdx-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fdx-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fdx-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fdx-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n </fdx-nested-list-popover>\\n }\\n @if (!item.list) {\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n }\\n @if ((!condensed || !first) && item.list) {\\n <div fdx-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fdx-nested-list-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 @if (item.link.icon) {\\n <span fdx-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fdx-nested-list-title>{{ item.link.title }}</span>\\n </a>\\n }\\n </ng-template>\\n </li>\\n }\\n }\\n</ul>\\n\" }]\n }], propDecorators: { first: [{\n type: Input\n }], condensed: [{\n type: Input\n }], list: [{\n type: Input\n }], _nestedListComponent: [{\n type: ViewChild,\n args: [forwardRef(() => NestedListComponent)]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDM0IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBRTNFOztHQUVHO0FBb0JILE1BQU0sT0FBTywyQkFBMkI7SUFuQnhDO1FBb0JJOzs7O1dBSUc7UUFFSCxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7S0F3QnJCO0lBWkc7OztPQUdHO0lBQ0gsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlLENBQUMsUUFBaUIsRUFBRSxJQUFvQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDOzhHQWxDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQixnT0FvQlIsbUJBQW1CLGlEQzFEbkQsOHdGQXNEQSw0Q0RoQmEsMkJBQTJCLDZHQWRoQyxtQkFBbUIsdU1BQ25CLHlCQUF5QixpSEFDekIsbUJBQW1CLDBQQUNuQiwwQkFBMEIsb0VBQzFCLG1CQUFtQiw2T0FDbkIsWUFBWSxnUkFDWiwwQkFBMEIsZ0xBQzFCLHVCQUF1QiwrR0FDdkIsd0JBQXdCLCtGQUN4Qiw2QkFBNkI7OzJGQUt4QiwyQkFBMkI7a0JBbkJ2QyxTQUFTOytCQUNJLDBCQUEwQixpQkFFckIsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDTCxtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7cUJBQ2hDLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQVMvQyxLQUFLO3NCQURKLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFPTixvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmVcbn0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SXRlbSwgTmVzdGVkTGlzdE1vZGVsIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtbW9kZWwnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgaW50ZXJuYWwgdXNhZ2UsIGFsbG93cyB0byBnZW5lcmF0ZSB0aGUgbmVzdGVkIGxpc3QgZnJvbSBkZWZpbmVkIG9iamVjdC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZEl0ZW1Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaW5rQ29tcG9uZW50LFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBGb3IgaW50ZXJuYWwgdXNhZ2UuXG4gICAgICogRGVmaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGZpcnN0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaXJzdCA9IHRydWU7XG5cbiAgICAvKiogRGVmaW5lcyBpZiBsaXN0IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gY29uZGVuc2VkIG1vZGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbmRlbnNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIExpc3QgY29uZmlndXJhdGlvbiovXG4gICAgQElucHV0KClcbiAgICBsaXN0OiBOdWxsYWJsZTxOZXN0ZWRMaXN0TW9kZWw+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRMaXN0Q29tcG9uZW50KSlcbiAgICBfbmVzdGVkTGlzdENvbXBvbmVudDogTmVzdGVkTGlzdENvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEluIHByZXBhcmVkIG5lc3RlZCBsaXN0LCBuZXN0ZWQgaXRlbXMgc2hvdWxkIGJlIHRha2VuIGFzIHJlZmVyZW5jZSBvZiBWaWV3LCBub3QgQ29udGVudC5cbiAgICAgKiBUaGVyZSBpcyBkaXJlY3QgcmVmZXJlbmNlIHRvIHRoZXNlIGRpcmVjdGl2ZXMgaGVyZS5cbiAgICAgKi9cbiAgICBnZXQgbmVzdGVkTGlzdENvbXBvbmVudCgpOiBOZXN0ZWRMaXN0Q29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25lc3RlZExpc3RDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXhwYW5kZWRDaGFuZ2UoZXhwYW5kZWQ6IGJvb2xlYW4sIGl0ZW06IE5lc3RlZExpc3RJdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICB9XG59XG4iLCI8dWwgZmR4LW5lc3RlZC1saXN0IFt0ZXh0T25seV09XCIhIWxpc3Q/LnRleHRPbmx5XCI+XG4gICAgQGZvciAoaXRlbSBvZiBsaXN0Py5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0uaGVhZGVyVGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSBmZHgtbmVzdGVkLWxpc3QtaGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uaGVhZGVyVGl0bGUgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGxpIGZkeC1uZXN0ZWQtbGlzdC1pdGVtIFtleHBhbmRlZF09XCIhIWl0ZW0uZXhwYW5kZWRcIiAoZXhwYW5kZWRDaGFuZ2UpPVwiX2V4cGFuZGVkQ2hhbmdlKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGNvbmRlbnNlZCAmJiBmaXJzdCAmJiBpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkeC1uZXN0ZWQtbGlzdC1wb3BvdmVyIFt0aXRsZV09XCJpdGVtLmxpbms/LnRpdGxlIHx8ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkeC1uZXN0ZWQtbGlzdC1jb250ZW50IFtzZWxlY3RlZF09XCIhIWl0ZW0ubGluaz8uc2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb24+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9mZHgtbmVzdGVkLWxpc3QtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICghaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgoIWNvbmRlbnNlZCB8fCAhZmlyc3QpICYmIGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkeC1uZXN0ZWQtbGlzdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb24+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgI2xpbms+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkeC1uZXN0ZWQtbGlzdC1saW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW29uQ2xpY2tDYWxsYmFja109XCJpdGVtLmxpbmsuY2FsbGJhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCIhaXRlbS5saXN0ICYmIGl0ZW0ubGluay5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmxpbmsuaHJlZiA/IGl0ZW0ubGluay5ocmVmIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rLnJvdXRlckxpbmsgPyBpdGVtLmxpbmsucm91dGVyTGluayA6IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkeC1uZXN0ZWQtbGlzdC1pY29uIFtnbHlwaF09XCJpdGVtLmxpbmsuaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmR4LW5lc3RlZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGluay50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgfVxuPC91bD5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport { NestedListButtonDirective, NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from './nested-list-directives';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport * as i0 from \"@angular/core\";\nexport class CxNestedListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, imports: [NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListButtonDirective,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule,\n NestedListContentDirective], exports: [NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], imports: [NestedListPopoverComponent,\n PreparedNestedListComponent,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule, ContentDensityModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListButtonDirective,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule,\n NestedListContentDirective\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 }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUMzQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQW9DcEcsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFoQ3ZCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLHlCQUF5QjtZQUN6QixhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsMEJBQTBCLGFBRzFCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQix5QkFBeUI7WUFDekIsb0JBQW9COytHQUlmLGtCQUFrQixhQUZoQixDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixDQUFDLFlBeEIvRSwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBRzNCLGFBQWE7WUFDYixZQUFZO1lBQ1osYUFBYTtZQUNiLG9CQUFvQixFQWVwQixvQkFBb0I7OzJGQUlmLGtCQUFrQjtrQkFsQzlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsQ0FBQztpQkFDdEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgTWVudUtleWJvYXJkU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpbmtDb21wb25lbnQgfSBmcm9tICcuL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmVcbn0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmVzdGVkTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlua0NvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkSXRlbUNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFByZXBhcmVkTmVzdGVkTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGUsXG4gICAgICAgIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpbmtDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZEl0ZW1Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RJY29uQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW01lbnVLZXlib2FyZFNlcnZpY2UsIE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsIE5lc3RlZExpc3RTdGF0ZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEN4TmVzdGVkTGlzdE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWN4LW5lc3RlZC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9mdW5kYW1lbnRhbC1uZ3gtY3gtbmVzdGVkLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.NestedItemService","i2.NestedListStateService","i3.NestedListKeyboardService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3","i4","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-cx-nested-list.mjs","sources":["../tmp-esm2022/nested-list/nested-item/nested-item.service.js","../tmp-esm2022/nested-list/nested-list-directives.js","../tmp-esm2022/nested-list/nested-link/nested-link.component.js","../tmp-esm2022/nested-list/nested-content/nested-list-content.directive.js","../tmp-esm2022/nested-list/nested-list-keyboard.service.js","../tmp-esm2022/nested-list/nested-list-state.service.js","../tmp-esm2022/nested-list/nested-list/nested-list.component.js","../tmp-esm2022/nested-list/nested-item/nested-item.component.js","../tmp-esm2022/nested-list/nested-list-popover/nested-list-popover.component.js","../tmp-esm2022/nested-list/prepared-nested-list/prepared-nested-list.component.js","../tmp-esm2022/nested-list/nested-list.module.js","../tmp-esm2022/nested-list/fundamental-ngx-cx-nested-list.js"],"sourcesContent":["import { Subject } from 'rxjs';\n/** Contains references to popover or list nested components, that are placed as direct children of item component */\nexport class NestedItemService {\n constructor() {\n /** Subject fired when expand icon is clicked */\n this.toggle = new Subject();\n /** Subject fired, when child elements are focused */\n this.focus = new Subject();\n /** Subject fired, when content or link is clicked */\n this.click = new Subject();\n /** KeyDown handler, it is triggered from link, content and item elements */\n this.keyDown = new Subject();\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSS9CLHFIQUFxSDtBQUNySCxNQUFNLE9BQU8saUJBQWlCO0lBQTlCO1FBTUksZ0RBQWdEO1FBQ2hELFdBQU0sR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUVsRCxxREFBcUQ7UUFDckQsVUFBSyxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTNDLHFEQUFxRDtRQUNyRCxVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0MsNEVBQTRFO1FBQzVFLFlBQU8sR0FBMkIsSUFBSSxPQUFPLEVBQWlCLENBQUM7SUFDbkUsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFBvcG92ZXJJbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RJbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG4vKiogQ29udGFpbnMgcmVmZXJlbmNlcyB0byBwb3BvdmVyIG9yIGxpc3QgbmVzdGVkIGNvbXBvbmVudHMsIHRoYXQgYXJlIHBsYWNlZCBhcyBkaXJlY3QgY2hpbGRyZW4gb2YgaXRlbSBjb21wb25lbnQgKi9cbmV4cG9ydCBjbGFzcyBOZXN0ZWRJdGVtU2VydmljZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBsaXN0OiBOZXN0ZWRMaXN0SW50ZXJmYWNlO1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcG9wb3Zlcj86IE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQgd2hlbiBleHBhbmQgaWNvbiBpcyBjbGlja2VkICovXG4gICAgdG9nZ2xlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBTdWJqZWN0IGZpcmVkLCB3aGVuIGNoaWxkIGVsZW1lbnRzIGFyZSBmb2N1c2VkICovXG4gICAgZm9jdXM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQsIHdoZW4gY29udGVudCBvciBsaW5rIGlzIGNsaWNrZWQgKi9cbiAgICBjbGljazogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogS2V5RG93biBoYW5kbGVyLCBpdCBpcyB0cmlnZ2VyZWQgZnJvbSBsaW5rLCBjb250ZW50IGFuZCBpdGVtIGVsZW1lbnRzICovXG4gICAga2V5RG93bjogU3ViamVjdDxLZXlib2FyZEV2ZW50PiA9IG5ldyBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+KCk7XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, Directive, ElementRef, HostBinding, HostListener, Input, ViewEncapsulation } from '@angular/core';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { NestedItemService } from './nested-item/nested-item.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./nested-item/nested-item.service\";\nlet uniqueId = 0;\nexport class NestedListHeaderDirective {\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /** Id of the element. */\n this.id = `fdx-nested-list-group-header-${++uniqueId}`;\n /** @hidden */\n this.cxNestedListHeaderClass = true;\n }\n /** Get the header title */\n get title() {\n return this._elementRef.nativeElement.textContent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListHeaderDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListHeaderDirective, isStandalone: true, selector: \"[cxNestedDirectivesHeader], [fdx-nested-list-header]\", inputs: { id: \"id\" }, host: { properties: { \"attr.id\": \"this.id\", \"class.fdx-nested-list__group-header\": \"this.cxNestedListHeaderClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListHeaderDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedDirectivesHeader], [fdx-nested-list-header]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { id: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.id']\n }], cxNestedListHeaderClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__group-header']\n }] } });\nexport class NestedListIconComponent extends IconComponent {\n constructor() {\n super(...arguments);\n /** Role attribute */\n this.role = 'presentation';\n /** @hidden */\n this.fdNestedListIconClass = true;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListIconComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListIconComponent, isStandalone: true, selector: \"[cxNestedDirectivesIcon], [fdx-nested-list-icon]\", inputs: { role: \"role\" }, host: { properties: { \"attr.role\": \"this.role\", \"class.fdx-nested-list__icon\": \"this.fdNestedListIconClass\" } }, usesInheritance: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListIconComponent, decorators: [{\n type: Component,\n args: [{\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: '[cxNestedDirectivesIcon], [fdx-nested-list-icon]',\n template: `<ng-content></ng-content>`\n }]\n }], propDecorators: { role: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.role']\n }], fdNestedListIconClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__icon']\n }] } });\nexport class NestedListTitleDirective {\n /** @hidden */\n constructor(elementRef) {\n this.elementRef = elementRef;\n /** @hidden */\n this.fdNestedListTitleClass = true;\n }\n /** Returns element's InnerText */\n getInnerText() {\n return this.elementRef && this.elementRef.nativeElement.textContent;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListTitleDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListTitleDirective, isStandalone: true, selector: \"[cxNestedDirectivesTitle], [fdx-nested-list-title]\", host: { properties: { \"class.fdx-nested-list__title\": \"this.fdNestedListTitleClass\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListTitleDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedDirectivesTitle], [fdx-nested-list-title]'\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__title']\n }] } });\nexport class NestedListExpandIconComponent {\n /** @hidden */\n get fdNestedListDownArrowClass() {\n return this.expanded;\n }\n /** @hidden */\n get fdNestedListRightArrowClass() {\n return !this.expanded;\n }\n /** @hidden */\n constructor(_itemService, _changeDetRef) {\n this._itemService = _itemService;\n this._changeDetRef = _changeDetRef;\n /** @hidden */\n this.fdNestedListArrowClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n this.expanded = false;\n /** @hidden */\n this.ariaHidden = true;\n }\n /** Mouse event handler */\n onClick(event) {\n this.expanded = !this.expanded;\n this._itemService.toggle.next(this.expanded);\n event?.stopPropagation();\n }\n /** Handler for focus events */\n onFocus() {\n this._itemService.focus.next();\n }\n /** @hidden */\n changeExpandedState(expanded) {\n this.expanded = expanded;\n this._changeDetRef.detectChanges();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListExpandIconComponent, deps: [{ token: i1.NestedItemService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListExpandIconComponent, isStandalone: true, selector: \"[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]\", host: { attributes: { \"aria-haspopup\": \"true\", \"role\": \"presentation\" }, listeners: { \"click\": \"onClick($event)\", \"focus\": \"onFocus()\" }, properties: { \"class.fdx-nested-list__arrow\": \"this.fdNestedListArrowClass\", \"class.sap-icon--navigation-down-arrow\": \"this.fdNestedListDownArrowClass\", \"class.sap-icon--navigation-right-arrow\": \"this.fdNestedListRightArrowClass\", \"class.is-expanded\": \"this.expanded\", \"attr.aria-expanded\": \"this.expanded\", \"attr.aria-hidden\": \"this.ariaHidden\" } }, ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListExpandIconComponent, decorators: [{\n type: Component,\n args: [{\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 }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i0.ChangeDetectorRef }], propDecorators: { fdNestedListArrowClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__arrow']\n }], fdNestedListDownArrowClass: [{\n type: HostBinding,\n args: ['class.sap-icon--navigation-down-arrow']\n }], fdNestedListRightArrowClass: [{\n type: HostBinding,\n args: ['class.sap-icon--navigation-right-arrow']\n }], expanded: [{\n type: HostBinding,\n args: ['class.is-expanded']\n }, {\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\nexport class NestedListButtonDirective {\n constructor() {\n /** @hidden */\n this.fdNestedListButtonClass = true;\n }\n /** @hidden */\n onClick(event) {\n event.preventDefault();\n event.stopPropagation();\n this._expandIcon.onClick();\n }\n /** @hidden */\n ngAfterContentInit() {\n if (this._expandIcon) {\n this._expandIcon.fdNestedListArrowClass = false;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListButtonDirective, isStandalone: true, selector: \"[cxNestedDirectivesButton], [fdx-nested-list-button]\", host: { listeners: { \"click\": \"onClick($event)\", \"keydown.enter\": \"onClick($event)\", \"keydown.space\": \"onClick($event)\" }, properties: { \"class.fdx-nested-list__button\": \"this.fdNestedListButtonClass\" } }, queries: [{ propertyName: \"_expandIcon\", first: true, predicate: NestedListExpandIconComponent, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListButtonDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedDirectivesButton], [fdx-nested-list-button]'\n }]\n }], propDecorators: { fdNestedListButtonClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__button']\n }], _expandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }, {\n type: HostListener,\n args: ['keydown.enter', ['$event']]\n }, {\n type: HostListener,\n args: ['keydown.space', ['$event']]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QtZGlyZWN0aXZlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFNBQVMsRUFDVCxVQUFVLEVBQ1YsV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7O0FBRXRFLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQU1qQixNQUFNLE9BQU8seUJBQXlCO0lBVWxDLGNBQWM7SUFDZCxZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQVYzQyx5QkFBeUI7UUFHekIsT0FBRSxHQUFrQixnQ0FBZ0MsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUVqRSxjQUFjO1FBRWQsNEJBQXVCLEdBQUcsSUFBSSxDQUFDO0lBR2UsQ0FBQztJQUUvQywyQkFBMkI7SUFDM0IsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7SUFDdEQsQ0FBQzs4R0FoQlEseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNEQUFzRDtvQkFDaEUsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUtHLEVBQUU7c0JBRkQsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxTQUFTO2dCQUt0Qix1QkFBdUI7c0JBRHRCLFdBQVc7dUJBQUMscUNBQXFDOztBQWlCdEQs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WUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuXG5sZXQgdW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZERpcmVjdGl2ZXNIZWFkZXJdLCBbZmR4LW5lc3RlZC1saXN0LWhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB7XG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZDogc3RyaW5nIHwgbnVsbCA9IGBmZHgtbmVzdGVkLWxpc3QtZ3JvdXAtaGVhZGVyLSR7Kyt1bmlxdWVJZH1gO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fZ3JvdXAtaGVhZGVyJylcbiAgICBjeE5lc3RlZExpc3RIZWFkZXJDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICAvKiogR2V0IHRoZSBoZWFkZXIgdGl0bGUgKi9cbiAgICBnZXQgdGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbY3hOZXN0ZWREaXJlY3RpdmVzSWNvbl0sIFtmZHgtbmVzdGVkLWxpc3QtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmBcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEljb25Db21wb25lbnQgZXh0ZW5kcyBJY29uQ29tcG9uZW50IHtcbiAgICAvKiogUm9sZSBhdHRyaWJ1dGUgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3ByZXNlbnRhdGlvbic7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pY29uJylcbiAgICBmZE5lc3RlZExpc3RJY29uQ2xhc3MgPSB0cnVlO1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZERpcmVjdGl2ZXNUaXRsZV0sIFtmZHgtbmVzdGVkLWxpc3QtdGl0bGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHgtbmVzdGVkLWxpc3RfX3RpdGxlJylcbiAgICBmZE5lc3RlZExpc3RUaXRsZUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIFJldHVybnMgZWxlbWVudCdzIElubmVyVGV4dCAqL1xuICAgIGdldElubmVyVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmICYmIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50O1xuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZExpc3RFeHBhbmRJY29uXSwgW2ZkeC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBob3N0OiB7XG4gICAgICAgICdhcmlhLWhhc3BvcHVwJzogJ3RydWUnLFxuICAgICAgICByb2xlOiAncHJlc2VudGF0aW9uJ1xuICAgIH0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fYXJyb3cnKVxuICAgIGZkTmVzdGVkTGlzdEFycm93Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNhcC1pY29uLS1uYXZpZ2F0aW9uLWRvd24tYXJyb3cnKVxuICAgIGdldCBmZE5lc3RlZExpc3REb3duQXJyb3dDbGFzcygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZXhwYW5kZWQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNhcC1pY29uLS1uYXZpZ2F0aW9uLXJpZ2h0LWFycm93JylcbiAgICBnZXQgZmROZXN0ZWRMaXN0UmlnaHRBcnJvd0NsYXNzKCk6IGFueSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5leHBhbmRlZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQXR0cmlidXRlIGNvbnRyb2xsZWQgYnkgdGhlIHBhcmVudCBgTmVzdGVkSXRlbUNvbXBvbmVudGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLWV4cGFuZGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBhcmlhSGlkZGVuID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge31cblxuICAgIC8qKiBNb3VzZSBldmVudCBoYW5kbGVyICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICAgIG9uQ2xpY2soZXZlbnQ/OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UudG9nZ2xlLm5leHQodGhpcy5leHBhbmRlZCk7XG4gICAgICAgIGV2ZW50Py5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbY3hOZXN0ZWREaXJlY3RpdmVzQnV0dG9uXSwgW2ZkeC1uZXN0ZWQtbGlzdC1idXR0b25dJ1xufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0QnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkeC1uZXN0ZWQtbGlzdF9fYnV0dG9uJylcbiAgICBmZE5lc3RlZExpc3RCdXR0b25DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgX2V4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuX2V4cGFuZEljb24ub25DbGljaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fZXhwYW5kSWNvbikge1xuICAgICAgICAgICAgdGhpcy5fZXhwYW5kSWNvbi5mZE5lc3RlZExpc3RBcnJvd0NsYXNzID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, Renderer2 } from '@angular/core';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListButtonDirective, NestedListExpandIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedLinkComponent {\n /** @hidden */\n constructor(changeDetRef, _renderer, _elementRef, _itemService) {\n this.changeDetRef = changeDetRef;\n this._renderer = _renderer;\n this._elementRef = _elementRef;\n this._itemService = _itemService;\n /** Whether this element is selected*/\n this.selected = false;\n /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this.cxNestedListItemClass = true;\n /** @hidden */\n this.role = 'treeitem';\n }\n /** @hidden */\n get elementRef() {\n return this._elementRef;\n }\n /** Handler for keyboard events */\n onKeyDown(event) {\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n if (this._collapseOnly) {\n this._expandIcon.onClick();\n }\n else {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\n }\n }\n }\n /** Handler for focus events */\n onFocus() {\n this._itemService.focus.next();\n }\n /** Method to trigger selected state change */\n changeSelected(selected) {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n /** Set focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** Dispatches the click event on the element */\n click() {\n this._elementRef.nativeElement.click();\n }\n /** Returns the title value of the title directive */\n getTitle() {\n return this.title && this.title.getInnerText();\n }\n /** @hidden */\n get _collapseOnly() {\n return !this._nestedListButton && this._expandIcon;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: NestedLinkComponent, isStandalone: true, 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: `\n @if (!_nestedListButton) {\n <div class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </div>\n }\n @if (_nestedListButton) {\n <a tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </a>\n }\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 `, isInline: true, dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkComponent, decorators: [{\n type: Component,\n args: [{\n template: `\n @if (!_nestedListButton) {\n <div class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </div>\n }\n @if (_nestedListButton) {\n <a tabindex=\"0\" class=\"fdx-nested-list__link-container\">\n <ng-template [ngTemplateOutlet]=\"containerContent\"></ng-template>\n </a>\n }\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 imports: [NgTemplateOutlet],\n standalone: true,\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 }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { onClickCallback: [{\n type: Input\n }], selected: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-selected']\n }, {\n type: HostBinding,\n args: ['class.is-selected']\n }], _ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }], ariaDescribedby: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-describedby']\n }], selectedChange: [{\n type: Output\n }], cxNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__link']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], title: [{\n type: ContentChild,\n args: [NestedListTitleDirective]\n }], _nestedListButton: [{\n type: ContentChild,\n args: [NestedListButtonDirective]\n }], _expandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUNILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix3QkFBd0IsRUFDM0IsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBOEJuQyxNQUFNLE9BQU8sbUJBQW1CO0lBK0M1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixTQUFvQixFQUNwQixXQUF1QixFQUN2QixZQUErQjtRQUhoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNwQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUN2QixpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUEvQzNDLHNDQUFzQztRQUl0QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBV2pCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGNBQWM7UUFFZCwwQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFFN0IsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUF1QmYsQ0FBQztJQUVKLGNBQWM7SUFDZCxJQUFJLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7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LE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgTmVzdGVkTGlzdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmVcbn0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoIV9uZXN0ZWRMaXN0QnV0dG9uKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmR4LW5lc3RlZC1saXN0X19saW5rLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250YWluZXJDb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoX25lc3RlZExpc3RCdXR0b24pIHtcbiAgICAgICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiZmR4LW5lc3RlZC1saXN0X19saW5rLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250YWluZXJDb250ZW50XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LWJ1dHRvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGFpbmVyQ29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZmR4LW5lc3RlZC1saXN0LXRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgICAgICdbZmR4LW5lc3RlZC1saXN0LWxpbmtdLCBidXR0b25bZmR4LW5lc3RlZC1saXN0LWxpbmtdLCBhW2ZkeC1uZXN0ZWQtbGlzdC1saW5rXSwgZGl2W2ZkeC1uZXN0ZWQtbGlzdC1saW5rXScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJyFfbmVzdGVkTGlzdEJ1dHRvbiA/IDAgOiAtMSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpbmtDb21wb25lbnQge1xuICAgIC8qKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbiBjbGljayBldmVudCBkaXNwYXRjaCBvbiB0aGlzIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBvbkNsaWNrQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuICAgIGFyaWFEZXNjcmliZWRieTogTnVsbGFibGU8c3RyaW5nIHwgbnVtYmVyPjtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19saW5rJylcbiAgICBjeE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBSZWZlcmVuY2UgdG8gdGl0bGUgZWxlbWVudCwgaXQgaXMgdXNlZCwgdG8gZ2V0IHRpdGxlIGZvciBjb25kZW5zZWQgbW9kZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSlcbiAgICB0aXRsZTogTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUpXG4gICAgX25lc3RlZExpc3RCdXR0b246IE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgX2V4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IGVsZW1lbnRSZWYoKTogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudFJlZjtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3Iga2V5Ym9hcmQgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fY29sbGFwc2VPbmx5KSB7XG4gICAgICAgICAgICB0aGlzLl9leHBhbmRJY29uLm9uQ2xpY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm9uQ2xpY2tDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIHRoaXMub25DbGlja0NhbGxiYWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgc2VsZWN0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnQuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEaXNwYXRjaGVzIHRoZSBjbGljayBldmVudCBvbiB0aGUgZWxlbWVudCAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyB0aGUgdGl0bGUgdmFsdWUgb2YgdGhlIHRpdGxlIGRpcmVjdGl2ZSAqL1xuICAgIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUuZ2V0SW5uZXJUZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIGdldCBfY29sbGFwc2VPbmx5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMuX25lc3RlZExpc3RCdXR0b24gJiYgdGhpcy5fZXhwYW5kSWNvbjtcbiAgICB9XG59XG4iXX0=","import { ChangeDetectorRef, ContentChild, DestroyRef, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedListContentDirective {\n /** @hidden */\n constructor(changeDetRef, _elementRef, _itemService) {\n this.changeDetRef = changeDetRef;\n this._elementRef = _elementRef;\n this._itemService = _itemService;\n /** Whether this element is selected*/\n this.selected = false;\n /** @hidden */\n this.role = 'treeitem';\n /** @hidden */\n this.ariaExpanded = false;\n /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** Event that is thrown, when any keyboard event is dispatched on this element */\n this.keyboardTriggered = new EventEmitter();\n /** Event that is thrown, when this element is clicked */\n this.clicked = new EventEmitter();\n /** @hidden */\n this.cxNestedListContentClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemComponent`\n */\n this.hasChildren = false;\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n }\n /** Keyboard Event Handler */\n onKeyDown(event) {\n this.keyboardTriggered.emit(event);\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n this._itemService.click.next();\n }\n /** @hidden */\n ngAfterContentInit() {\n this._makeLinkUnFocusable();\n this._setFocusSubscription();\n }\n /** Method to trigger selected state change */\n changeSelected(selected) {\n this.selected = selected;\n this.selectedChange.emit(selected);\n }\n /** Set focus on the element. */\n focus() {\n this._elementRef.nativeElement.focus();\n }\n /** Dispatches the click event on the element */\n click() {\n this.focus();\n if (this.nestedLink) {\n this.nestedLink.click();\n }\n }\n /** Add subscription for child focusing */\n _setFocusSubscription() {\n this._itemService.focus.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.focus());\n }\n /** Hide link child element from tab key */\n _makeLinkUnFocusable() {\n if (this.nestedLink) {\n this.nestedLink.elementRef.nativeElement.tabIndex = -1;\n this.changeDetRef.detectChanges();\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListContentDirective, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.NestedItemService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListContentDirective, isStandalone: true, 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()\" }, 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 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListContentDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[cxNestedListContent], [fdx-nested-list-content]',\n standalone: true,\n host: {\n tabindex: '0'\n }\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { selected: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-selected']\n }, {\n type: HostBinding,\n args: ['class.is-selected']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], selectedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], clicked: [{\n type: Output\n }], cxNestedListContentClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__content']\n }], hasChildren: [{\n type: HostBinding,\n args: ['class.has-child']\n }], nestedLink: [{\n type: ContentChild,\n args: [NestedLinkComponent]\n }], nestedExpandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCxpQkFBaUIsRUFDakIsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFTMUUsTUFBTSxPQUFPLDBCQUEwQjtJQWlEbkMsY0FBYztJQUNkLFlBQ1csWUFBK0IsRUFDOUIsV0FBdUIsRUFDdkIsWUFBK0I7UUFGaEMsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBQ3ZCLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQXBEM0Msc0NBQXNDO1FBSXRDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7UUFFbEIsY0FBYztRQUVkLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1EQUFtRDtRQUVuRCxtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRXBFLGtGQUFrRjtRQUV6RSxzQkFBaUIsR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFFNUYs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dUJBQUMsNkJBQTZCO2dCQWUzQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVFuQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlua0NvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZExpc3RDb250ZW50XSwgW2ZkeC1uZXN0ZWQtbGlzdC1jb250ZW50XScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnMCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmlzLXNlbGVjdGVkJylcbiAgICBzZWxlY3RlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBhcmlhRXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyB0aHJvd24sIHdoZW4gYW55IGtleWJvYXJkIGV2ZW50IGlzIGRpc3BhdGNoZWQgb24gdGhpcyBlbGVtZW50ICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkga2V5Ym9hcmRUcmlnZ2VyZWQ6IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiB0aGlzIGVsZW1lbnQgaXMgY2xpY2tlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHgtbmVzdGVkLWxpc3RfX2NvbnRlbnQnKVxuICAgIGN4TmVzdGVkTGlzdENvbnRlbnRDbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQXR0cmlidXRlIGNvbnRyb2xsZWQgYnkgdGhlIHBhcmVudCBgTmVzdGVkSXRlbUNvbXBvbmVudGBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1jaGlsZCcpXG4gICAgaGFzQ2hpbGRyZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaW5rQ29tcG9uZW50KVxuICAgIG5lc3RlZExpbms6IE5lc3RlZExpbmtDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgbmVzdGVkRXhwYW5kSWNvbjogTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEtleWJvYXJkIEV2ZW50IEhhbmRsZXIgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5rZXlib2FyZFRyaWdnZXJlZC5lbWl0KGV2ZW50KTtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2Uua2V5RG93bi5uZXh0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgbW91c2UgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbWFrZUxpbmtVbkZvY3VzYWJsZSgpO1xuICAgICAgICB0aGlzLl9zZXRGb2N1c1N1YnNjcmlwdGlvbigpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdG8gdHJpZ2dlciBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UgKi9cbiAgICBjaGFuZ2VTZWxlY3RlZChzZWxlY3RlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc2VsZWN0ZWQ7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDaGFuZ2UuZW1pdChzZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkTGluaykge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHN1YnNjcmlwdGlvbiBmb3IgY2hpbGQgZm9jdXNpbmcgKi9cbiAgICBwcml2YXRlIF9zZXRGb2N1c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmZvY3VzKCkpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIGxpbmsgY2hpbGQgZWxlbWVudCBmcm9tIHRhYiBrZXkgKi9cbiAgICBwcml2YXRlIF9tYWtlTGlua1VuRm9jdXNhYmxlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZXN0ZWRMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm5lc3RlZExpbmsuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnRhYkluZGV4ID0gLTE7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { LEFT_ARROW, RIGHT_ARROW } from '@angular/cdk/keycodes';\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { KeyUtil } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/cdk/utils\";\nimport * as i2 from \"@fundamental-ngx/core/menu\";\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 */\nexport class NestedListKeyboardService {\n /** @hidden */\n constructor(keyboardService, _rtlService) {\n this.keyboardService = keyboardService;\n this._rtlService = _rtlService;\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 this.refresh$ = new Subject();\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) {\n const items = [];\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) => this._handleKeyDown(keyboardEvent, index, items));\n });\n }\n /** Recursive function to get all of the NestedItem elements in correct order. */\n _getItems(item) {\n const childrenItems = item.expanded ? item.allChildrenItems : [];\n return childrenItems.reduce((actualArray, nextItem) => [\n ...actualArray,\n ...this._getItems(nextItem)\n ], [item]);\n }\n /** Method that calls the recursive function, getItems() and gathers all of the items in the NestedList */\n _getAllListItems(list) {\n const _items = [];\n if (list && list.nestedItems && list.nestedItems.length > 0) {\n list.nestedItems.forEach((item) => {\n _items.push(...this._getItems(item));\n });\n }\n return _items;\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 _handleKeyDown(keyboardEvent, index, items) {\n const item = items[index];\n const isRtl = !!this._rtlService?.rtlSignal();\n if ((!isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW))) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n if ((!isRtl && KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) ||\n (isRtl && KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW))) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n this.keyboardService.keyDownHandler(keyboardEvent, index, items);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService, deps: [{ token: MenuKeyboardService }, { token: i1.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListKeyboardService, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i2.MenuKeyboardService, decorators: [{\n type: Inject,\n args: [MenuKeyboardService]\n }] }, { type: i1.RtlService, decorators: [{\n type: Optional\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsT0FBTyxFQUFjLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFJM0M7OztHQUdHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQU9sQyxjQUFjO0lBQ2QsWUFDeUMsZUFBb0MsRUFDckQsV0FBOEI7UUFEYixvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFDckQsZ0JBQVcsR0FBWCxXQUFXLENBQW1CO1FBVHREOzs7V0FHRztRQUNNLGFBQVEsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQU1wRCxDQUFDO0lBRUo7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLEtBQTRCO1FBQ3JDLE1BQU0sS0FBSyxHQUEwQixFQUFFLENBQUM7UUFFeEMsaUNBQWlDO1FBQ2pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLGlFQUFpRTtRQUNqRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFB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QkFBbUI7OzBCQUMxQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTEVGVF9BUlJPVywgUklHSFRfQVJST1cgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCwgUnRsU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtSW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuaW50ZXJmYWNlJztcblxuLyoqXG4gKiBOZXN0ZWQgbGlzdCBrZXlib2FyZCBzZXJ2aWNlLCB3aGljaCB1c2VzIE1lbnVLZXlib2FyZFNlcnZpY2UsIHRvIGRlYWwgd2l0aCBBcnJvd1VwLCBBcnJvd0Rvd24sIFNwYWNlLCBFbnRlci5cbiAqIEFsc28gaGFzIG93biBoYW5kbGluZyBvZiBBcnJvd0xlZnQgYW5kIEFycm93UmlnaHQsIHRvIG9wZW4vY2xvc2UgdGhlIG1lbnUgaWYgaXQgaGFzIGFueSBjaGlsZHJlbi5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2Uge1xuICAgIC8qKlxuICAgICAqIEV2ZW50LCB0aGF0IGlzIHRocm93biBhbHdheXMsIHdoZW4gdGhlIG9wZW4vY2xvc2UgaSBiZWluZyBjYWxsZWQgb24gaXRlbSBjb21wb25lbnRzLlxuICAgICAqIEFsc28gdHJpZ2dlcnMgY2hhbmdpbmcgb2YgZWxlbWVudHMsIHRvIHJlbW92ZSBjbG9zZWQvaGlkZGVuIGVsZW1lbnRzXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVmcmVzaCQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChNZW51S2V5Ym9hcmRTZXJ2aWNlKSBwcml2YXRlIGtleWJvYXJkU2VydmljZTogTWVudUtleWJvYXJkU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZSB8IG51bGxcbiAgICApIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiBjYWxsZWQgYWZ0ZXIgcmVmcmVzaCQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIFJlZnJlc2ggdGhlIGxpc3Qgb2YgTmVzdGVkSXRlbXMsIHRoYXQgdGhlIGtleWJvYXJkIHN1cHBvcnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZvclxuICAgICAqL1xuICAgIHJlZnJlc2hJdGVtcyhsaXN0czogTmVzdGVkTGlzdEludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcblxuICAgICAgICAvKiogR2F0aGVyaW5nIGFsbCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgbGlzdHMuZm9yRWFjaCgobGlzdCkgPT4gaXRlbXMucHVzaCguLi50aGlzLl9nZXRBbGxMaXN0SXRlbXMobGlzdCkpKTtcbiAgICAgICAgLyoqIFB1dHRpbmcgdGhlIGtleWJvYXJkIHN1cHBvcnQgZnVuY3Rpb24gdG8gZWFjaCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0ua2V5Ym9hcmRUcmlnZ2VyZWRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5yZWZyZXNoJCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5faGFuZGxlS2V5RG93bihrZXlib2FyZEV2ZW50LCBpbmRleCwgaXRlbXMpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqIFJlY3Vyc2l2ZSBmdW5jdGlvbiB0byBnZXQgYWxsIG9mIHRoZSBOZXN0ZWRJdGVtIGVsZW1lbnRzIGluIGNvcnJlY3Qgb3JkZXIuICovXG4gICAgcHJpdmF0ZSBfZ2V0SXRlbXMoaXRlbTogTmVzdGVkSXRlbUludGVyZmFjZSk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuSXRlbXMgPSBpdGVtLmV4cGFuZGVkID8gaXRlbS5hbGxDaGlsZHJlbkl0ZW1zIDogW107XG4gICAgICAgIHJldHVybiBjaGlsZHJlbkl0ZW1zLnJlZHVjZShcbiAgICAgICAgICAgIChhY3R1YWxBcnJheTogTmVzdGVkSXRlbUludGVyZmFjZVtdLCBuZXh0SXRlbTogTmVzdGVkSXRlbUludGVyZmFjZSkgPT4gW1xuICAgICAgICAgICAgICAgIC4uLmFjdHVhbEFycmF5LFxuICAgICAgICAgICAgICAgIC4uLnRoaXMuX2dldEl0ZW1zKG5leHRJdGVtKVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtpdGVtXVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBjYWxscyB0aGUgcmVjdXJzaXZlIGZ1bmN0aW9uLCBnZXRJdGVtcygpIGFuZCBnYXRoZXJzIGFsbCBvZiB0aGUgaXRlbXMgaW4gdGhlIE5lc3RlZExpc3QgKi9cbiAgICBwcml2YXRlIF9nZXRBbGxMaXN0SXRlbXMobGlzdDogTmVzdGVkTGlzdEludGVyZmFjZSk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGNvbnN0IF9pdGVtczogTmVzdGVkSXRlbUludGVyZmFjZVtdID0gW107XG4gICAgICAgIGlmIChsaXN0ICYmIGxpc3QubmVzdGVkSXRlbXMgJiYgbGlzdC5uZXN0ZWRJdGVtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsaXN0Lm5lc3RlZEl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICBfaXRlbXMucHVzaCguLi50aGlzLl9nZXRJdGVtcyhpdGVtKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBfaXRlbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogS2V5Ym9hcmQgaGFuZGxlIGZ1bmN0aW9uLiBVc2VzIGtleWJvYXJkIHN1cHBvcnQgc2VydmljZSBmcm9tIE1lbnVDb21wb25lbnQsIHRvIGRlYWwgd2l0aCBBcnJvd1VwLCBBcnJvd0Rvd24sIFNwYWNlLCBFbnRlci5cbiAgICAgKiBGb3IgQXJyb3dSaWdodCwgaWYgaXRlbSBpcyBub3QgZXhwYW5kZWQgYW5kIGhhcyBjaGlsZHJlbiAobGlzdCBvciBwb3B1cCksIHRoZSBvcGVuIGZ1bmN0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAgKiBPdGhlcndpc2UgaXQgZm9sbG93cyBBcnJvd0Rvd24gZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBGb3IgQXJyb3dMZWZ0LCBpZiBpdGVtIGlzIGV4cGFuZGVkIGFuZCBoYXMgY2hpbGRyZW4gKGxpc3Qgb3IgcG9wdXApLCB0aGUgY2xvc2UgZnVuY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAqIE90aGVyd2lzZSBpdCBmb2xsb3dzIEFycm93VXAgZnVuY3Rpb25hbGl0eVxuICAgICAqL1xuICAgIHByaXZhdGUgX2hhbmRsZUtleURvd24oa2V5Ym9hcmRFdmVudDogS2V5Ym9hcmRFdmVudCwgaW5kZXg6IG51bWJlciwgaXRlbXM6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlID0gaXRlbXNbaW5kZXhdO1xuICAgICAgICBjb25zdCBpc1J0bCA9ICEhdGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKCFpc1J0bCAmJiBLZXlVdGlsLmlzS2V5Q29kZShrZXlib2FyZEV2ZW50LCBSSUdIVF9BUlJPVykpIHx8XG4gICAgICAgICAgICAoaXNSdGwgJiYgS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgTEVGVF9BUlJPVykpXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJPcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAoIWlzUnRsICYmIEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIExFRlRfQVJST1cpKSB8fFxuICAgICAgICAgICAgKGlzUnRsICYmIEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFJJR0hUX0FSUk9XKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5leHBhbmRlZCAmJiBpdGVtLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgaXRlbS50cmlnZ2VyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlLmtleURvd25IYW5kbGVyKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcyk7XG4gICAgfVxufVxuIl19","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport * as i0 from \"@angular/core\";\nexport class NestedListStateService {\n constructor() {\n /**\n * @hidden\n * The condensed state is modified by the parent and read by nested lists.\n */\n this.condensed = false;\n /**\n * @hidden\n */\n this.selectable = true;\n /** @hidden */\n this.onSelected = new Subject();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListStateService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY3gvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBRy9CLE1BQU0sT0FBTyxzQkFBc0I7SUFEbkM7UUFFSTs7O1dBR0c7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCOztXQUVHO1FBQ0gsZUFBVSxHQUFHLElBQUksQ0FBQztRQUVsQixjQUFjO1FBQ2QsZUFBVSxHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO0tBQ3ZEOzhHQWRZLHNCQUFzQjtrSEFBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoZSBjb25kZW5zZWQgc3RhdGUgaXMgbW9kaWZpZWQgYnkgdGhlIHBhcmVudCBhbmQgcmVhZCBieSBuZXN0ZWQgbGlzdHMuXG4gICAgICovXG4gICAgY29uZGVuc2VkID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICovXG4gICAgc2VsZWN0YWJsZSA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uU2VsZWN0ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbn1cbiJdfQ==","import { ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, HostBinding, Inject, Input, Optional, QueryList, forwardRef, inject } from '@angular/core';\nimport { Observable, combineLatest, startWith } from 'rxjs';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListHeaderDirective } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nimport * as i2 from \"../nested-list-state.service\";\nimport * as i3 from \"../nested-list-keyboard.service\";\nimport * as i4 from \"rxjs\";\nexport class NestedListComponent {\n /** @hidden */\n constructor(_nestedItemService, _nestedListStateService, _nestedListKeyboardService, _elementRef, _changeDetectionRef, _language$) {\n this._nestedItemService = _nestedItemService;\n this._nestedListStateService = _nestedListStateService;\n this._nestedListKeyboardService = _nestedListKeyboardService;\n this._elementRef = _elementRef;\n this._changeDetectionRef = _changeDetectionRef;\n this._language$ = _language$;\n /** In case the user wants to no use icons for items in this list */\n this.textOnly = false;\n /** Aria defines role description for the Nested List Tree. */\n this.ariaRoledescriptionTree = 'Navigation List Tree';\n /** Aria defines role description for the Nested List MenuBar. */\n this.ariaRoledescriptionMenuBar = 'Navigation List Menu Bar';\n /** Aria defines aria label for the selected item when the list with disabled selection. */\n this.ariaLabelSelected = 'Selected';\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this.hidden = false;\n /** @hidden */\n this._role = 'tree';\n /** @hidden */\n this._ariaRoledescription = this.ariaRoledescriptionTree;\n /** @hidden */\n this._ariaHaspopup = null;\n /** @hidden */\n this._tabindex = '-1';\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._translationResolver = new TranslationResolver();\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n inject(ContentDensityObserver).subscribe();\n }\n /** @hidden */\n ngAfterContentInit() {\n this._handleNestedLevel();\n }\n /** @hidden */\n detectChanges() {\n this._changeDetectionRef.markForCheck();\n }\n /** @hidden */\n _handleNestedLevel() {\n const nestedLevel = this._getNestedLevel();\n this._setAccessibilityProperties(nestedLevel);\n combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))])\n .pipe(takeUntilDestroyed(this._destroyRef))\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 /**\n * @hidden\n * Method, that checks how deep is the list element\n */\n _getNestedLevel() {\n let element = this._elementRef.nativeElement;\n const parentElements = [];\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 /** Filter only elements, that has `fdx-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fdx-nested-list'));\n let retVal = filteredParentElements.length;\n if (this._nestedItemService?.popover) {\n retVal += 1;\n }\n return retVal;\n }\n /** @hidden */\n _setAriaAttributes(level, lang) {\n this.nestedItems.forEach((item, i) => {\n item._ariaLevel = level;\n if (!item.linkItem) {\n return;\n }\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, // TODO: this property has been deprecated and will be removed from translations\n total: this.nestedItems.length, // TODO: this property has been deprecated and will be removed from translations\n selectedDescription: !this._nestedListStateService.selectable && item.linkItem.selected\n ? ', ' + this.ariaLabelSelected\n : ''\n });\n }\n });\n this._changeDetectionRef.detectChanges();\n }\n /** @hidden */\n _setAccessibilityProperties(level) {\n if (this._nestedListStateService.condensed && level === 1) {\n this._ariaRoledescription = this.ariaRoledescriptionMenuBar;\n }\n if (level > 1 || (this._nestedItemService?.popover && !this._nestedListStateService.condensed)) {\n this._role = 'group';\n this._ariaRoledescription = null;\n }\n if (this._nestedItemService?.popover) {\n this._ariaHaspopup = 'tree';\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListComponent, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListStateService }, { token: i3.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: FD_LANGUAGE }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListComponent, isStandalone: true, selector: \"[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]\", inputs: { textOnly: \"textOnly\", ariaRoledescriptionTree: \"ariaRoledescriptionTree\", ariaRoledescriptionMenuBar: \"ariaRoledescriptionMenuBar\", ariaLabelSelected: \"ariaLabelSelected\" }, host: { properties: { \"class.fdx-nested-list--text-only\": \"this.textOnly\", \"class.fdx-nested-list\": \"this.fdNestedListItemClass\", \"attr.aria-hidden\": \"this.hidden\", \"attr.role\": \"this._role\", \"attr.aria-roledescription\": \"this._ariaRoledescription\", \"attr.aria-haspopup\": \"this._ariaHaspopup\", \"attr.tabindex\": \"this._tabindex\" } }, providers: [contentDensityObserverProviders()], queries: [{ propertyName: \"_nestedListHeader\", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: \"nestedItems\", predicate: i0.forwardRef(() => NestedItemComponent) }, { propertyName: \"_nestedLists\", predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListComponent, decorators: [{\n type: Component,\n args: [{\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 standalone: true,\n providers: [contentDensityObserverProviders()]\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i2.NestedListStateService }, { type: i3.NestedListKeyboardService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i4.Observable, decorators: [{\n type: Inject,\n args: [FD_LANGUAGE]\n }] }], propDecorators: { textOnly: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fdx-nested-list--text-only']\n }], ariaRoledescriptionTree: [{\n type: Input\n }], ariaRoledescriptionMenuBar: [{\n type: Input\n }], ariaLabelSelected: [{\n type: Input\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list']\n }], hidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], nestedItems: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedItemComponent)]\n }], _nestedListHeader: [{\n type: ContentChild,\n args: [NestedListHeaderDirective]\n }], _nestedLists: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedListComponent), { descendants: true }]\n }], _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaRoledescription: [{\n type: HostBinding,\n args: ['attr.aria-roledescription']\n }], _ariaHaspopup: [{\n type: HostBinding,\n args: ['attr.aria-haspopup']\n }], _tabindex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDaEgsT0FBTyxFQUFFLFdBQVcsRUFBYyxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7QUFVdEUsTUFBTSxPQUFPLG1CQUFtQjtJQWdFNUIsY0FBYztJQUNkLFlBQ3dCLGtCQUFxQyxFQUNqRCx1QkFBK0MsRUFDL0MsMEJBQXFELEVBQ3JELFdBQXVCLEVBQ3ZCLG1CQUFzQyxFQUNqQixVQUFr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LFFBQVE7OzBCQUtSLE1BQU07MkJBQUMsV0FBVzt5Q0FuRXZCLFFBQVE7c0JBRlAsS0FBSzs7c0JBQ0wsV0FBVzt1QkFBQyxrQ0FBa0M7Z0JBSy9DLHVCQUF1QjtzQkFEdEIsS0FBSztnQkFLTiwwQkFBMEI7c0JBRHpCLEtBQUs7Z0JBS04saUJBQWlCO3NCQURoQixLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsV0FBVzt1QkFBQyx1QkFBdUI7Z0JBS3BDLE1BQU07c0JBREwsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBUy9CLFdBQVc7c0JBRFYsZUFBZTt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUM7Z0JBSzVDLGlCQUFpQjtzQkFEMUIsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBSzdCLFlBQVk7c0JBRHJCLGVBQWU7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO2dCQUtuRSxLQUFLO3NCQURkLFdBQVc7dUJBQUMsV0FBVztnQkFLZCxvQkFBb0I7c0JBRDdCLFdBQVc7dUJBQUMsMkJBQTJCO2dCQUs5QixhQUFhO3NCQUR0QixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLdkIsU0FBUztzQkFEbEIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgUXVlcnlMaXN0LFxuICAgIGZvcndhcmRSZWYsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgQ29udGVudERlbnNpdHlPYnNlcnZlciwgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycyB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9jb250ZW50LWRlbnNpdHknO1xuaW1wb3J0IHsgRkRfTEFOR1VBR0UsIEZkTGFuZ3VhZ2UsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgdGVtcGxhdGU6IGAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PiBgLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbY3hOZXN0ZWRMaXN0XSwgW2ZkeC1uZXN0ZWQtbGlzdF0sIHVsW2ZkeC1uZXN0ZWQtbGlzdF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgcHJvdmlkZXJzOiBbY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpXVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgTmVzdGVkTGlzdEludGVyZmFjZSB7XG4gICAgLyoqIEluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbm8gdXNlIGljb25zIGZvciBpdGVtcyBpbiB0aGlzIGxpc3QgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0LS10ZXh0LW9ubHknKVxuICAgIHRleHRPbmx5ID0gZmFsc2U7XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIHJvbGUgZGVzY3JpcHRpb24gZm9yIHRoZSBOZXN0ZWQgTGlzdCBUcmVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYVJvbGVkZXNjcmlwdGlvblRyZWUgPSAnTmF2aWdhdGlvbiBMaXN0IFRyZWUnO1xuXG4gICAgLyoqIEFyaWEgZGVmaW5lcyByb2xlIGRlc2NyaXB0aW9uIGZvciB0aGUgTmVzdGVkIExpc3QgTWVudUJhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlZGVzY3JpcHRpb25NZW51QmFyID0gJ05hdmlnYXRpb24gTGlzdCBNZW51IEJhcic7XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIGFyaWEgbGFiZWwgZm9yIHRoZSBzZWxlY3RlZCBpdGVtIHdoZW4gdGhlIGxpc3Qgd2l0aCBkaXNhYmxlZCBzZWxlY3Rpb24uICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxTZWxlY3RlZCA9ICdTZWxlY3RlZCc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0JylcbiAgICBmZE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICAgIGhpZGRlbiA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRoaXMgdmFyaWFibGUgaXMgbW9zdGx5IHRvIGtlZXAgdHJhY2sgb2YgdGhpcyBsaXN0J3MgY2hpbGRyZW4uIFRoZXJlIGlzIG5vdCB1c2FnZSBvZiBpdCBpbnNpZGUgdGhpcyBkaXJlY3RpdmUsXG4gICAgICogYnV0IGl0J3MgdXNlZCBieSBzZXJ2aWNlcyBhbmQgTmVzdGVkSXRlbUNvbXBvbmVudCBieSBpdHNlbGYsXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZHJlbihmb3J3YXJkUmVmKCgpID0+IE5lc3RlZEl0ZW1Db21wb25lbnQpKVxuICAgIG5lc3RlZEl0ZW1zOiBRdWVyeUxpc3Q8TmVzdGVkSXRlbUNvbXBvbmVudD47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSlcbiAgICBwcm90ZWN0ZWQgX25lc3RlZExpc3RIZWFkZXI6IE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRMaXN0Q29tcG9uZW50KSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIHByb3RlY3RlZCBfbmVzdGVkTGlzdHM6IFF1ZXJ5TGlzdDxOZXN0ZWRMaXN0Q29tcG9uZW50PjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHByb3RlY3RlZCBfcm9sZSA9ICd0cmVlJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtcm9sZWRlc2NyaXB0aW9uJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFSb2xlZGVzY3JpcHRpb246IE51bGxhYmxlPHN0cmluZz4gPSB0aGlzLmFyaWFSb2xlZGVzY3JpcHRpb25UcmVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXG4gICAgcHJvdGVjdGVkIF9hcmlhSGFzcG9wdXA6IE51bGxhYmxlPHN0cmluZz4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKVxuICAgIHByb3RlY3RlZCBfdGFiaW5kZXggPSAnLTEnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF90cmFuc2xhdGlvblJlc29sdmVyID0gbmV3IFRyYW5zbGF0aW9uUmVzb2x2ZXIoKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX25lc3RlZEl0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfbmVzdGVkTGlzdFN0YXRlU2VydmljZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfbmVzdGVkTGlzdEtleWJvYXJkU2VydmljZTogTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfY2hhbmdlRGV0ZWN0aW9uUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChGRF9MQU5HVUFHRSkgcHJpdmF0ZSBfbGFuZ3VhZ2UkOiBPYnNlcnZhYmxlPEZkTGFuZ3VhZ2U+XG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZXN0ZWRJdGVtU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fbmVzdGVkSXRlbVNlcnZpY2UubGlzdCA9IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgaW5qZWN0KENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIpLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9oYW5kbGVOZXN0ZWRMZXZlbCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZGV0ZWN0Q2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlTmVzdGVkTGV2ZWwoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG5lc3RlZExldmVsOiBudW1iZXIgPSB0aGlzLl9nZXROZXN0ZWRMZXZlbCgpO1xuXG4gICAgICAgIHRoaXMuX3NldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKG5lc3RlZExldmVsKTtcblxuICAgICAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLl9sYW5ndWFnZSQsIHRoaXMubmVzdGVkSXRlbXMuY2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh1bmRlZmluZWQpKV0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbbGFuZ10pID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLl9uZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZXRBcmlhQXR0cmlidXRlcyhuZXN0ZWRMZXZlbCwgbGFuZyk7XG4gICAgICAgICAgICAgICAgLyoqIEFkZGluZyBjbGFzcyB3aXRoIHRoZSBuZXN0ZWQgbGV2ZWwgKi9cbiAgICAgICAgICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnbGV2ZWwtJyArIG5lc3RlZExldmVsKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNZXRob2QsIHRoYXQgY2hlY2tzIGhvdyBkZWVwIGlzIHRoZSBsaXN0IGVsZW1lbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIF9nZXROZXN0ZWRMZXZlbCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgcGFyZW50RWxlbWVudHM6IEVsZW1lbnRbXSA9IFtdO1xuXG4gICAgICAgIC8qKiBNZXRob2QgdGhhdCBnYXRoZXJzIGFsbCB0aGUgcGFyZW50Tm9kZSBlbGVtZW50cyBvZiBjdXJyZW50IE5lc3RlZExpc3RDb21wb25lbnQgZWxlbWVudCAqL1xuICAgICAgICB3aGlsZSAoZWxlbWVudC5wYXJlbnROb2RlKSB7XG4gICAgICAgICAgICBwYXJlbnRFbGVtZW50cy51bnNoaWZ0KGVsZW1lbnQpO1xuICAgICAgICAgICAgZWxlbWVudCA9IGVsZW1lbnQucGFyZW50Tm9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBGaWx0ZXIgb25seSBlbGVtZW50cywgdGhhdCBoYXMgYGZkeC1uZXN0ZWQtbGlzdGAgZGlyZWN0aXZlIGF0dHJpYnV0ZSAqL1xuICAgICAgICBjb25zdCBmaWx0ZXJlZFBhcmVudEVsZW1lbnRzID0gcGFyZW50RWxlbWVudHMuZmlsdGVyKChfZWxlbWVudCkgPT4gX2VsZW1lbnQuaGFzQXR0cmlidXRlKCdmZHgtbmVzdGVkLWxpc3QnKSk7XG5cbiAgICAgICAgbGV0IHJldFZhbCA9IGZpbHRlcmVkUGFyZW50RWxlbWVudHMubGVuZ3RoO1xuXG4gICAgICAgIGlmICh0aGlzLl9uZXN0ZWRJdGVtU2VydmljZT8ucG9wb3Zlcikge1xuICAgICAgICAgICAgcmV0VmFsICs9IDE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmV0VmFsO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0QXJpYUF0dHJpYnV0ZXMobGV2ZWw6IG51bWJlciwgbGFuZzogRmRMYW5ndWFnZSk6IHZvaWQge1xuICAgICAgICB0aGlzLm5lc3RlZEl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgIGl0ZW0uX2FyaWFMZXZlbCA9IGxldmVsO1xuICAgICAgICAgICAgaWYgKCFpdGVtLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpdGVtLmxpbmtJdGVtLmFyaWFEZXNjcmliZWRieSA9IHRoaXMuX25lc3RlZExpc3RIZWFkZXI/LmlkIHx8IG51bGw7XG4gICAgICAgICAgICAgICAgaXRlbS5saW5rSXRlbS5fYXJpYUxhYmVsID0gdGhpcy5fdHJhbnNsYXRpb25SZXNvbHZlci5yZXNvbHZlKGxhbmcsICdjb3JlTmVzdGVkTGlzdC5saW5rSXRlbUFyaWFMYWJlbCcsIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbURldGFpbHM6IGl0ZW0ubGlua0l0ZW0uZ2V0VGl0bGUoKSxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXg6IGkgKyAxLCAvLyBUT0RPOiB0aGlzIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICB0b3RhbDogdGhpcy5uZXN0ZWRJdGVtcy5sZW5ndGgsIC8vIFRPRE86IHRoaXMgcHJvcGVydHkgaGFzIGJlZW4gZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGZyb20gdHJhbnNsYXRpb25zXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkRGVzY3JpcHRpb246XG4gICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5fbmVzdGVkTGlzdFN0YXRlU2VydmljZS5zZWxlY3RhYmxlICYmIGl0ZW0ubGlua0l0ZW0uc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICcsICcgKyB0aGlzLmFyaWFMYWJlbFNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3Rpb25SZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMobGV2ZWw6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fbmVzdGVkTGlzdFN0YXRlU2VydmljZS5jb25kZW5zZWQgJiYgbGV2ZWwgPT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFSb2xlZGVzY3JpcHRpb24gPSB0aGlzLmFyaWFSb2xlZGVzY3JpcHRpb25NZW51QmFyO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGxldmVsID4gMSB8fCAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2U/LnBvcG92ZXIgJiYgIXRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSkge1xuICAgICAgICAgICAgdGhpcy5fcm9sZSA9ICdncm91cCc7XG4gICAgICAgICAgICB0aGlzLl9hcmlhUm9sZWRlc2NyaXB0aW9uID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9uZXN0ZWRJdGVtU2VydmljZT8ucG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5fYXJpYUhhc3BvcHVwID0gJ3RyZWUnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19","import { Component, ContentChild, DestroyRef, ElementRef, EventEmitter, HostBinding, Input, Output, booleanAttribute, forwardRef, inject } from '@angular/core';\nimport { filter } from 'rxjs/operators';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent } from '../nested-list-directives';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport { NestedItemService } from './nested-item.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./nested-item.service\";\nimport * as i2 from \"../nested-list-keyboard.service\";\nimport * as i3 from \"../nested-list-state.service\";\nlet sideNavigationItemUniqueId = 0;\nexport class NestedItemComponent {\n /** Whether item should be expanded */\n set expanded(expanded) {\n if (expanded !== this._expanded) {\n this.propagateOpenChange(expanded);\n }\n }\n /** @hidden */\n get expanded() {\n return this._expanded;\n }\n /** @hidden */\n constructor(_itemService, _keyboardService, _stateService, elementRef) {\n this._itemService = _itemService;\n this._keyboardService = _keyboardService;\n this._stateService = _stateService;\n this.elementRef = elementRef;\n /** @hidden */\n this.group = false;\n /** Event thrown, when expanded state is changed */\n this.expandedChange = new EventEmitter();\n /** Event thrown, when any keyboard event is dispatched on this, or link element */\n this.keyboardTriggered = new EventEmitter();\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** Whether this item is a header item. */\n this.header = false;\n /** Whether this item is only meant for display purposes, meaning it cannot be used for navigation or shown as selected. */\n this.display = false;\n /**\n * @Input\n * Applies `aria-hidden` to the element.\n * Set to `true` for non-focusable elements without focusable children to hide them from assistive technologies.\n */\n this.ariaHidden = false;\n /** @hidden */\n this._ariaLevel = null;\n /** @hidden */\n this._display = 'block';\n /** @hidden */\n this._ariaExpanded = null;\n /** @hidden */\n this._ariaSelected = null;\n /** @hidden */\n this._ariaDisabled = false;\n /** @hidden */\n this._narrow = false;\n /** @hidden */\n this._expanded = false;\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** Unique element ID */\n this._elementId = 'fdNestedItem' + sideNavigationItemUniqueId++;\n }\n /** @hidden */\n ngAfterContentInit() {\n this._setUpSubscriptions();\n this._propagateHasChildrenProperty();\n this._passItemReferences();\n /** Propagate initial open state to children */\n this.propagateOpenChange(this._expanded);\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 /** Check if the item element has any child */\n get hasChildren() {\n return !!this._itemService?.list;\n }\n /** Get all of the children item elements */\n get allChildrenItems() {\n if (this._itemService?.list) {\n return this._itemService.list.nestedItems.toArray();\n }\n return [];\n }\n /** Method that expand the item and propagate it to children */\n triggerOpen() {\n if (!this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(true);\n }\n }\n /** Method that close the item and propagate it to children */\n triggerClose() {\n if (this.expanded) {\n /** Propagate initial open state to children */\n this.propagateOpenChange(false);\n }\n }\n /** Method that toggle the item and propagate it to children */\n toggle() {\n /** Propagate initial open state to children */\n this.propagateOpenChange(!this._expanded);\n }\n /** Method that dispatches `click` event on link item*/\n click() {\n if (!this.display) {\n if (this.contentItem) {\n this.contentItem.click();\n }\n else if (this.linkItem) {\n this.linkItem.click();\n }\n }\n }\n /** Method that focuses link item*/\n focus() {\n if (this.contentItem) {\n this.contentItem.focus();\n }\n else if (this.linkItem) {\n this.linkItem.focus();\n }\n }\n /** Method that provides information if element, or children of this element has passed id */\n containsId(id) {\n if (this._elementId === id) {\n return true;\n }\n if (this._itemService.list) {\n return !!this._itemService.list.nestedItems.find((item) => item.containsId(id));\n }\n return false;\n }\n /**\n * @hidden\n * Propagate open state to all of the children\n */\n propagateOpenChange(open) {\n this._expanded = open;\n if (this.hasChildren) {\n this._ariaExpanded = this._expanded;\n }\n this.expandIcon?.changeExpandedState(open);\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 /** 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 * 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 this.expandedChange.emit(open);\n }\n /** @hidden */\n _shouldRefreshKeyboardService() {\n return !!(this._itemService.popover || this._itemService.list || this.contentItem);\n }\n /** @hidden */\n _setUpSubscriptions() {\n if (this._stateService.condensed) {\n this._role = 'menuitemradio';\n }\n if (!this.display) {\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.toggle.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => this.toggle());\n /** Subscribe to mouse click event, thrown by link item */\n this._itemService.click\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe(() => this._stateService.onSelected.next(this._elementId));\n }\n /** Subscribe to keyboard event and throw it farther */\n this._itemService.keyDown\n .pipe(takeUntilDestroyed(this._destroyRef))\n .subscribe((keyboardEvent) => this.keyboardTriggered.emit(keyboardEvent));\n /** Subscribe to selected state change, it's not triggered, when selectable flag is disabled*/\n this._stateService.onSelected\n .pipe(takeUntilDestroyed(this._destroyRef), filter(() => this._stateService.selectable))\n .subscribe((id) => this._selectedChange(id));\n }\n /** @hidden */\n _propagateHasChildrenProperty() {\n if (this.contentItem && this.hasChildren) {\n this._ariaExpanded = false;\n this.contentItem.hasChildren = true;\n this.contentItem.changeDetRef.detectChanges();\n }\n }\n /** Pass this element to popover child item, to allow control `expanded` value */\n _passItemReferences() {\n if (this._itemService.popover) {\n this._itemService.popover.parentItemElement = this;\n }\n }\n /** Change of selected state of content or link, if there is any children with I */\n _selectedChange(id) {\n const selected = this.containsId(id);\n this._ariaSelected = selected;\n if (this.contentItem) {\n this.contentItem.changeSelected(selected);\n }\n else if (this.linkItem) {\n this.linkItem.changeSelected(selected);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemComponent, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"16.1.0\", version: \"20.1.4\", type: NestedItemComponent, isStandalone: true, selector: \"[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]\", inputs: { expanded: \"expanded\", group: [\"group\", \"group\", booleanAttribute], fdNestedListItemClass: \"fdNestedListItemClass\", header: \"header\", display: \"display\", ariaHidden: \"ariaHidden\" }, outputs: { expandedChange: \"expandedChange\", keyboardTriggered: \"keyboardTriggered\" }, host: { attributes: { \"role\": \"treeitem\" }, properties: { \"class.fdx-nested-list__item--group\": \"this.group\", \"class.fdx-nested-list__item\": \"this.fdNestedListItemClass\", \"class.fdx-nested-list__item--header\": \"this.header\", \"attr.aria-hidden\": \"this.ariaHidden\", \"attr.aria-level\": \"this._ariaLevel\", \"attr.title\": \"this._title\", \"style.display\": \"this._display\", \"attr.role\": \"this._role\", \"attr.aria-expanded\": \"this._ariaExpanded\", \"attr.aria-selected\": \"this._ariaSelected\", \"attr.aria-disabled\": \"this._ariaDisabled\", \"attr.aria-label\": \"this._ariaLabel\" } }, providers: [NestedItemService], queries: [{ propertyName: \"linkItem\", first: true, predicate: NestedLinkComponent, descendants: true }, { propertyName: \"contentItem\", first: true, predicate: NestedListContentDirective, descendants: true }, { propertyName: \"expandIcon\", first: true, predicate: NestedListExpandIconComponent, descendants: true }, { propertyName: \"_nestedList\", first: true, predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemComponent, decorators: [{\n type: Component,\n args: [{\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 standalone: true,\n host: {\n role: 'treeitem'\n }\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i2.NestedListKeyboardService }, { type: i3.NestedListStateService }, { type: i0.ElementRef }], propDecorators: { expanded: [{\n type: Input\n }], group: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__item--group']\n }, {\n type: Input,\n args: [{ transform: booleanAttribute }]\n }], expandedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], fdNestedListItemClass: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fdx-nested-list__item']\n }], header: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fdx-nested-list__item--header']\n }], display: [{\n type: Input\n }], ariaHidden: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], linkItem: [{\n type: ContentChild,\n args: [NestedLinkComponent]\n }], contentItem: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }], expandIcon: [{\n type: ContentChild,\n args: [NestedListExpandIconComponent, { descendants: true }]\n }], _nestedList: [{\n type: ContentChild,\n args: [forwardRef(() => NestedListComponent)]\n }], _ariaLevel: [{\n type: HostBinding,\n args: ['attr.aria-level']\n }], _title: [{\n type: HostBinding,\n args: ['attr.title']\n }], _display: [{\n type: HostBinding,\n args: ['style.display']\n }], _role: [{\n type: HostBinding,\n args: ['attr.role']\n }], _ariaExpanded: [{\n type: HostBinding,\n args: ['attr.aria-expanded']\n }], _ariaSelected: [{\n type: HostBinding,\n args: ['attr.aria-selected']\n }], _ariaDisabled: [{\n type: HostBinding,\n args: ['attr.aria-disabled']\n }], _ariaLabel: [{\n type: HostBinding,\n args: ['attr.aria-label']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFDTCxNQUFNLEVBQ04sZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXhDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRWhFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7OztBQUUxRCxJQUFJLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQVluQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLHNDQUFzQztJQUN0QyxJQUFhLFFBQVEsQ0FBQyxRQUFpQjtRQUNuQyxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEs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QUMsWUFBWTtnQkFLekIsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBS2xCLEtBQUs7c0JBRGQsV0FBVzt1QkFBQyxXQUFXO2dCQUtkLGFBQWE7c0JBRHRCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt2QixhQUFhO3NCQUR0QixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLdkIsYUFBYTtzQkFEdEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3ZCLFVBQVU7c0JBRG5CLFdBQVc7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBmb3J3YXJkUmVmLFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHNpZGVOYXZpZ2F0aW9uSXRlbVVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1tjeE5lc3RlZEl0ZW1dLCBbZmR4LW5lc3RlZC1saXN0LWl0ZW1dLCBsaVtmZHgtbmVzdGVkLWxpc3QtaXRlbV0nLFxuICAgIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRJdGVtU2VydmljZV0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0cmVlaXRlbSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRJdGVtSW50ZXJmYWNlIHtcbiAgICAvKiogV2hldGhlciBpdGVtIHNob3VsZCBiZSBleHBhbmRlZCAqL1xuICAgIEBJbnB1dCgpIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZXhwYW5kZWQgIT09IHRoaXMuX2V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pdGVtLS1ncm91cCcpXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgZ3JvdXAgPSBmYWxzZTtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gZXhwYW5kZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGFueSBrZXlib2FyZCBldmVudCBpcyBkaXNwYXRjaGVkIG9uIHRoaXMsIG9yIGxpbmsgZWxlbWVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGtleWJvYXJkVHJpZ2dlcmVkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZHgtbmVzdGVkLWxpc3RfX2l0ZW0nKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGl0ZW0gaXMgYSBoZWFkZXIgaXRlbS4gKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19pdGVtLS1oZWFkZXInKVxuICAgIGhlYWRlciA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBpdGVtIGlzIG9ubHkgbWVhbnQgZm9yIGRpc3BsYXkgcHVycG9zZXMsIG1lYW5pbmcgaXQgY2Fubm90IGJlIHVzZWQgZm9yIG5hdmlnYXRpb24gb3Igc2hvd24gYXMgc2VsZWN0ZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5ID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBASW5wdXRcbiAgICAgKiBBcHBsaWVzIGBhcmlhLWhpZGRlbmAgdG8gdGhlIGVsZW1lbnQuXG4gICAgICogU2V0IHRvIGB0cnVlYCBmb3Igbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRob3V0IGZvY3VzYWJsZSBjaGlsZHJlbiB0byBoaWRlIHRoZW0gZnJvbSBhc3Npc3RpdmUgdGVjaG5vbG9naWVzLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBhcmlhSGlkZGVuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBsaW5rIGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbGlua0l0ZW06IE5lc3RlZExpbmtDb21wb25lbnQ7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW9zdGx5IHVzZWQsIHdoZW4gdGhpcyBpdGVtIGhhcyBsaXN0XG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlKVxuICAgIGNvbnRlbnRJdGVtOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICAgIGV4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkTGlzdENvbXBvbmVudCkpXG4gICAgX25lc3RlZExpc3Q6IE5lc3RlZExpc3RDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBfYXJpYUxldmVsOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJylcbiAgICBfdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JylcbiAgICBfZGlzcGxheSA9ICdibG9jayc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBwcm90ZWN0ZWQgX3JvbGU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIHByb3RlY3RlZCBfYXJpYUV4cGFuZGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFTZWxlY3RlZDogTnVsbGFibGU8Ym9vbGVhbj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gICAgcHJvdGVjdGVkIF9hcmlhRGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIHByb3RlY3RlZCBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9uYXJyb3cgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZXhwYW5kZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBVbmlxdWUgZWxlbWVudCBJRCAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRJZDogc3RyaW5nID0gJ2ZkTmVzdGVkSXRlbScgKyBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3N0YXRlU2VydmljZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZSxcbiAgICAgICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWZcbiAgICApIHt9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0VXBTdWJzY3JpcHRpb25zKCk7XG4gICAgICAgIHRoaXMuX3Byb3BhZ2F0ZUhhc0NoaWxkcmVuUHJvcGVydHkoKTtcbiAgICAgICAgdGhpcy5fcGFzc0l0ZW1SZWZlcmVuY2VzKCk7XG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSh0aGlzLl9leHBhbmRlZCk7XG5cbiAgICAgICAgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFTZWxlY3RlZCA9IHRoaXMubGlua0l0ZW0uc2VsZWN0ZWQ7XG4gICAgICAgICAgICB0aGlzLl9hcmlhRGlzYWJsZWQgPSAhdGhpcy5fc3RhdGVTZXJ2aWNlLnNlbGVjdGFibGUgJiYgIXRoaXMubGlua0l0ZW0uc2VsZWN0ZWQ7XG4gICAgICAgICAgICB0aGlzLl90aXRsZSA9IHRoaXMubGlua0l0ZW0uZ2V0VGl0bGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0aGUgaXRlbSBlbGVtZW50IGhhcyBhbnkgY2hpbGQgKi9cbiAgICBnZXQgaGFzQ2hpbGRyZW4oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlPy5saXN0O1xuICAgIH1cblxuICAgIC8qKiBHZXQgYWxsIG9mIHRoZSBjaGlsZHJlbiBpdGVtIGVsZW1lbnRzICovXG4gICAgZ2V0IGFsbENoaWxkcmVuSXRlbXMoKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlPy5saXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5faXRlbVNlcnZpY2UubGlzdC5uZXN0ZWRJdGVtcy50b0FycmF5KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGV4cGFuZCB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdHJpZ2dlck9wZW4oKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5leHBhbmRlZCkge1xuICAgICAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBjbG9zZSB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdHJpZ2dlckNsb3NlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5leHBhbmRlZCkge1xuICAgICAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgdG9nZ2xlIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZSghdGhpcy5fZXhwYW5kZWQpO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBkaXNwYXRjaGVzIGBjbGlja2AgZXZlbnQgb24gbGluayBpdGVtKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRpc3BsYXkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jbGljaygpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5jbGljaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGZvY3VzZXMgbGluayBpdGVtKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gaWYgZWxlbWVudCwgb3IgY2hpbGRyZW4gb2YgdGhpcyBlbGVtZW50IGhhcyBwYXNzZWQgaWQgKi9cbiAgICBjb250YWluc0lkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5jb250YWluc0lkKGlkKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFByb3BhZ2F0ZSBvcGVuIHN0YXRlIHRvIGFsbCBvZiB0aGUgY2hpbGRyZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIHByb3BhZ2F0ZU9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IG9wZW47XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IHRoaXMuX2V4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRJY29uPy5jaGFuZ2VFeHBhbmRlZFN0YXRlKG9wZW4pO1xuXG4gICAgICAgIC8qKiBQcm9wYWdhdGUgaGlkZGVuIGZsYWcgdG8gbGlzdCBjb21wb25lbnQsIHRoYXQgaXMgcGFzc2VkIGZyb20gY2hpbGQgKi9cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QuaGlkZGVuID0gIW9wZW47XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5saXN0LmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKiBQcm9wYWdhdGUgb3BlbiBmbGFnIHRvIHBvcG92ZXIgbGlzdCBjb21wb25lbnQsIHRoYXQgaXMgcGFzc2VkIGZyb20gY2hpbGQgKi9cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIub3BlbiA9IG9wZW47XG4gICAgICAgIH1cblxuICAgICAgICAvKipcbiAgICAgICAgICogSWYgdGhlcmUgYXJlIGFueSBsaXN0IGJlbG93XG4gICAgICAgICAqIFRyaWdnZXIgZXZlbnQgdG8gcHJvdmlkZSBrZXlib2FyZCBzdXBwb3J0IHRvIG5ldyBsaXN0IG9mIG9wZW5lZCBpdGVtIGVsZW1lbnQuXG4gICAgICAgICAqICovXG4gICAgICAgIGlmICh0aGlzLl9zaG91bGRSZWZyZXNoS2V5Ym9hcmRTZXJ2aWNlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkU2VydmljZS5yZWZyZXNoJC5uZXh0KCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmV4cGFuZGVkQ2hhbmdlLmVtaXQob3Blbik7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zaG91bGRSZWZyZXNoS2V5Ym9hcmRTZXJ2aWNlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISEodGhpcy5faXRlbVNlcnZpY2UucG9wb3ZlciB8fCB0aGlzLl9pdGVtU2VydmljZS5saXN0IHx8IHRoaXMuY29udGVudEl0ZW0pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2V0VXBTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5fc3RhdGVTZXJ2aWNlLmNvbmRlbnNlZCkge1xuICAgICAgICAgICAgdGhpcy5fcm9sZSA9ICdtZW51aXRlbXJhZGlvJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5kaXNwbGF5KSB7XG4gICAgICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS50b2dnbGUucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcblxuICAgICAgICAgICAgLyoqIFN1YnNjcmliZSB0byBtb3VzZSBjbGljayBldmVudCwgdGhyb3duIGJ5IGxpbmsgaXRlbSAqL1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2tcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLl9zdGF0ZVNlcnZpY2Uub25TZWxlY3RlZC5uZXh0KHRoaXMuX2VsZW1lbnRJZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBrZXlib2FyZCBldmVudCBhbmQgdGhyb3cgaXQgZmFydGhlciAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50KSA9PiB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoa2V5Ym9hcmRFdmVudCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gc2VsZWN0ZWQgc3RhdGUgY2hhbmdlLCBpdCdzIG5vdCB0cmlnZ2VyZWQsIHdoZW4gc2VsZWN0YWJsZSBmbGFnIGlzIGRpc2FibGVkKi9cbiAgICAgICAgdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLnNlbGVjdGFibGUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpZCkgPT4gdGhpcy5fc2VsZWN0ZWRDaGFuZ2UoaWQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUhhc0NoaWxkcmVuUHJvcGVydHkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtICYmIHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5oYXNDaGlsZHJlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUGFzcyB0aGlzIGVsZW1lbnQgdG8gcG9wb3ZlciBjaGlsZCBpdGVtLCB0byBhbGxvdyBjb250cm9sIGBleHBhbmRlZGAgdmFsdWUgKi9cbiAgICBwcml2YXRlIF9wYXNzSXRlbVJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLnBhcmVudEl0ZW1FbGVtZW50ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGFuZ2Ugb2Ygc2VsZWN0ZWQgc3RhdGUgb2YgY29udGVudCBvciBsaW5rLCBpZiB0aGVyZSBpcyBhbnkgY2hpbGRyZW4gd2l0aCBJICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRDaGFuZ2UoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuY29udGFpbnNJZChpZCk7XG4gICAgICAgIHRoaXMuX2FyaWFTZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Optional, ViewChild, ViewEncapsulation, computed } from '@angular/core';\nimport { Overlay } from '@angular/cdk/overlay';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-list-keyboard.service\";\nimport * as i2 from \"../nested-item/nested-item.service\";\nimport * as i3 from \"@fundamental-ngx/cdk/utils\";\nimport * as i4 from \"@angular/cdk/overlay\";\nexport class NestedListPopoverComponent {\n /** @hidden */\n constructor(_keyboardNestService, _itemService, _rtlService, _overlay) {\n this._keyboardNestService = _keyboardNestService;\n this._itemService = _itemService;\n this._rtlService = _rtlService;\n this._overlay = _overlay;\n /** @hidden */\n this.popoverClass = true;\n /** @hidden */\n this.placement$ = computed(() => (this._rtlService?.rtlSignal() ? 'left-start' : 'right-start'), ...(ngDevMode ? [{ debugName: \"placement$\" }] : []));\n /** @hidden */\n this.open = false;\n this._listenOnKeyboardRefresh();\n if (this._itemService) {\n this._itemService.popover = this;\n }\n }\n /** @hidden */\n ngOnInit() {\n this._closeScrollStrategy = this._overlay.scrollStrategies.close();\n }\n /**\n * Method called, when open state is changed, from popover component (escape key, outside click).\n */\n handleOpenChange(open) {\n this.open = open;\n if (this.parentItemElement) {\n if (open) {\n this.parentItemElement.triggerOpen();\n }\n else {\n this.parentItemElement.triggerClose();\n }\n }\n }\n /** @hidden */\n _listenOnKeyboardRefresh() {\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListPopoverComponent, deps: [{ token: i1.NestedListKeyboardService }, { token: i2.NestedItemService, optional: true }, { token: i3.RtlService, optional: true }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListPopoverComponent, isStandalone: true, selector: \"fdx-nested-list-popover\", host: { properties: { \"class.fdx-nested-list__popover\": \"this.popoverClass\" } }, queries: [{ propertyName: \"linkDirective\", first: true, predicate: NestedLinkComponent, descendants: true }], viewQueries: [{ propertyName: \"popoverComponent\", first: true, predicate: PopoverComponent, descendants: true }], ngImport: i0, template: \"<fd-popover\\n [placement]=\\\"placement$()\\\"\\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\", styles: [\".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\\n\"], dependencies: [{ kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListPopoverComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fdx-nested-list-popover', imports: [PopoverComponent, PopoverControlComponent, PopoverBodyComponent], standalone: true, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<fd-popover\\n [placement]=\\\"placement$()\\\"\\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\", styles: [\".fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__title{display:inline-flex}.fdx-side-nav--condensed .fdx-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fdx-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fdx-side-nav--condensed .fd-popover-container-custom .fdx-nested-list__link,.fdx-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fdx-nested-list__link{padding-left:1rem}\\n\"] }]\n }], ctorParameters: () => [{ type: i1.NestedListKeyboardService }, { type: i2.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i3.RtlService, decorators: [{\n type: Optional\n }] }, { type: i4.Overlay }], propDecorators: { popoverComponent: [{\n type: ViewChild,\n args: [PopoverComponent]\n }], popoverClass: [{\n type: HostBinding,\n args: ['class.fdx-nested-list__popover']\n }], linkDirective: [{\n type: ContentChild,\n args: [NestedLinkComponent]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUVYLFFBQVEsRUFDUixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDWCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFrQixNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7O0FBWTVFLE1BQU0sT0FBTywwQkFBMEI7SUE0Qm5DLGNBQWM7SUFDZCxZQUNZLG9CQUErQyxFQUNuQyxZQUErQixFQUMvQixXQUF1QixFQUNuQyxRQUFpQjtRQUhqQix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFtQjtRQUMvQixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBNUI3QixjQUFjO1FBRWQsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFZcEIsY0FBYztRQUNkLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxzREFBQyxDQUFDO1FBRTVGLGNBQWM7UUFDZCxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBWVQsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYztJQUNkLFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN2RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxnQkFBZ0IsQ0FBQyxJQUFhO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDUCxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDekMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQyxDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ04sd0JBQXdCO1FBQzVCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM5Qyw4REFBOEQ7WUFDOUQsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBcEVRLDBCQUEwQjtrR0FBMUIsMEJBQTBCLCtNQVVyQixtQkFBbUIsa0dBUnRCLGdCQUFnQixnRENoQy9CLHlxQkFpQkEsMmdCRFFjLGdCQUFnQiwrSkFBRSx1QkFBdUIsbUZBQUUsb0JBQW9COzsyRkFLaEUsMEJBQTBCO2tCQVR0QyxTQUFTOytCQUNJLHlCQUF5QixXQUcxQixDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLG9CQUFvQixDQUFDLGNBQzlELElBQUksaUJBQ0QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBaUMxQyxRQUFROzswQkFDUixRQUFROytEQTdCYixnQkFBZ0I7c0JBRGYsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBSzNCLFlBQVk7c0JBRFgsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBSzdDLGFBQWE7c0JBRFosWUFBWTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBjb21wdXRlZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgT3ZlcmxheSwgU2Nyb2xsU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlua0NvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkeC1uZXN0ZWQtbGlzdC1wb3BvdmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGltcG9ydHM6IFtQb3BvdmVyQ29tcG9uZW50LCBQb3BvdmVyQ29udHJvbENvbXBvbmVudCwgUG9wb3ZlckJvZHlDb21wb25lbnRdLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlLCBPbkluaXQge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChQb3BvdmVyQ29tcG9uZW50KVxuICAgIHBvcG92ZXJDb21wb25lbnQ6IFBvcG92ZXJDb21wb25lbnQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmR4LW5lc3RlZC1saXN0X19wb3BvdmVyJylcbiAgICBwb3BvdmVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtDb21wb25lbnQpXG4gICAgbGlua0RpcmVjdGl2ZTogTmVzdGVkTGlua0NvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZWZlcmVuY2UgdG8gcGFyZW50IGl0ZW0sIHRvIHByb3BhZ2F0ZSBvcGVuIGFuZCBjbG9zZSBjaGFuZ2UgZnJvbSBwb3BvdmVyLlxuICAgICAqL1xuICAgIHBhcmVudEl0ZW1FbGVtZW50OiBOZXN0ZWRJdGVtSW50ZXJmYWNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwbGFjZW1lbnQkID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpID8gJ2xlZnQtc3RhcnQnIDogJ3JpZ2h0LXN0YXJ0JykpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBvcGVuID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9jbG9zZVNjcm9sbFN0cmF0ZWd5OiBTY3JvbGxTdHJhdGVneTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkTmVzdFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpO1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2xvc2VTY3JvbGxTdHJhdGVneSA9IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCBjYWxsZWQsIHdoZW4gb3BlbiBzdGF0ZSBpcyBjaGFuZ2VkLCBmcm9tIHBvcG92ZXIgY29tcG9uZW50IChlc2NhcGUga2V5LCBvdXRzaWRlIGNsaWNrKS5cbiAgICAgKi9cbiAgICBoYW5kbGVPcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gb3BlbjtcbiAgICAgICAgaWYgKHRoaXMucGFyZW50SXRlbUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRJdGVtRWxlbWVudC50cmlnZ2VyT3BlbigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhcmVudEl0ZW1FbGVtZW50LnRyaWdnZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fa2V5Ym9hcmROZXN0U2VydmljZS5yZWZyZXNoJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgLyoqIFVwZGF0ZSBwb3BvdmVyIHBvc2l0aW9uLCBvbiBsaXN0IG9mIGhpZGRlbiBpdGVtcyBjaGFuZ2UgKi9cbiAgICAgICAgICAgIGlmICh0aGlzLnBvcG92ZXJDb21wb25lbnQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJDb21wb25lbnQucmVmcmVzaFBvc2l0aW9uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiIsIjxmZC1wb3BvdmVyXG4gICAgW3BsYWNlbWVudF09XCJwbGFjZW1lbnQkKClcIlxuICAgIFt0cmlnZ2Vyc109XCJbJ2NsaWNrJ11cIlxuICAgIFtub0Fycm93XT1cImZhbHNlXCJcbiAgICBbaXNPcGVuXT1cIm9wZW5cIlxuICAgIChpc09wZW5DaGFuZ2UpPVwiaGFuZGxlT3BlbkNoYW5nZSgkZXZlbnQpXCJcbiAgICBbc2Nyb2xsU3RyYXRlZ3ldPVwiX2Nsb3NlU2Nyb2xsU3RyYXRlZ3lcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtbGlua11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3QtY29udGVudF1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgPGZkLXBvcG92ZXItYm9keSBjbGFzcz1cImZkeC1zaWRlLW5hdl9fcG9wb3Zlci1ib2R5IGZkeC1uZXN0ZWQtbGlzdC0tdGV4dC1vbmx5XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZHgtbmVzdGVkLWxpc3RdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3RcIj48L25nLWNvbnRlbnQ+XG4gICAgPC9mZC1wb3BvdmVyLWJvZHk+XG48L2ZkLXBvcG92ZXI+XG4iXX0=","import { ChangeDetectionStrategy, Component, forwardRef, Input, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from '../nested-item/nested-item.component';\nimport { NestedLinkComponent } from '../nested-link/nested-link.component';\nimport { NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListComponent } from '../nested-list/nested-list.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/router\";\n/**\n * Component for internal usage, allows to generate the nested list from defined object.\n */\nexport class PreparedNestedListComponent {\n constructor() {\n /**\n * @hidden\n * For internal usage.\n * Defines if the component is first\n */\n this.first = true;\n /** Defines if list should be displayed in condensed mode */\n this.condensed = false;\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() {\n return this._nestedListComponent;\n }\n /** @hidden */\n _expandedChange(expanded, item) {\n item.expanded = expanded;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PreparedNestedListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: PreparedNestedListComponent, isStandalone: true, selector: \"fdx-prepared-nested-list\", inputs: { first: \"first\", condensed: \"condensed\", list: \"list\" }, viewQueries: [{ propertyName: \"_nestedListComponent\", first: true, predicate: i0.forwardRef(() => NestedListComponent), descendants: true }], ngImport: i0, template: \"<ul fdx-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fdx-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fdx-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fdx-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fdx-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n </fdx-nested-list-popover>\\n }\\n @if (!item.list) {\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n }\\n @if ((!condensed || !first) && item.list) {\\n <div fdx-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fdx-nested-list-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 @if (item.link.icon) {\\n <span fdx-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fdx-nested-list-title>{{ item.link.title }}</span>\\n </a>\\n }\\n </ng-template>\\n </li>\\n }\\n }\\n</ul>\\n\", dependencies: [{ kind: \"component\", type: PreparedNestedListComponent, selector: \"fdx-prepared-nested-list\", inputs: [\"first\", \"condensed\", \"list\"] }, { kind: \"component\", type: NestedListComponent, selector: \"[cxNestedList], [fdx-nested-list], ul[fdx-nested-list]\", inputs: [\"textOnly\", \"ariaRoledescriptionTree\", \"ariaRoledescriptionMenuBar\", \"ariaLabelSelected\"] }, { kind: \"directive\", type: NestedListHeaderDirective, selector: \"[cxNestedDirectivesHeader], [fdx-nested-list-header]\", inputs: [\"id\"] }, { kind: \"component\", type: NestedItemComponent, selector: \"[cxNestedItem], [fdx-nested-list-item], li[fdx-nested-list-item]\", inputs: [\"expanded\", \"group\", \"fdNestedListItemClass\", \"header\", \"display\", \"ariaHidden\"], outputs: [\"expandedChange\", \"keyboardTriggered\"] }, { kind: \"component\", type: NestedListPopoverComponent, selector: \"fdx-nested-list-popover\" }, { kind: \"component\", type: NestedLinkComponent, selector: \"[fdx-nested-list-link], button[fdx-nested-list-link], a[fdx-nested-list-link], div[fdx-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"ngmodule\", type: RouterModule }, { kind: \"directive\", type: i1.RouterLink, selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"directive\", type: NestedListContentDirective, selector: \"[cxNestedListContent], [fdx-nested-list-content]\", inputs: [\"selected\"], outputs: [\"selectedChange\", \"keyboardTriggered\", \"clicked\"] }, { kind: \"component\", type: NestedListIconComponent, selector: \"[cxNestedDirectivesIcon], [fdx-nested-list-icon]\", inputs: [\"role\"] }, { kind: \"directive\", type: NestedListTitleDirective, selector: \"[cxNestedDirectivesTitle], [fdx-nested-list-title]\" }, { kind: \"component\", type: NestedListExpandIconComponent, selector: \"[cxNestedListExpandIcon], [fdx-nested-list-expand-icon]\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: PreparedNestedListComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fdx-prepared-nested-list', encapsulation: ViewEncapsulation.None, imports: [\n NestedListComponent,\n NestedListHeaderDirective,\n NestedItemComponent,\n NestedListPopoverComponent,\n NestedLinkComponent,\n RouterModule,\n NestedListContentDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListExpandIconComponent\n ], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: \"<ul fdx-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fdx-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fdx-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fdx-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fdx-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n </fdx-nested-list-popover>\\n }\\n @if (!item.list) {\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n }\\n @if ((!condensed || !first) && item.list) {\\n <div fdx-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fdx-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fdx-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fdx-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fdx-nested-list-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 @if (item.link.icon) {\\n <span fdx-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fdx-nested-list-title>{{ item.link.title }}</span>\\n </a>\\n }\\n </ng-template>\\n </li>\\n }\\n }\\n</ul>\\n\" }]\n }], propDecorators: { first: [{\n type: Input\n }], condensed: [{\n type: Input\n }], list: [{\n type: Input\n }], _nestedListComponent: [{\n type: ViewChild,\n args: [forwardRef(() => NestedListComponent)]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2N4L25lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDM0IsTUFBTSwyQkFBMkIsQ0FBQztBQUVuQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7O0FBRTNFOztHQUVHO0FBb0JILE1BQU0sT0FBTywyQkFBMkI7SUFuQnhDO1FBb0JJOzs7O1dBSUc7UUFFSCxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7S0F3QnJCO0lBWkc7OztPQUdHO0lBQ0gsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlLENBQUMsUUFBaUIsRUFBRSxJQUFvQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDOzhHQWxDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQixnT0FvQlIsbUJBQW1CLGlEQzFEbkQsOHdGQXNEQSw0Q0RoQmEsMkJBQTJCLDZHQWRoQyxtQkFBbUIsdU1BQ25CLHlCQUF5QixpSEFDekIsbUJBQW1CLDBQQUNuQiwwQkFBMEIsb0VBQzFCLG1CQUFtQiw2T0FDbkIsWUFBWSxnUkFDWiwwQkFBMEIsZ0xBQzFCLHVCQUF1QiwrR0FDdkIsd0JBQXdCLCtGQUN4Qiw2QkFBNkI7OzJGQUt4QiwyQkFBMkI7a0JBbkJ2QyxTQUFTOytCQUNJLDBCQUEwQixpQkFFckIsaUJBQWlCLENBQUMsSUFBSSxXQUM1Qjt3QkFDTCxtQkFBbUI7d0JBQ25CLHlCQUF5Qjt3QkFDekIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLG1CQUFtQjt3QkFDbkIsWUFBWTt3QkFDWiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qiw2QkFBNkI7cUJBQ2hDLGNBQ1csSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNOzhCQVMvQyxLQUFLO3NCQURKLEtBQUs7Z0JBS04sU0FBUztzQkFEUixLQUFLO2dCQUtOLElBQUk7c0JBREgsS0FBSztnQkFPTixvQkFBb0I7c0JBRG5CLFNBQVM7dUJBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZXN0ZWRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi4vbmVzdGVkLWxpbmsvbmVzdGVkLWxpbmsuY29tcG9uZW50JztcbmltcG9ydCB7XG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmVcbn0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SXRlbSwgTmVzdGVkTGlzdE1vZGVsIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtbW9kZWwnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RDb21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuXG4vKipcbiAqIENvbXBvbmVudCBmb3IgaW50ZXJuYWwgdXNhZ2UsIGFsbG93cyB0byBnZW5lcmF0ZSB0aGUgbmVzdGVkIGxpc3QgZnJvbSBkZWZpbmVkIG9iamVjdC5cbiAqL1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdmZHgtcHJlcGFyZWQtbmVzdGVkLWxpc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZEl0ZW1Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaW5rQ29tcG9uZW50LFxuICAgICAgICBSb3V0ZXJNb2R1bGUsXG4gICAgICAgIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlLFxuICAgICAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlLFxuICAgICAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudFxuICAgIF0sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBGb3IgaW50ZXJuYWwgdXNhZ2UuXG4gICAgICogRGVmaW5lcyBpZiB0aGUgY29tcG9uZW50IGlzIGZpcnN0XG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBmaXJzdCA9IHRydWU7XG5cbiAgICAvKiogRGVmaW5lcyBpZiBsaXN0IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW4gY29uZGVuc2VkIG1vZGUgKi9cbiAgICBASW5wdXQoKVxuICAgIGNvbmRlbnNlZCA9IGZhbHNlO1xuXG4gICAgLyoqIExpc3QgY29uZmlndXJhdGlvbiovXG4gICAgQElucHV0KClcbiAgICBsaXN0OiBOdWxsYWJsZTxOZXN0ZWRMaXN0TW9kZWw+O1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqL1xuICAgIEBWaWV3Q2hpbGQoZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRMaXN0Q29tcG9uZW50KSlcbiAgICBfbmVzdGVkTGlzdENvbXBvbmVudDogTmVzdGVkTGlzdENvbXBvbmVudDtcblxuICAgIC8qKlxuICAgICAqIEluIHByZXBhcmVkIG5lc3RlZCBsaXN0LCBuZXN0ZWQgaXRlbXMgc2hvdWxkIGJlIHRha2VuIGFzIHJlZmVyZW5jZSBvZiBWaWV3LCBub3QgQ29udGVudC5cbiAgICAgKiBUaGVyZSBpcyBkaXJlY3QgcmVmZXJlbmNlIHRvIHRoZXNlIGRpcmVjdGl2ZXMgaGVyZS5cbiAgICAgKi9cbiAgICBnZXQgbmVzdGVkTGlzdENvbXBvbmVudCgpOiBOZXN0ZWRMaXN0Q29tcG9uZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX25lc3RlZExpc3RDb21wb25lbnQ7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZXhwYW5kZWRDaGFuZ2UoZXhwYW5kZWQ6IGJvb2xlYW4sIGl0ZW06IE5lc3RlZExpc3RJdGVtKTogdm9pZCB7XG4gICAgICAgIGl0ZW0uZXhwYW5kZWQgPSBleHBhbmRlZDtcbiAgICB9XG59XG4iLCI8dWwgZmR4LW5lc3RlZC1saXN0IFt0ZXh0T25seV09XCIhIWxpc3Q/LnRleHRPbmx5XCI+XG4gICAgQGZvciAoaXRlbSBvZiBsaXN0Py5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0uaGVhZGVyVGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSBmZHgtbmVzdGVkLWxpc3QtaGVhZGVyPlxuICAgICAgICAgICAgICAgIHt7IGl0ZW0uaGVhZGVyVGl0bGUgfX1cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPGxpIGZkeC1uZXN0ZWQtbGlzdC1pdGVtIFtleHBhbmRlZF09XCIhIWl0ZW0uZXhwYW5kZWRcIiAoZXhwYW5kZWRDaGFuZ2UpPVwiX2V4cGFuZGVkQ2hhbmdlKCRldmVudCwgaXRlbSlcIj5cbiAgICAgICAgICAgICAgICBAaWYgKGNvbmRlbnNlZCAmJiBmaXJzdCAmJiBpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgPGZkeC1uZXN0ZWQtbGlzdC1wb3BvdmVyIFt0aXRsZV09XCJpdGVtLmxpbms/LnRpdGxlIHx8ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkeC1uZXN0ZWQtbGlzdC1jb250ZW50IFtzZWxlY3RlZF09XCIhIWl0ZW0ubGluaz8uc2VsZWN0ZWRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb24+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9mZHgtbmVzdGVkLWxpc3QtcG9wb3Zlcj5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICghaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICgoIWNvbmRlbnNlZCB8fCAhZmlyc3QpICYmIGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkeC1uZXN0ZWQtbGlzdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZHgtbmVzdGVkLWxpc3QtZXhwYW5kLWljb24+PC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkeC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgI2xpbms+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkeC1uZXN0ZWQtbGlzdC1saW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW29uQ2xpY2tDYWxsYmFja109XCJpdGVtLmxpbmsuY2FsbGJhY2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCIhaXRlbS5saXN0ICYmIGl0ZW0ubGluay5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaHJlZl09XCJpdGVtLmxpbmsuaHJlZiA/IGl0ZW0ubGluay5ocmVmIDogbnVsbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtdPVwiaXRlbS5saW5rLnJvdXRlckxpbmsgPyBpdGVtLmxpbmsucm91dGVyTGluayA6IFtdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGluay5pY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkeC1uZXN0ZWQtbGlzdC1pY29uIFtnbHlwaF09XCJpdGVtLmxpbmsuaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmR4LW5lc3RlZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGluay50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgfVxuPC91bD5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ContentDensityModule } from '@fundamental-ngx/core/content-density';\nimport { IconComponent } from '@fundamental-ngx/core/icon';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemComponent } from './nested-item/nested-item.component';\nimport { NestedLinkComponent } from './nested-link/nested-link.component';\nimport { NestedListButtonDirective, NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from './nested-list-directives';\nimport { NestedListKeyboardService } from './nested-list-keyboard.service';\nimport { NestedListPopoverComponent } from './nested-list-popover/nested-list-popover.component';\nimport { NestedListStateService } from './nested-list-state.service';\nimport { NestedListComponent } from './nested-list/nested-list.component';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport * as i0 from \"@angular/core\";\nexport class CxNestedListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, imports: [NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListButtonDirective,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule,\n NestedListContentDirective], exports: [NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective,\n NestedListButtonDirective,\n ContentDensityModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], imports: [NestedListPopoverComponent,\n PreparedNestedListComponent,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule, ContentDensityModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: CxNestedListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n NestedListComponent,\n NestedLinkComponent,\n NestedItemComponent,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListButtonDirective,\n PopoverModule,\n RouterModule,\n IconComponent,\n ContentDensityModule,\n NestedListContentDirective\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 }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQ0gseUJBQXlCLEVBQ3pCLDZCQUE2QixFQUM3Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUMzQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFEQUFxRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHVEQUF1RCxDQUFDOztBQW9DcEcsTUFBTSxPQUFPLGtCQUFrQjs4R0FBbEIsa0JBQWtCOytHQUFsQixrQkFBa0IsWUFoQ3ZCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLHlCQUF5QjtZQUN6QixhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixvQkFBb0I7WUFDcEIsMEJBQTBCLGFBRzFCLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIseUJBQXlCO1lBQ3pCLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCO1lBQzdCLDBCQUEwQjtZQUMxQix5QkFBeUI7WUFDekIsb0JBQW9COytHQUlmLGtCQUFrQixhQUZoQixDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixDQUFDLFlBeEIvRSwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBRzNCLGFBQWE7WUFDYixZQUFZO1lBQ1osYUFBYTtZQUNiLG9CQUFvQixFQWVwQixvQkFBb0I7OzJGQUlmLGtCQUFrQjtrQkFsQzlCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLHVCQUF1Qjt3QkFDdkIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLHlCQUF5Qjt3QkFDekIsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2Isb0JBQW9CO3dCQUNwQiwwQkFBMEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDTCxtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3dCQUN6QiwwQkFBMEI7d0JBQzFCLDJCQUEyQjt3QkFDM0IsNkJBQTZCO3dCQUM3QiwwQkFBMEI7d0JBQzFCLHlCQUF5Qjt3QkFDekIsb0JBQW9CO3FCQUN2QjtvQkFDRCxTQUFTLEVBQUUsQ0FBQyxtQkFBbUIsRUFBRSx5QkFBeUIsRUFBRSxzQkFBc0IsQ0FBQztpQkFDdEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5TW9kdWxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2ljb24nO1xuaW1wb3J0IHsgTWVudUtleWJvYXJkU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9tZW51JztcbmltcG9ydCB7IFBvcG92ZXJNb2R1bGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvcG9wb3Zlcic7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpbmtDb21wb25lbnQgfSBmcm9tICcuL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmVcbn0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFBvcG92ZXJDb21wb25lbnQgfSBmcm9tICcuL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmVzdGVkTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlua0NvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkSXRlbUNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFByZXBhcmVkTmVzdGVkTGlzdENvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RCdXR0b25EaXJlY3RpdmUsXG4gICAgICAgIFBvcG92ZXJNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICAgICAgSWNvbkNvbXBvbmVudCxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGUsXG4gICAgICAgIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpbmtDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZEl0ZW1Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RJY29uQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgICAgICAgQ29udGVudERlbnNpdHlNb2R1bGVcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW01lbnVLZXlib2FyZFNlcnZpY2UsIE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsIE5lc3RlZExpc3RTdGF0ZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEN4TmVzdGVkTGlzdE1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWN4LW5lc3RlZC1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jeC9uZXN0ZWQtbGlzdC9mdW5kYW1lbnRhbC1uZ3gtY3gtbmVzdGVkLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.NestedItemService","i2.NestedListStateService","i3.NestedListKeyboardService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3","i4","i1"],"mappings":"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"}
|