@fundamental-ngx/core 0.58.0-rc.7 → 0.58.0-rc.71

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.
Files changed (124) hide show
  1. package/button/index.d.ts +1 -1
  2. package/card/index.d.ts +8 -4
  3. package/combobox/index.d.ts +9 -1
  4. package/dialog/index.d.ts +2 -2
  5. package/feed-input/index.d.ts +1 -1
  6. package/fesm2022/fundamental-ngx-core-action-sheet.mjs +4 -4
  7. package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
  8. package/fesm2022/fundamental-ngx-core-avatar.mjs +2 -2
  9. package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
  10. package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
  11. package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
  12. package/fesm2022/fundamental-ngx-core-combobox.mjs +44 -8
  13. package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
  14. package/fesm2022/fundamental-ngx-core-datetime.mjs +1 -1
  15. package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
  16. package/fesm2022/fundamental-ngx-core-dialog.mjs +2 -2
  17. package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
  18. package/fesm2022/fundamental-ngx-core-feed-input.mjs +2 -2
  19. package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
  20. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +2 -2
  21. package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
  22. package/fesm2022/fundamental-ngx-core-form.mjs +2 -2
  23. package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
  24. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +2 -2
  25. package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
  26. package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
  27. package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
  28. package/fesm2022/fundamental-ngx-core-menu.mjs +2 -2
  29. package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
  30. package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
  31. package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
  32. package/fesm2022/fundamental-ngx-core-multi-input.mjs +1 -2
  33. package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
  34. package/fesm2022/fundamental-ngx-core-nested-list.mjs +4 -4
  35. package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
  36. package/fesm2022/fundamental-ngx-core-notification.mjs +3 -1
  37. package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
  38. package/fesm2022/fundamental-ngx-core-object-status.mjs +2 -2
  39. package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
  40. package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
  41. package/fesm2022/fundamental-ngx-core-popover.mjs +2 -2
  42. package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
  43. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +2 -2
  44. package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
  45. package/fesm2022/fundamental-ngx-core-segmented-button.mjs +3 -3
  46. package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
  47. package/fesm2022/fundamental-ngx-core-shellbar.mjs +32 -5
  48. package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
  49. package/fesm2022/fundamental-ngx-core-table.mjs +4 -4
  50. package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
  51. package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
  52. package/fesm2022/fundamental-ngx-core-theming.mjs +2 -3
  53. package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
  54. package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
  55. package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
  56. package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
  57. package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
  58. package/fesm2022/fundamental-ngx-core-user-menu.mjs +2 -2
  59. package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
  60. package/form/index.d.ts +2 -2
  61. package/input-group/index.d.ts +1 -1
  62. package/list/index.d.ts +4 -4
  63. package/menu/index.d.ts +2 -2
  64. package/message-box/index.d.ts +1 -1
  65. package/multi-combobox/index.d.ts +2 -2
  66. package/multi-input/index.d.ts +1 -1
  67. package/nested-list/index.d.ts +11 -11
  68. package/notification/index.d.ts +2 -0
  69. package/overflow-layout/index.d.ts +4 -4
  70. package/package.json +45 -45
  71. package/popover/index.d.ts +2 -2
  72. package/segmented-button/index.d.ts +3 -3
  73. package/shellbar/index.d.ts +13 -2
  74. package/table/index.d.ts +2 -2
  75. package/tabs/index.d.ts +3 -3
  76. package/time/index.d.ts +1 -1
  77. package/time-picker/index.d.ts +1 -1
  78. package/toolbar/index.d.ts +1 -1
  79. package/tree/index.d.ts +3 -3
  80. package/schematics/add-animations/index.d.ts +0 -7
  81. package/schematics/add-animations/index.js +0 -83
  82. package/schematics/add-animations/index.js.map +0 -1
  83. package/schematics/add-animations/schema.json +0 -21
  84. package/schematics/add-dependencies/index.d.ts +0 -7
  85. package/schematics/add-dependencies/index.js +0 -105
  86. package/schematics/add-dependencies/index.js.map +0 -1
  87. package/schematics/add-dependencies/schema.json +0 -15
  88. package/schematics/add-styles/index.d.ts +0 -7
  89. package/schematics/add-styles/index.js +0 -97
  90. package/schematics/add-styles/index.js.map +0 -1
  91. package/schematics/add-styles/schema.json +0 -21
  92. package/schematics/add-theming/index.d.ts +0 -7
  93. package/schematics/add-theming/index.js +0 -108
  94. package/schematics/add-theming/index.js.map +0 -1
  95. package/schematics/add-theming/schema.json +0 -72
  96. package/schematics/collection.json +0 -40
  97. package/schematics/models/schema.d.ts +0 -6
  98. package/schematics/models/schema.js +0 -3
  99. package/schematics/models/schema.js.map +0 -1
  100. package/schematics/ng-add/index.d.ts +0 -9
  101. package/schematics/ng-add/index.js +0 -30
  102. package/schematics/ng-add/index.js.map +0 -1
  103. package/schematics/ng-add/schema.json +0 -84
  104. package/schematics/utils/calls-providers-function.d.ts +0 -11
  105. package/schematics/utils/calls-providers-function.js +0 -54
  106. package/schematics/utils/calls-providers-function.js.map +0 -1
  107. package/schematics/utils/file-utils.d.ts +0 -2
  108. package/schematics/utils/file-utils.js +0 -26
  109. package/schematics/utils/file-utils.js.map +0 -1
  110. package/schematics/utils/main-ts-file-path.d.ts +0 -2
  111. package/schematics/utils/main-ts-file-path.js +0 -27
  112. package/schematics/utils/main-ts-file-path.js.map +0 -1
  113. package/schematics/utils/ng-module-utils.d.ts +0 -6
  114. package/schematics/utils/ng-module-utils.js +0 -71
  115. package/schematics/utils/ng-module-utils.js.map +0 -1
  116. package/schematics/utils/one-time-packages.d.ts +0 -6
  117. package/schematics/utils/one-time-packages.js +0 -39
  118. package/schematics/utils/one-time-packages.js.map +0 -1
  119. package/schematics/utils/package-utils.d.ts +0 -10
  120. package/schematics/utils/package-utils.js +0 -25
  121. package/schematics/utils/package-utils.js.map +0 -1
  122. package/schematics/utils/workspace.d.ts +0 -40
  123. package/schematics/utils/workspace.js +0 -110
  124. package/schematics/utils/workspace.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-core-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.directive.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-item/nested-item.directive.js","../tmp-esm2022/nested-list/nested-list-popover/nested-list-popover.component.js","../tmp-esm2022/nested-list/nested-list/nested-list.directive.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-core-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IscUhBQXFIO0FBQ3JILE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFNSSxnREFBZ0Q7UUFDaEQsV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRWxELHFEQUFxRDtRQUNyRCxVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0MscURBQXFEO1FBQ3JELFVBQUssR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyw0RUFBNEU7UUFDNUUsWUFBTyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztJQUNuRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmludGVyZmFjZSc7XG5cbi8qKiBDb250YWlucyByZWZlcmVuY2VzIHRvIHBvcG92ZXIgb3IgbGlzdCBuZXN0ZWQgY29tcG9uZW50cywgdGhhdCBhcmUgcGxhY2VkIGFzIGRpcmVjdCBjaGlsZHJlbiBvZiBpdGVtIGNvbXBvbmVudCAqL1xuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1TZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGxpc3Q6IE5lc3RlZExpc3RJbnRlcmZhY2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwb3BvdmVyPzogTmVzdGVkTGlzdFBvcG92ZXJJbnRlcmZhY2U7XG5cbiAgICAvKiogU3ViamVjdCBmaXJlZCB3aGVuIGV4cGFuZCBpY29uIGlzIGNsaWNrZWQgKi9cbiAgICB0b2dnbGU6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQsIHdoZW4gY2hpbGQgZWxlbWVudHMgYXJlIGZvY3VzZWQgKi9cbiAgICBmb2N1czogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogU3ViamVjdCBmaXJlZCwgd2hlbiBjb250ZW50IG9yIGxpbmsgaXMgY2xpY2tlZCAqL1xuICAgIGNsaWNrOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBLZXlEb3duIGhhbmRsZXIsIGl0IGlzIHRyaWdnZXJlZCBmcm9tIGxpbmssIGNvbnRlbnQgYW5kIGl0ZW0gZWxlbWVudHMgKi9cbiAgICBrZXlEb3duOiBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+ID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, HostBinding, HostListener, Input, Optional, ViewEncapsulation, computed } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\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\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nlet uniqueId = 0;\nexport class NestedListHeaderDirective {\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /** Id of the element. */\n this.id = `fd-nested-list-group-header-${++uniqueId}`;\n /** @hidden */\n this.fdNestedListHeaderClass = 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: \"[fdNestedDirectivesHeader], [fd-nested-list-header]\", inputs: { id: \"id\" }, host: { properties: { \"attr.id\": \"this.id\", \"class.fd-nested-list__group-header\": \"this.fdNestedListHeaderClass\" } }, 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: '[fdNestedDirectivesHeader], [fd-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 }], fdNestedListHeaderClass: [{\n type: HostBinding,\n args: ['class.fd-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: \"[fdNestedDirectivesIcon], [fd-nested-list-icon]\", inputs: { role: \"role\" }, host: { properties: { \"attr.role\": \"this.role\", \"class.fd-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: '[fdNestedDirectivesIcon], [fd-nested-list-icon]',\n template: `<ng-content></ng-content>`,\n standalone: true\n }]\n }], propDecorators: { role: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.role']\n }], fdNestedListIconClass: [{\n type: HostBinding,\n args: ['class.fd-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: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\", host: { properties: { \"class.fd-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: '[fdNestedDirectivesTitle], [fd-nested-list-title]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__title']\n }] } });\nexport class NestedListExpandIconComponent {\n /** @hidden */\n constructor(_itemService, _changeDetRef, _rtlService) {\n this._itemService = _itemService;\n this._changeDetRef = _changeDetRef;\n this._rtlService = _rtlService;\n /** @hidden */\n this.fdNestedListTitleClass = true;\n /** @hidden */\n this.fdButtonClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n this.expanded = false;\n /** @hidden */\n this.ariaHidden = true;\n /** @hidden */\n this.sideArrowIcon$ = computed(() => this._rtlService?.rtlSignal() ? 'navigation-left-arrow' : 'navigation-right-arrow', ...(ngDevMode ? [{ debugName: \"sideArrowIcon$\" }] : []));\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 }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListExpandIconComponent, isStandalone: true, selector: \"[fdNestedListExpandIcon], [fd-nested-list-expand-icon]\", host: { attributes: { \"aria-haspopup\": \"true\", \"tabindex\": \"-1\" }, listeners: { \"click\": \"onClick($event)\", \"focus\": \"onFocus()\" }, properties: { \"class.fd-nested-list__button\": \"this.fdNestedListTitleClass\", \"class.fd-button\": \"this.fdButtonClass\", \"class.is-expanded\": \"this.expanded\", \"attr.aria-expanded\": \"this.expanded\", \"attr.aria-hidden\": \"this.ariaHidden\" } }, ngImport: i0, template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `, isInline: true, dependencies: [{ kind: \"component\", type: IconComponent, selector: \"fd-icon\", inputs: [\"glyph\", \"font\", \"color\", \"background\", \"class\", \"ariaLabel\", \"ariaHidden\"] }], 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: '[fdNestedListExpandIcon], [fd-nested-list-expand-icon]',\n template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `,\n host: {\n 'aria-haspopup': 'true',\n tabindex: '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent]\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i0.ChangeDetectorRef }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__button']\n }], fdButtonClass: [{\n type: HostBinding,\n args: ['class.fd-button']\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 }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyx5QkFBeUI7SUFVbEMsY0FBYztJQUNkLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBVjNDLHlCQUF5QjtRQUd6QixPQUFFLEdBQWtCLCtCQUErQixFQUFFLFFBQVEsRUFBRSxDQUFDO1FBRWhFLGNBQWM7UUFFZCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFHZSxDQUFDO0lBRS9DLDJCQUEyQjtJQUMzQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDOzhHQWhCUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscURBQXFEO29CQUMvRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7K0VBS0csRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFNBQVM7Z0JBS3RCLHVCQUF1QjtzQkFEdEIsV0FBVzt1QkFBQyxvQ0FBb0M7O0FBa0JyRCxNQUFNLE9BQU8sdUJBQXdCLFNBQVEsYUFBYTtJQU4xRDs7UUFPSSxxQkFBcUI7UUFHckIsU0FBSSxHQUFHLGNBQWMsQ0FBQztRQUV0QixjQUFjO1FBRWQsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO0tBQ2hDOzhHQVRZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDRRQUh0QiwyQkFBMkI7OzJGQUc1Qix1QkFBdUI7a0JBTm5DLFNBQVM7bUJBQUM7b0JBQ1AsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsaURBQWlEO29CQUMzRCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7OEJBS0csSUFBSTtzQkFGSCxLQUFLOztzQkFDTCxXQUFXO3VCQUFDLFdBQVc7Z0JBS3hCLHFCQUFxQjtzQkFEcEIsV0FBVzt1QkFBQyw0QkFBNEI7O0FBUTdDLE1BQU0sT0FBTyx3QkFBd0I7SUFLakMsY0FBYztJQUNkLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFMMUMsY0FBYztRQUVkLDJCQUFzQixHQUFHLElBQUksQ0FBQztJQUdlLENBQUM7SUFFOUMsa0NBQWtDO0lBQ2xDLFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO0lBQ3hFLENBQUM7OEdBWFEsd0JBQXdCO2tHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLG1EQUFtRDtvQkFDN0QsVUFBVSxFQUFFLElBQUk7aUJBQ25COytFQUlHLHNCQUFzQjtzQkFEckIsV0FBVzt1QkFBQyw2QkFBNkI7O0FBMkI5QyxNQUFNLE9BQU8sNkJBQTZCO0lBMEJ0QyxjQUFjO0lBQ2QsWUFDWSxZQUErQixFQUMvQixhQUFnQyxFQUNwQixXQUF1QjtRQUZuQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQW1CO1FBQ3BCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBN0IvQyxjQUFjO1FBRWQsMkJBQXNCLEdBQUcsSUFBSSxDQUFDO1FBRTlCLGNBQWM7UUFFZCxrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVyQjs7O1dBR0c7UUFHSCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQWM7UUFFZCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGNBQWM7UUFDZCxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLHdCQUF3QiwwREFDckYsQ0FBQztJQU9DLENBQUM7SUFFSiwwQkFBMEI7SUFFMUIsT0FBTyxDQUFDLEtBQWlCO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCwrQkFBK0I7SUFFL0IsT0FBTztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjO0lBQ2QsbUJBQW1CLENBQUMsUUFBaUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QyxDQUFDOzhHQW5EUSw2QkFBNkI7a0dBQTdCLDZCQUE2QixvZUFaNUI7OztLQUdULDREQU9TLGFBQWE7OzJGQUVkLDZCQUE2QjtrQkFmekMsU0FBUzttQkFBQztvQkFDUCw4REFBOEQ7b0JBQzlELFFBQVEsRUFBRSx3REFBd0Q7b0JBQ2xFLFFBQVEsRUFBRTs7O0tBR1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLGVBQWUsRUFBRSxNQUFNO3dCQUN2QixRQUFRLEVBQUUsSUFBSTtxQkFDakI7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCOzswQkErQlEsUUFBUTt5Q0EzQmIsc0JBQXNCO3NCQURyQixXQUFXO3VCQUFDLDhCQUE4QjtnQkFLM0MsYUFBYTtzQkFEWixXQUFXO3VCQUFDLGlCQUFpQjtnQkFTOUIsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLG1CQUFtQjs7c0JBQy9CLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUtqQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCO2dCQWlCL0IsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgY29tcHV0ZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWREaXJlY3RpdmVzSGVhZGVyXSwgW2ZkLW5lc3RlZC1saXN0LWhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB7XG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZDogc3RyaW5nIHwgbnVsbCA9IGBmZC1uZXN0ZWQtbGlzdC1ncm91cC1oZWFkZXItJHsrK3VuaXF1ZUlkfWA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2dyb3VwLWhlYWRlcicpXG4gICAgZmROZXN0ZWRMaXN0SGVhZGVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEdldCB0aGUgaGVhZGVyIHRpdGxlICovXG4gICAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkRGlyZWN0aXZlc0ljb25dLCBbZmQtbmVzdGVkLWxpc3QtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCBleHRlbmRzIEljb25Db21wb25lbnQge1xuICAgIC8qKiBSb2xlIGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncHJlc2VudGF0aW9uJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdF9faWNvbicpXG4gICAgZmROZXN0ZWRMaXN0SWNvbkNsYXNzID0gdHJ1ZTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWREaXJlY3RpdmVzVGl0bGVdLCBbZmQtbmVzdGVkLWxpc3QtdGl0bGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X190aXRsZScpXG4gICAgZmROZXN0ZWRMaXN0VGl0bGVDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBSZXR1cm5zIGVsZW1lbnQncyBJbm5lclRleHQgKi9cbiAgICBnZXRJbm5lclRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZiAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRMaXN0RXhwYW5kSWNvbl0sIFtmZC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPGZkLWljb24gW2dseXBoXT1cImV4cGFuZGVkID8gJ25hdmlnYXRpb24tZG93bi1hcnJvdycgOiBzaWRlQXJyb3dJY29uJCgpXCI+PC9mZC1pY29uPlxuICAgIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1oYXNwb3B1cCc6ICd0cnVlJyxcbiAgICAgICAgdGFiaW5kZXg6ICctMSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW0ljb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2J1dHRvbicpXG4gICAgZmROZXN0ZWRMaXN0VGl0bGVDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtYnV0dG9uJylcbiAgICBmZEJ1dHRvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtRGlyZWN0aXZlYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtZXhwYW5kZWQnKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICAgIGFyaWFIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaWRlQXJyb3dJY29uJCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdydcbiAgICApO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIE1vdXNlIGV2ZW50IGhhbmRsZXIgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnRvZ2dsZS5uZXh0KHRoaXMuZXhwYW5kZWQpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListTitleDirective } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedLinkDirective {\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 /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this.tabIndex = 0;\n /** @hidden */\n this.role = 'treeitem';\n }\n /** Handler for keyboard events */\n onKeyDown(event) {\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkDirective, 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: NestedLinkDirective, isStandalone: true, selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: { onClickCallback: \"onClickCallback\", selected: \"selected\", ariaDescribedby: \"ariaDescribedby\" }, outputs: { selectedChange: \"selectedChange\" }, host: { listeners: { \"keydown\": \"onKeyDown($event)\", \"click\": \"onClick($event)\", \"focus\": \"onFocus()\" }, properties: { \"class.is-selected\": \"this.selected\", \"attr.aria-label\": \"this._ariaLabel\", \"attr.aria-describedby\": \"this.ariaDescribedby\", \"class.fd-nested-list__link\": \"this.fdNestedListItemClass\", \"attr.tabindex\": \"this.tabIndex\", \"attr.role\": \"this.role\" } }, queries: [{ propertyName: \"title\", first: true, predicate: NestedListTitleDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedLink], [fd-nested-list-link]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { onClickCallback: [{\n type: Input\n }], selected: [{\n type: Input\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 }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__link']\n }], tabIndex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], title: [{\n type: ContentChild,\n args: [NestedListTitleDirective]\n }], onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }], onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }], onFocus: [{\n type: HostListener,\n args: ['focus']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU1yRSxNQUFNLE9BQU8sbUJBQW1CO0lBMEM1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixXQUF1QixFQUN2QixZQUErQjtRQUZoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBekMzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdqQixtREFBbUQ7UUFFbkQsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVwRSxjQUFjO1FBRWQsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLGNBQWM7UUFFZCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUFjZixDQUFDO0lBRUosa0NBQWtDO0lBRWxDLFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELCtCQUErQjtJQUUvQixPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLE9BQU87UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsOENBQThDO0lBQzlDLGNBQWMsQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQscURBQXFEO0lBQ3JELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDOzhHQXpGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiw2b0JBdUNkLHdCQUF3Qjs7MkZBdkM3QixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVDQUF1QztvQkFDakQsVUFBVSxFQUFFLElBQUk7aUJBQ25COytJQUlHLGVBQWU7c0JBRGQsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU05QixlQUFlO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUtwQyxjQUFjO3NCQURiLE1BQU07Z0JBS1AscUJBQXFCO3NCQURwQixXQUFXO3VCQUFDLDRCQUE0QjtnQkFLekMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBSzVCLElBQUk7c0JBREgsV0FBVzt1QkFBQyxXQUFXO2dCQVF4QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsd0JBQXdCO2dCQVl0QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9uQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVVqQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtTGluayB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkTGlua10sIFtmZC1uZXN0ZWQtbGlzdC1saW5rXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaW5rRGlyZWN0aXZlIGltcGxlbWVudHMgTmVzdGVkSXRlbUxpbmsge1xuICAgIC8qKiBGdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCBvbiBjbGljayBldmVudCBkaXNwYXRjaCBvbiB0aGlzIGVsZW1lbnQuICovXG4gICAgQElucHV0KClcbiAgICBvbkNsaWNrQ2FsbGJhY2s6ICgpID0+IHZvaWQ7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG4gICAgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGFiZWwnKVxuICAgIF9hcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kZXNjcmliZWRieScpXG4gICAgYXJpYURlc2NyaWJlZGJ5OiBOdWxsYWJsZTxzdHJpbmcgfCBudW1iZXI+O1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBzZWxlY3RlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdF9fbGluaycpXG4gICAgZmROZXN0ZWRMaXN0SXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICB0YWJJbmRleCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3RyZWVpdGVtJztcblxuICAgIC8qKlxuICAgICAqICBAaGlkZGVuXG4gICAgICogIFJlZmVyZW5jZSB0byB0aXRsZSBlbGVtZW50LCBpdCBpcyB1c2VkLCB0byBnZXQgdGl0bGUgZm9yIGNvbmRlbnNlZCBtb2RlLlxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlKVxuICAgIHRpdGxlOiBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2hhbmdlRGV0UmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIGtleWJvYXJkIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2submV4dCgpO1xuICAgICAgICBpZiAodGhpcy5vbkNsaWNrQ2FsbGJhY2spIHtcbiAgICAgICAgICAgIHRoaXMub25DbGlja0NhbGxiYWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgc2VsZWN0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnQuICovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIC8qKiBEaXNwYXRjaGVzIHRoZSBjbGljayBldmVudCBvbiB0aGUgZWxlbWVudCAqL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyB0aGUgdGl0bGUgdmFsdWUgb2YgdGhlIHRpdGxlIGRpcmVjdGl2ZSAqL1xuICAgIGdldFRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpdGxlICYmIHRoaXMudGl0bGUuZ2V0SW5uZXJUZXh0KCk7XG4gICAgfVxufVxuIl19","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 { NestedLinkDirective } from '../nested-link/nested-link.directive';\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.fdNestedListContentClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n this.hasChildren = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\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 /** Expanded state change propagation method */\n changeExpandedState(expanded) {\n if (this.nestedExpandIcon) {\n this.nestedExpandIcon.changeExpandedState(expanded);\n }\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.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: \"[fdNestedListContent], [fd-nested-list-content]\", inputs: { selected: \"selected\" }, outputs: { selectedChange: \"selectedChange\", keyboardTriggered: \"keyboardTriggered\", clicked: \"clicked\" }, host: { attributes: { \"tabindex\": \"0\" }, listeners: { \"keydown\": \"onKeyDown($event)\", \"click\": \"onClick($event)\" }, properties: { \"class.is-selected\": \"this.selected\", \"attr.role\": \"this.role\", \"attr.aria-expanded\": \"this.ariaExpanded\", \"class.fd-nested-list__content\": \"this.fdNestedListContentClass\", \"class.has-child\": \"this.hasChildren\" } }, queries: [{ propertyName: \"nestedLink\", first: true, predicate: NestedLinkDirective, 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: '[fdNestedListContent], [fd-nested-list-content]',\n host: {\n tabindex: '0'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { selected: [{\n type: Input\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 }], fdNestedListContentClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__content']\n }], hasChildren: [{\n type: HostBinding,\n args: ['class.has-child']\n }], nestedLink: [{\n type: ContentChild,\n args: [NestedLinkDirective]\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVMxRSxNQUFNLE9BQU8sMEJBQTBCO0lBZ0RuQyxjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixXQUF1QixFQUN2QixZQUErQjtRQUZoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBbkQzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFjO1FBRWQsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUVsQixjQUFjO1FBRWQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbURBQW1EO1FBRW5ELG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEUsa0ZBQWtGO1FBRXpFLHNCQUFpQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUU1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QkFBQywrQkFBK0I7Z0JBUTVDLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSzlCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBS2pDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLDZCQUE2QjtnQkFlM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgRGVzdHJveVJlZixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBpbmplY3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE5lc3RlZExpc3RDb250ZW50XSwgW2ZkLW5lc3RlZC1saXN0LWNvbnRlbnRdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHRhYmluZGV4OiAnMCdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKiogV2hldGhlciB0aGlzIGVsZW1lbnQgaXMgc2VsZWN0ZWQqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1zZWxlY3RlZCcpXG4gICAgc2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAndHJlZWl0ZW0nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgYXJpYUV4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIHNlbGVjdGVkIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICBzZWxlY3RlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIGFueSBrZXlib2FyZCBldmVudCBpcyBkaXNwYXRjaGVkIG9uIHRoaXMgZWxlbWVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGtleWJvYXJkVHJpZ2dlcmVkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhhdCBpcyB0aHJvd24sIHdoZW4gdGhpcyBlbGVtZW50IGlzIGNsaWNrZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBjbGlja2VkOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2NvbnRlbnQnKVxuICAgIGZkTmVzdGVkTGlzdENvbnRlbnRDbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogQXR0cmlidXRlIGNvbnRyb2xsZWQgYnkgdGhlIHBhcmVudCBgTmVzdGVkSXRlbURpcmVjdGl2ZWBcbiAgICAgKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1jaGlsZCcpXG4gICAgaGFzQ2hpbGRyZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaW5rRGlyZWN0aXZlKVxuICAgIG5lc3RlZExpbms6IE5lc3RlZExpbmtEaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQpXG4gICAgbmVzdGVkRXhwYW5kSWNvbjogTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQ7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBLZXlib2FyZCBFdmVudCBIYW5kbGVyICovXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHRoaXMua2V5Ym9hcmRUcmlnZ2VyZWQuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd24ubmV4dChldmVudCk7XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIG1vdXNlIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcbiAgICBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5jbGljay5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX21ha2VMaW5rVW5Gb2N1c2FibGUoKTtcbiAgICAgICAgdGhpcy5fc2V0Rm9jdXNTdWJzY3JpcHRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRvIHRyaWdnZXIgc2VsZWN0ZWQgc3RhdGUgY2hhbmdlICovXG4gICAgY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZCA9IHNlbGVjdGVkO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQoc2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIC8qKiBFeHBhbmRlZCBzdGF0ZSBjaGFuZ2UgcHJvcGFnYXRpb24gbWV0aG9kICovXG4gICAgY2hhbmdlRXhwYW5kZWRTdGF0ZShleHBhbmRlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZXN0ZWRFeHBhbmRJY29uKSB7XG4gICAgICAgICAgICB0aGlzLm5lc3RlZEV4cGFuZEljb24uY2hhbmdlRXhwYW5kZWRTdGF0ZShleHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50LiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogRGlzcGF0Y2hlcyB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGVsZW1lbnQgKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICBpZiAodGhpcy5uZXN0ZWRMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm5lc3RlZExpbmsuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBBZGQgc3Vic2NyaXB0aW9uIGZvciBjaGlsZCBmb2N1c2luZyAqL1xuICAgIHByaXZhdGUgX3NldEZvY3VzU3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5mb2N1cy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuZm9jdXMoKSk7XG4gICAgfVxuXG4gICAgLyoqIEhpZGUgbGluayBjaGlsZCBlbGVtZW50IGZyb20gdGFiIGtleSAqL1xuICAgIHByaXZhdGUgX21ha2VMaW5rVW5Gb2N1c2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm5lc3RlZExpbmspIHtcbiAgICAgICAgICAgIHRoaXMubmVzdGVkTGluay50YWJJbmRleCA9IC0xO1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { DestroyRef, Inject, Injectable, inject } from '@angular/core';\nimport { KeyUtil, destroyObservable } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject, merge } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 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) {\n this.keyboardService = keyboardService;\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 /** @hidden */\n this._destroyRef = inject(DestroyRef);\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(merge(this.refresh$, destroyObservable(this._destroyRef))))\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 if (KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n if (KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n if (KeyUtil.isKeyCode(keyboardEvent, [ENTER, SPACE])) {\n if (item.hasChildren) {\n items[index].click();\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 }], 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: i1.MenuKeyboardService, decorators: [{\n type: Inject,\n args: [MenuKeyboardService]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUkzQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBVWxDLGNBQWM7SUFDZCxZQUFpRCxlQUFvQztRQUFwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFWckY7OztXQUdHO1FBQ00sYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXZELGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUdzQyxDQUFDO0lBRXpGOzs7T0FHRztJQUNILFlBQVksQ0FBQyxLQUE0QjtRQUNyQyxNQUFNLEtBQUssR0FBMEIsRUFBRSxDQUFDO1FBRXhDLGlDQUFpQztRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUks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QXRGUSx5QkFBeUIsa0JBV2QsbUJBQW1CO2tIQVg5Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQVlNLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3QsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCwgZGVzdHJveU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBNZW51S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIE5lc3RlZCBsaXN0IGtleWJvYXJkIHNlcnZpY2UsIHdoaWNoIHVzZXMgTWVudUtleWJvYXJkU2VydmljZSwgdG8gZGVhbCB3aXRoIEFycm93VXAsIEFycm93RG93biwgU3BhY2UsIEVudGVyLlxuICogQWxzbyBoYXMgb3duIGhhbmRsaW5nIG9mIEFycm93TGVmdCBhbmQgQXJyb3dSaWdodCwgdG8gb3Blbi9jbG9zZSB0aGUgbWVudSBpZiBpdCBoYXMgYW55IGNoaWxkcmVuLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogRXZlbnQsIHRoYXQgaXMgdGhyb3duIGFsd2F5cywgd2hlbiB0aGUgb3Blbi9jbG9zZSBpIGJlaW5nIGNhbGxlZCBvbiBpdGVtIGNvbXBvbmVudHMuXG4gICAgICogQWxzbyB0cmlnZ2VycyBjaGFuZ2luZyBvZiBlbGVtZW50cywgdG8gcmVtb3ZlIGNsb3NlZC9oaWRkZW4gZWxlbWVudHNcbiAgICAgKi9cbiAgICByZWFkb25seSByZWZyZXNoJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTWVudUtleWJvYXJkU2VydmljZSkgcHJpdmF0ZSBrZXlib2FyZFNlcnZpY2U6IE1lbnVLZXlib2FyZFNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiBjYWxsZWQgYWZ0ZXIgcmVmcmVzaCQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIFJlZnJlc2ggdGhlIGxpc3Qgb2YgTmVzdGVkSXRlbXMsIHRoYXQgdGhlIGtleWJvYXJkIHN1cHBvcnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZvclxuICAgICAqL1xuICAgIHJlZnJlc2hJdGVtcyhsaXN0czogTmVzdGVkTGlzdEludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcblxuICAgICAgICAvKiogR2F0aGVyaW5nIGFsbCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgbGlzdHMuZm9yRWFjaCgobGlzdCkgPT4gaXRlbXMucHVzaCguLi50aGlzLl9nZXRBbGxMaXN0SXRlbXMobGlzdCkpKTtcbiAgICAgICAgLyoqIFB1dHRpbmcgdGhlIGtleWJvYXJkIHN1cHBvcnQgZnVuY3Rpb24gdG8gZWFjaCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0ua2V5Ym9hcmRUcmlnZ2VyZWRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5yZWZyZXNoJCwgZGVzdHJveU9ic2VydmFibGUodGhpcy5fZGVzdHJveVJlZikpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcykpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlIGZ1bmN0aW9uIHRvIGdldCBhbGwgb2YgdGhlIE5lc3RlZEl0ZW0gZWxlbWVudHMgaW4gY29ycmVjdCBvcmRlci4gKi9cbiAgICBwcml2YXRlIF9nZXRJdGVtcyhpdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5JdGVtcyA9IGl0ZW0uZXhwYW5kZWQgPyBpdGVtLmFsbENoaWxkcmVuSXRlbXMgOiBbXTtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuSXRlbXMucmVkdWNlKFxuICAgICAgICAgICAgKGFjdHVhbEFycmF5OiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10sIG5leHRJdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYWN0dWFsQXJyYXksXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZ2V0SXRlbXMobmV4dEl0ZW0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW2l0ZW1dXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNhbGxzIHRoZSByZWN1cnNpdmUgZnVuY3Rpb24sIGdldEl0ZW1zKCkgYW5kIGdhdGhlcnMgYWxsIG9mIHRoZSBpdGVtcyBpbiB0aGUgTmVzdGVkTGlzdCAqL1xuICAgIHByaXZhdGUgX2dldEFsbExpc3RJdGVtcyhsaXN0OiBOZXN0ZWRMaXN0SW50ZXJmYWNlKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgY29uc3QgX2l0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC5uZXN0ZWRJdGVtcyAmJiBsaXN0Lm5lc3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxpc3QubmVzdGVkSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIF9pdGVtcy5wdXNoKC4uLnRoaXMuX2dldEl0ZW1zKGl0ZW0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIF9pdGVtcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBLZXlib2FyZCBoYW5kbGUgZnVuY3Rpb24uIFVzZXMga2V5Ym9hcmQgc3VwcG9ydCBzZXJ2aWNlIGZyb20gTWVudUNvbXBvbmVudCwgdG8gZGVhbCB3aXRoIEFycm93VXAsIEFycm93RG93biwgU3BhY2UsIEVudGVyLlxuICAgICAqIEZvciBBcnJvd1JpZ2h0LCBpZiBpdGVtIGlzIG5vdCBleHBhbmRlZCBhbmQgaGFzIGNoaWxkcmVuIChsaXN0IG9yIHBvcHVwKSwgdGhlIG9wZW4gZnVuY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAqIE90aGVyd2lzZSBpdCBmb2xsb3dzIEFycm93RG93biBmdW5jdGlvbmFsaXR5LlxuICAgICAqIEZvciBBcnJvd0xlZnQsIGlmIGl0ZW0gaXMgZXhwYW5kZWQgYW5kIGhhcyBjaGlsZHJlbiAobGlzdCBvciBwb3B1cCksIHRoZSBjbG9zZSBmdW5jdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAgICogT3RoZXJ3aXNlIGl0IGZvbGxvd3MgQXJyb3dVcCBmdW5jdGlvbmFsaXR5XG4gICAgICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyLCBpdGVtczogTmVzdGVkSXRlbUludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IE5lc3RlZEl0ZW1JbnRlcmZhY2UgPSBpdGVtc1tpbmRleF07XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFJJR0hUX0FSUk9XKSkge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJPcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgTEVGVF9BUlJPVykpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtc1tpbmRleF0uY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlLmtleURvd25IYW5kbGVyKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcyk7XG4gICAgfVxufVxuIl19","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVJOzs7V0FHRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEI7O1dBRUc7UUFDSCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGNBQWM7UUFDZCxlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7S0FDdkQ7OEdBZFksc0JBQXNCO2tIQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhlIGNvbmRlbnNlZCBzdGF0ZSBpcyBtb2RpZmllZCBieSB0aGUgcGFyZW50IGFuZCByZWFkIGJ5IG5lc3RlZCBsaXN0cy5cbiAgICAgKi9cbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZWxlY3RhYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25TZWxlY3RlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xufVxuIl19","import { ContentChild, DestroyRef, Directive, EventEmitter, HostBinding, Input, Output, 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 { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\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 NestedItemDirective {\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) {\n this._itemService = _itemService;\n this._keyboardService = _keyboardService;\n this._stateService = _stateService;\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 /** @hidden */\n this._ariaLevel = null;\n /** @hidden */\n this._ariaExpanded = null;\n /** @hidden */\n this._ariaSelected = null;\n /** @hidden */\n this._ariaDisabled = false;\n /** @hidden */\n this._ariaHidden = true;\n /** @hidden */\n this._expanded = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\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.contentItem) {\n this.contentItem.click();\n }\n else if (this.linkItem) {\n this.linkItem.click();\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 /**\n * Propagate to child content directive, which contains icon and link\n */\n if (this.contentItem) {\n this.contentItem.changeExpandedState(open);\n this.contentItem.ariaExpanded = this._expanded;\n }\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n /** 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 /** 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 /** 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: NestedItemDirective, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedItemDirective, isStandalone: true, selector: \"[fdNestedItem], [fd-nested-list-item]\", inputs: { expanded: \"expanded\" }, outputs: { expandedChange: \"expandedChange\", keyboardTriggered: \"keyboardTriggered\" }, host: { attributes: { \"role\": \"treeitem\" }, properties: { \"class.fd-nested-list__item\": \"this.fdNestedListItemClass\", \"attr.aria-level\": \"this._ariaLevel\", \"attr.title\": \"this._title\", \"attr.role\": \"this._role\", \"attr.aria-expanded\": \"this._ariaExpanded\", \"attr.aria-selected\": \"this._ariaSelected\", \"attr.aria-disabled\": \"this._ariaDisabled\", \"attr.aria-label\": \"this._ariaLabel\", \"attr.aria-hidden\": \"this._ariaHidden\" } }, providers: [NestedItemService], queries: [{ propertyName: \"linkItem\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"contentItem\", first: true, predicate: NestedListContentDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedItem], [fd-nested-list-item]',\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i2.NestedListKeyboardService }, { type: i3.NestedListStateService }], propDecorators: { expanded: [{\n type: Input\n }], expandedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__item']\n }], linkItem: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], contentItem: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }], _ariaLevel: [{\n type: HostBinding,\n args: ['attr.aria-level']\n }], _title: [{\n type: HostBinding,\n args: ['attr.title']\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 }], _ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBRTFELElBQUksMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBVW5DLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsc0NBQXNDO0lBQ3RDLElBQWEsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFzRUQsY0FBYztJQUNkLFlBQ1ksWUFB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UUFBUTtzQkFEUCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFTakMsV0FBVztzQkFEVixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFLOUIsTUFBTTtzQkFETCxXQUFXO3VCQUFDLFlBQVk7Z0JBS2pCLEtBQUs7c0JBRFosV0FBVzt1QkFBQyxXQUFXO2dCQUtoQixhQUFhO3NCQURwQixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLekIsYUFBYTtzQkFEcEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3pCLGFBQWE7c0JBRHBCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt6QixVQUFVO3NCQURqQixXQUFXO3VCQUFDLGlCQUFpQjtnQkFLdEIsV0FBVztzQkFEbEIsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtSW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuXG5sZXQgc2lkZU5hdmlnYXRpb25JdGVtVW5pcXVlSWQgPSAwO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE5lc3RlZEl0ZW1dLCBbZmQtbmVzdGVkLWxpc3QtaXRlbV0nLFxuICAgIHByb3ZpZGVyczogW05lc3RlZEl0ZW1TZXJ2aWNlXSxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICd0cmVlaXRlbSdcbiAgICB9LFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkSXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE5lc3RlZEl0ZW1JbnRlcmZhY2Uge1xuICAgIC8qKiBXaGV0aGVyIGl0ZW0gc2hvdWxkIGJlIGV4cGFuZGVkICovXG4gICAgQElucHV0KCkgc2V0IGV4cGFuZGVkKGV4cGFuZGVkOiBib29sZWFuKSB7XG4gICAgICAgIGlmIChleHBhbmRlZCAhPT0gdGhpcy5fZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIHRoaXMucHJvcGFnYXRlT3BlbkNoYW5nZShleHBhbmRlZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2V4cGFuZGVkO1xuICAgIH1cblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gZXhwYW5kZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGV4cGFuZGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGFueSBrZXlib2FyZCBldmVudCBpcyBkaXNwYXRjaGVkIG9uIHRoaXMsIG9yIGxpbmsgZWxlbWVudCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGtleWJvYXJkVHJpZ2dlcmVkOiBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2l0ZW0nKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBsaW5rIGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0l0ZW06IE5lc3RlZExpbmtEaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW9zdGx5IHVzZWQsIHdoZW4gdGhpcyBpdGVtIGhhcyBsaXN0XG4gICAgICogUmVmZXJlbmNlIHRvIHRoZSBjb250ZW50IGRpcmVjdGl2ZSwgdG8gYWxsb3cgbWFuaXB1bGF0aW5nIHRoZSBwcm9wZXJ0aWVzIG9mIHRoaXMgZWxlbWVudC5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlKVxuICAgIGNvbnRlbnRJdGVtOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtbGV2ZWwnKVxuICAgIF9hcmlhTGV2ZWw6IE51bGxhYmxlPG51bWJlcj4gPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIudGl0bGUnKVxuICAgIF90aXRsZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJpdmF0ZSBfcm9sZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJpdmF0ZSBfYXJpYUV4cGFuZGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLXNlbGVjdGVkJylcbiAgICBwcml2YXRlIF9hcmlhU2VsZWN0ZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGlzYWJsZWQnKVxuICAgIHByaXZhdGUgX2FyaWFEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgcHJpdmF0ZSBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgcHJpdmF0ZSBfYXJpYUhpZGRlbiA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2V4cGFuZGVkID0gZmFsc2U7XG5cbiAgICAvKiogQW4gUnhKUyBTdWJqZWN0IHRoYXQgd2lsbCBraWxsIHRoZSBkYXRhIHN0cmVhbSB1cG9uIGNvbXBvbmVudOKAmXMgZGVzdHJ1Y3Rpb24gKGZvciB1bnN1YnNjcmliaW5nKSAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgLyoqIFVuaXF1ZSBlbGVtZW50IElEICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWxlbWVudElkOiBzdHJpbmcgPSAnZmROZXN0ZWRJdGVtJyArIHNpZGVOYXZpZ2F0aW9uSXRlbVVuaXF1ZUlkKys7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkU2VydmljZTogTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBfc3RhdGVTZXJ2aWNlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NldFVwU3Vic2NyaXB0aW9ucygpO1xuICAgICAgICB0aGlzLl9wcm9wYWdhdGVIYXNDaGlsZHJlblByb3BlcnR5KCk7XG4gICAgICAgIHRoaXMuX3Bhc3NJdGVtUmVmZXJlbmNlcygpO1xuICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UodGhpcy5fZXhwYW5kZWQpO1xuXG4gICAgICAgIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhU2VsZWN0ZWQgPSB0aGlzLmxpbmtJdGVtLnNlbGVjdGVkO1xuICAgICAgICAgICAgdGhpcy5fYXJpYURpc2FibGVkID0gIXRoaXMuX3N0YXRlU2VydmljZS5zZWxlY3RhYmxlICYmICF0aGlzLmxpbmtJdGVtLnNlbGVjdGVkO1xuICAgICAgICAgICAgdGhpcy5fdGl0bGUgPSB0aGlzLmxpbmtJdGVtLmdldFRpdGxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgdGhlIGl0ZW0gZWxlbWVudCBoYXMgYW55IGNoaWxkICovXG4gICAgZ2V0IGhhc0NoaWxkcmVuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtU2VydmljZT8ubGlzdDtcbiAgICB9XG5cbiAgICAvKiogR2V0IGFsbCBvZiB0aGUgY2hpbGRyZW4gaXRlbSBlbGVtZW50cyAqL1xuICAgIGdldCBhbGxDaGlsZHJlbkl0ZW1zKCk6IE5lc3RlZEl0ZW1JbnRlcmZhY2VbXSB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZT8ubGlzdCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMudG9BcnJheSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBleHBhbmQgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRyaWdnZXJPcGVuKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UodHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgY2xvc2UgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRyaWdnZXJDbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZXhwYW5kZWQpIHtcbiAgICAgICAgICAgIC8qKiBQcm9wYWdhdGUgaW5pdGlhbCBvcGVuIHN0YXRlIHRvIGNoaWxkcmVuICovXG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IHRvZ2dsZSB0aGUgaXRlbSBhbmQgcHJvcGFnYXRlIGl0IHRvIGNoaWxkcmVuICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoIXRoaXMuX2V4cGFuZGVkKTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZGlzcGF0Y2hlcyBgY2xpY2tgIGV2ZW50IG9uIGxpbmsgaXRlbSovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNsaWNrKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5jbGljaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGZvY3VzZXMgbGluayBpdGVtKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gaWYgZWxlbWVudCwgb3IgY2hpbGRyZW4gb2YgdGhpcyBlbGVtZW50IGhhcyBwYXNzZWQgaWQgKi9cbiAgICBjb250YWluc0lkKGlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuX2VsZW1lbnRJZCA9PT0gaWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiAhIXRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QubmVzdGVkSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbS5jb250YWluc0lkKGlkKSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFByb3BhZ2F0ZSBvcGVuIHN0YXRlIHRvIGFsbCBvZiB0aGUgY2hpbGRyZW5cbiAgICAgKi9cbiAgICBwcml2YXRlIHByb3BhZ2F0ZU9wZW5DaGFuZ2Uob3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLl9leHBhbmRlZCA9IG9wZW47XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IHRoaXMuX2V4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFByb3BhZ2F0ZSB0byBjaGlsZCBjb250ZW50IGRpcmVjdGl2ZSwgd2hpY2ggY29udGFpbnMgaWNvbiBhbmQgbGlua1xuICAgICAgICAgKi9cbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlRXhwYW5kZWRTdGF0ZShvcGVuKTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uYXJpYUV4cGFuZGVkID0gdGhpcy5fZXhwYW5kZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvcGFnYXRlIGhpZGRlbiBmbGFnIHRvIGxpc3QgY29tcG9uZW50LCB0aGF0IGlzIHBhc3NlZCBmcm9tIGNoaWxkICovXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5saXN0LmhpZGRlbiA9ICFvcGVuO1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogUHJvcGFnYXRlIG9wZW4gZmxhZyB0byBwb3BvdmVyIGxpc3QgY29tcG9uZW50LCB0aGF0IGlzIHBhc3NlZCBmcm9tIGNoaWxkICovXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLm9wZW4gPSBvcGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIElmIHRoZXJlIGFyZSBhbnkgbGlzdCBiZWxvd1xuICAgICAgICAgKiBUcmlnZ2VyIGV2ZW50IHRvIHByb3ZpZGUga2V5Ym9hcmQgc3VwcG9ydCB0byBuZXcgbGlzdCBvZiBvcGVuZWQgaXRlbSBlbGVtZW50LlxuICAgICAgICAgKiAqL1xuICAgICAgICBpZiAodGhpcy5fc2hvdWxkUmVmcmVzaEtleWJvYXJkU2VydmljZSgpKSB7XG4gICAgICAgICAgICB0aGlzLl9rZXlib2FyZFNlcnZpY2UucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBhbmRlZENoYW5nZS5lbWl0KG9wZW4pO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfc2hvdWxkUmVmcmVzaEtleWJvYXJkU2VydmljZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgfHwgdGhpcy5faXRlbVNlcnZpY2UubGlzdCB8fCB0aGlzLmNvbnRlbnRJdGVtKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldFVwU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX3N0YXRlU2VydmljZS5jb25kZW5zZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnbWVudWl0ZW1yYWRpbyc7XG4gICAgICAgIH1cblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnRvZ2dsZS5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlKCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gbW91c2UgY2xpY2sgZXZlbnQsIHRocm93biBieSBsaW5rIGl0ZW0gKi9cbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2tcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWQubmV4dCh0aGlzLl9lbGVtZW50SWQpKTtcblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIGtleWJvYXJkIGV2ZW50IGFuZCB0aHJvdyBpdCBmYXJ0aGVyICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmtleURvd25cbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGtleWJvYXJkRXZlbnQpID0+IHRoaXMua2V5Ym9hcmRUcmlnZ2VyZWQuZW1pdChrZXlib2FyZEV2ZW50KSk7XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2UsIGl0J3Mgbm90IHRyaWdnZXJlZCwgd2hlbiBzZWxlY3RhYmxlIGZsYWcgaXMgZGlzYWJsZWQqL1xuICAgICAgICB0aGlzLl9zdGF0ZVNlcnZpY2Uub25TZWxlY3RlZFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuX2Rlc3Ryb3lSZWYpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiB0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGlkKSA9PiB0aGlzLl9zZWxlY3RlZENoYW5nZShpZCkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0gJiYgdGhpcy5oYXNDaGlsZHJlbikge1xuICAgICAgICAgICAgdGhpcy5fYXJpYUV4cGFuZGVkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmhhc0NoaWxkcmVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBQYXNzIHRoaXMgZWxlbWVudCB0byBwb3BvdmVyIGNoaWxkIGl0ZW0sIHRvIGFsbG93IGNvbnRyb2wgYGV4cGFuZGVkYCB2YWx1ZSAqL1xuICAgIHByaXZhdGUgX3Bhc3NJdGVtUmVmZXJlbmNlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIucGFyZW50SXRlbUVsZW1lbnQgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoYW5nZSBvZiBzZWxlY3RlZCBzdGF0ZSBvZiBjb250ZW50IG9yIGxpbmssIGlmIHRoZXJlIGlzIGFueSBjaGlsZHJlbiB3aXRoIEkgKi9cbiAgICBwcml2YXRlIF9zZWxlY3RlZENoYW5nZShpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5jb250YWluc0lkKGlkKTtcbiAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gc2VsZWN0ZWQ7XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGVudEl0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMuY29udGVudEl0ZW0uY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2hhbmdlU2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19","import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Input, Optional, ViewChild, ViewEncapsulation, computed } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListTitleDirective } from '../nested-list-directives';\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\";\nexport class NestedListPopoverComponent {\n /** @hidden */\n constructor(_keyboardNestService, _itemService, _rtlService) {\n this._keyboardNestService = _keyboardNestService;\n this._itemService = _itemService;\n this._rtlService = _rtlService;\n /** @hidden\n * For Internal Usage - Gets information about title, which should be displayed inside popover\n */\n this.title = '';\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 ngAfterContentInit() {\n if (!this.title) {\n this.title = this._getTitle();\n }\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 /** Returns title of nested link element inside content directive */\n _getTitle() {\n if (this.contentDirective && this.contentDirective.nestedLink) {\n return this.contentDirective.nestedLink.getTitle();\n }\n else {\n return '';\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 }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListPopoverComponent, isStandalone: true, selector: \"fd-nested-list-popover\", inputs: { title: \"title\" }, host: { properties: { \"class.fd-nested-list__popover\": \"this.popoverClass\" } }, queries: [{ propertyName: \"linkDirective\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"contentDirective\", first: true, predicate: NestedListContentDirective, 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>\\n <fd-popover-control>\\n <ng-content select=\\\"[fd-nested-list-link]\\\"></ng-content>\\n <ng-content select=\\\"[fd-nested-list-content]\\\"></ng-content>\\n </fd-popover-control>\\n <fd-popover-body class=\\\"fd-nested-list--text-only\\\">\\n <a fd-nested-list-link class=\\\"fd-nested-list__popover-header\\\">\\n <span fd-nested-list-title>{{ title }}</span>\\n </a>\\n <ng-content select=\\\"[fd-nested-list]\\\"></ng-content>\\n <ng-content select=\\\"fd-prepared-nested-list\\\"></ng-content>\\n </fd-popover-body>\\n</fd-popover>\\n\", styles: [\".fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__title{display:inline-flex}.fd-side-nav--condensed .fd-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fd-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__link,.fd-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fd-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\"] }, { kind: \"directive\", type: NestedLinkDirective, selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: NestedListTitleDirective, selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\" }], 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: 'fd-nested-list-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyComponent,\n NestedLinkDirective,\n NestedListTitleDirective\n ], template: \"<fd-popover\\n [placement]=\\\"placement$()\\\"\\n [triggers]=\\\"['click']\\\"\\n [noArrow]=\\\"false\\\"\\n [isOpen]=\\\"open\\\"\\n (isOpenChange)=\\\"handleOpenChange($event)\\\"\\n>\\n <fd-popover-control>\\n <ng-content select=\\\"[fd-nested-list-link]\\\"></ng-content>\\n <ng-content select=\\\"[fd-nested-list-content]\\\"></ng-content>\\n </fd-popover-control>\\n <fd-popover-body class=\\\"fd-nested-list--text-only\\\">\\n <a fd-nested-list-link class=\\\"fd-nested-list__popover-header\\\">\\n <span fd-nested-list-title>{{ title }}</span>\\n </a>\\n <ng-content select=\\\"[fd-nested-list]\\\"></ng-content>\\n <ng-content select=\\\"fd-prepared-nested-list\\\"></ng-content>\\n </fd-popover-body>\\n</fd-popover>\\n\", styles: [\".fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__title{display:inline-flex}.fd-side-nav--condensed .fd-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fd-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__link,.fd-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fd-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 }] }], propDecorators: { title: [{\n type: Input\n }], popoverComponent: [{\n type: ViewChild,\n args: [PopoverComponent]\n }], popoverClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__popover']\n }], linkDirective: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], contentDirective: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QtcG9wb3Zlci9uZXN0ZWQtbGlzdC1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUU3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFpQjVFLE1BQU0sT0FBTywwQkFBMEI7SUFtQ25DLGNBQWM7SUFDZCxZQUNZLG9CQUErQyxFQUNuQyxZQUErQixFQUMvQixXQUF1QjtRQUZuQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFt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biAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLW5lc3RlZC1saXN0LXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXN0ZWQtbGlzdC1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZvciBJbnRlcm5hbCBVc2FnZSAtIEdldHMgaW5mb3JtYXRpb24gYWJvdXQgdGl0bGUsIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgICBwb3BvdmVyQ29tcG9uZW50OiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19wb3BvdmVyJylcbiAgICBwb3BvdmVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0RpcmVjdGl2ZTogTmVzdGVkTGlua0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSlcbiAgICBjb250ZW50RGlyZWN0aXZlOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZWZlcmVuY2UgdG8gcGFyZW50IGl0ZW0sIHRvIHByb3BhZ2F0ZSBvcGVuIGFuZCBjbG9zZSBjaGFuZ2UgZnJvbSBwb3BvdmVyLlxuICAgICAqL1xuICAgIHBhcmVudEl0ZW1FbGVtZW50OiBOZXN0ZWRJdGVtSW50ZXJmYWNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwbGFjZW1lbnQkID0gY29tcHV0ZWQ8UGxhY2VtZW50PigoKSA9PiAodGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCkgPyAnbGVmdC1zdGFydCcgOiAncmlnaHQtc3RhcnQnKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkTmVzdFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpO1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX2dldFRpdGxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgY2FsbGVkLCB3aGVuIG9wZW4gc3RhdGUgaXMgY2hhbmdlZCwgZnJvbSBwb3BvdmVyIGNvbXBvbmVudCAoZXNjYXBlIGtleSwgb3V0c2lkZSBjbGljaykuXG4gICAgICovXG4gICAgaGFuZGxlT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgICAgIGlmICh0aGlzLnBhcmVudEl0ZW1FbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50SXRlbUVsZW1lbnQudHJpZ2dlck9wZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRJdGVtRWxlbWVudC50cmlnZ2VyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRpdGxlIG9mIG5lc3RlZCBsaW5rIGVsZW1lbnQgaW5zaWRlIGNvbnRlbnQgZGlyZWN0aXZlICovXG4gICAgcHJpdmF0ZSBfZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudERpcmVjdGl2ZSAmJiB0aGlzLmNvbnRlbnREaXJlY3RpdmUubmVzdGVkTGluaykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudERpcmVjdGl2ZS5uZXN0ZWRMaW5rLmdldFRpdGxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uS2V5Ym9hcmRSZWZyZXNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZE5lc3RTZXJ2aWNlLnJlZnJlc2gkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAvKiogVXBkYXRlIHBvcG92ZXIgcG9zaXRpb24sIG9uIGxpc3Qgb2YgaGlkZGVuIGl0ZW1zIGNoYW5nZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudC5yZWZyZXNoUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGZkLXBvcG92ZXJcbiAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudCQoKVwiXG4gICAgW3RyaWdnZXJzXT1cIlsnY2xpY2snXVwiXG4gICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgIFtpc09wZW5dPVwib3BlblwiXG4gICAgKGlzT3BlbkNoYW5nZSk9XCJoYW5kbGVPcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1uZXN0ZWQtbGlzdC1saW5rXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLW5lc3RlZC1saXN0LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgIDxmZC1wb3BvdmVyLWJvZHkgY2xhc3M9XCJmZC1uZXN0ZWQtbGlzdC0tdGV4dC1vbmx5XCI+XG4gICAgICAgIDxhIGZkLW5lc3RlZC1saXN0LWxpbmsgY2xhc3M9XCJmZC1uZXN0ZWQtbGlzdF9fcG9wb3Zlci1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGZkLW5lc3RlZC1saXN0LXRpdGxlPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1uZXN0ZWQtbGlzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXByZXBhcmVkLW5lc3RlZC1saXN0XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuIl19","import { ChangeDetectorRef, ContentChild, ContentChildren, Directive, ElementRef, forwardRef, HostBinding, Inject, INJECTOR, Input, Optional, QueryList } from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\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-keyboard.service\";\nimport * as i3 from \"../nested-list-state.service\";\nimport * as i4 from \"@fundamental-ngx/core/content-density\";\nimport * as i5 from \"rxjs\";\nfunction provideNestedListStateService() {\n // Nested list can be nested, and that will cause on each individual instance of NestedListStateService.\n return {\n provide: NestedListStateService,\n useFactory: (injector) => injector.get(NestedListStateService, new NestedListStateService(), { skipSelf: true }),\n deps: [INJECTOR]\n };\n}\n/**\n * <div fd-nested-list>\n * <div fd-nested-list>\n * </div>\n * </div>\n */\nexport class NestedListDirective {\n /** @hidden */\n constructor(_nestedItemService, _nestedListKeyboardService, _elementRef, _changeDetectionRef, _nestedListStateService, _language$, _contentDensityObserver) {\n this._nestedItemService = _nestedItemService;\n this._nestedListKeyboardService = _nestedListKeyboardService;\n this._elementRef = _elementRef;\n this._changeDetectionRef = _changeDetectionRef;\n this._nestedListStateService = _nestedListStateService;\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._subscriptions = new Subscription();\n /** @hidden */\n this._translationResolver = new TranslationResolver();\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n /** @hidden */\n ngAfterContentInit() {\n let nestedLevel = this._getNestedLevel();\n /** If there is condensed mode, maximum 2nd level class of nest can be added */\n if (this._nestedListStateService.condensed) {\n nestedLevel = Math.min(...[nestedLevel, 2]);\n }\n this._setAccessibilityProperties(nestedLevel);\n const sub = combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n });\n this._subscriptions.add(sub);\n this._handleNestedLevel(nestedLevel);\n }\n /** @hidden */\n detectChanges() {\n this._changeDetectionRef.markForCheck();\n }\n /** @hidden */\n _handleNestedLevel(level) {\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + level);\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 of the parentNode elements of current NestedListDirective element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n /** Filter only elements, that has `fd-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fd-nested-list'));\n return filteredParentElements.length;\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: NestedListDirective, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i3.NestedListStateService }, { token: FD_LANGUAGE }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListDirective, isStandalone: true, selector: \"[fdNestedList], [fd-nested-list]\", inputs: { textOnly: \"textOnly\", ariaRoledescriptionTree: \"ariaRoledescriptionTree\", ariaRoledescriptionMenuBar: \"ariaRoledescriptionMenuBar\", ariaLabelSelected: \"ariaLabelSelected\" }, host: { properties: { \"class.fd-nested-list--text-only\": \"this.textOnly\", \"class.fd-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: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ], queries: [{ propertyName: \"_nestedListHeader\", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: \"nestedItems\", predicate: i0.forwardRef(() => NestedItemDirective) }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedList], [fd-nested-list]',\n providers: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i2.NestedListKeyboardService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i3.NestedListStateService }, { type: i5.Observable, decorators: [{\n type: Inject,\n args: [FD_LANGUAGE]\n }] }, { type: i4.ContentDensityObserver }], propDecorators: { textOnly: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-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.fd-nested-list']\n }], hidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], nestedItems: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedItemDirective)]\n }], _nestedListHeader: [{\n type: ContentChild,\n args: [NestedListHeaderDirective]\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saXN0L25lc3RlZC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBRVIsS0FBSyxFQUVMLFFBQVEsRUFFUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFjLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFHdEUsU0FBUyw2QkFBNkI7SUFDbEMsd0dBQXdHO0lBQ3hHLE9BQU87UUFDSCxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUMvQixRQUFR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Q29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBmb3J3YXJkUmVmLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBJbmplY3RvcixcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3B0aW9uYWwsXG4gICAgUHJvdmlkZXIsXG4gICAgUXVlcnlMaXN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgc3RhcnRXaXRoLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBDb250ZW50RGVuc2l0eU9ic2VydmVyLCBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL2NvbnRlbnQtZGVuc2l0eSc7XG5pbXBvcnQgeyBNZW51S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgRkRfTEFOR1VBR0UsIEZkTGFuZ3VhZ2UsIFRyYW5zbGF0aW9uUmVzb2x2ZXIgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgTmVzdGVkSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QuaW50ZXJmYWNlJztcblxuZnVuY3Rpb24gcHJvdmlkZU5lc3RlZExpc3RTdGF0ZVNlcnZpY2UoKTogUHJvdmlkZXIge1xuICAgIC8vIE5lc3RlZCBsaXN0IGNhbiBiZSBuZXN0ZWQsIGFuZCB0aGF0IHdpbGwgY2F1c2Ugb24gZWFjaCBpbmRpdmlkdWFsIGluc3RhbmNlIG9mIE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZSxcbiAgICAgICAgdXNlRmFjdG9yeTogKGluamVjdG9yOiBJbmplY3RvcikgPT5cbiAgICAgICAgICAgIGluamVjdG9yLmdldChOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLCBuZXcgTmVzdGVkTGlzdFN0YXRlU2VydmljZSgpLCB7IHNraXBTZWxmOiB0cnVlIH0pLFxuICAgICAgICBkZXBzOiBbSU5KRUNUT1JdXG4gICAgfTtcbn1cblxuLyoqXG4gKiA8ZGl2IGZkLW5lc3RlZC1saXN0PlxuICogIDxkaXYgZmQtbmVzdGVkLWxpc3Q+XG4gKiAgPC9kaXY+XG4gKiA8L2Rpdj5cbiAqL1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE5lc3RlZExpc3RdLCBbZmQtbmVzdGVkLWxpc3RdJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgY29udGVudERlbnNpdHlPYnNlcnZlclByb3ZpZGVycygpLFxuICAgICAgICBNZW51S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBwcm92aWRlTmVzdGVkTGlzdFN0YXRlU2VydmljZSgpXG4gICAgXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3REaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRMaXN0SW50ZXJmYWNlLCBPbkRlc3Ryb3kge1xuICAgIC8qKiBJbiBjYXNlIHRoZSB1c2VyIHdhbnRzIHRvIG5vIHVzZSBpY29ucyBmb3IgaXRlbXMgaW4gdGhpcyBsaXN0ICovXG4gICAgQElucHV0KClcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0LS10ZXh0LW9ubHknKVxuICAgIHRleHRPbmx5ID0gZmFsc2U7XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIHJvbGUgZGVzY3JpcHRpb24gZm9yIHRoZSBOZXN0ZWQgTGlzdCBUcmVlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYVJvbGVkZXNjcmlwdGlvblRyZWUgPSAnTmF2aWdhdGlvbiBMaXN0IFRyZWUnO1xuXG4gICAgLyoqIEFyaWEgZGVmaW5lcyByb2xlIGRlc2NyaXB0aW9uIGZvciB0aGUgTmVzdGVkIExpc3QgTWVudUJhci4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFSb2xlZGVzY3JpcHRpb25NZW51QmFyID0gJ05hdmlnYXRpb24gTGlzdCBNZW51IEJhcic7XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIGFyaWEgbGFiZWwgZm9yIHRoZSBzZWxlY3RlZCBpdGVtIHdoZW4gdGhlIGxpc3Qgd2l0aCBkaXNhYmxlZCBzZWxlY3Rpb24uICovXG4gICAgQElucHV0KClcbiAgICBhcmlhTGFiZWxTZWxlY3RlZCA9ICdTZWxlY3RlZCc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3QnKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhpZGRlbicpXG4gICAgaGlkZGVuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhpcyB2YXJpYWJsZSBpcyBtb3N0bHkgdG8ga2VlcCB0cmFjayBvZiB0aGlzIGxpc3QncyBjaGlsZHJlbi4gVGhlcmUgaXMgbm90IHVzYWdlIG9mIGl0IGluc2lkZSB0aGlzIGRpcmVjdGl2ZSxcbiAgICAgKiBidXQgaXQncyB1c2VkIGJ5IHNlcnZpY2VzIGFuZCBOZXN0ZWRJdGVtRGlyZWN0aXZlIGJ5IGl0c2VsZixcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkcmVuKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkSXRlbURpcmVjdGl2ZSkpXG4gICAgbmVzdGVkSXRlbXM6IFF1ZXJ5TGlzdDxOZXN0ZWRJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlKVxuICAgIHByaXZhdGUgX25lc3RlZExpc3RIZWFkZXI6IE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICBwcml2YXRlIF9yb2xlID0gJ3RyZWUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKVxuICAgIHByaXZhdGUgX2FyaWFSb2xlZGVzY3JpcHRpb246IE51bGxhYmxlPHN0cmluZz4gPSB0aGlzLmFyaWFSb2xlZGVzY3JpcHRpb25UcmVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oYXNwb3B1cCcpXG4gICAgcHJpdmF0ZSBfYXJpYUhhc3BvcHVwOiBOdWxsYWJsZTxzdHJpbmc+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgICBwcml2YXRlIF90YWJpbmRleCA9ICctMSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbmVzdGVkSXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlOiBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb25SZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZXN0ZWRJdGVtU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fbmVzdGVkSXRlbVNlcnZpY2UubGlzdCA9IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBsZXQgbmVzdGVkTGV2ZWw6IG51bWJlciA9IHRoaXMuX2dldE5lc3RlZExldmVsKCk7XG4gICAgICAgIC8qKiBJZiB0aGVyZSBpcyBjb25kZW5zZWQgbW9kZSwgbWF4aW11bSAybmQgbGV2ZWwgY2xhc3Mgb2YgbmVzdCBjYW4gYmUgYWRkZWQgKi9cbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICBuZXN0ZWRMZXZlbCA9IE1hdGgubWluKC4uLltuZXN0ZWRMZXZlbCwgMl0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMobmVzdGVkTGV2ZWwpO1xuXG4gICAgICAgIGNvbnN0IHN1YiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2xhbmd1YWdlJCwgdGhpcy5uZXN0ZWRJdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKFtsYW5nXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX25lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldEFyaWFBdHRyaWJ1dGVzKG5lc3RlZExldmVsLCBsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuXG4gICAgICAgIHRoaXMuX2hhbmRsZU5lc3RlZExldmVsKG5lc3RlZExldmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvblJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZU5lc3RlZExldmVsKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLyoqIEFkZGluZyBjbGFzcyB3aXRoIHRoZSBuZXN0ZWQgbGV2ZWwgKi9cbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xldmVsLScgKyBsZXZlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1ldGhvZCwgdGhhdCBjaGVja3MgaG93IGRlZXAgaXMgdGhlIGxpc3QgZWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldE5lc3RlZExldmVsKCk6IG51bWJlciB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50czogRWxlbWVudFtdID0gW107XG5cbiAgICAgICAgLyoqIE1ldGhvZCB0aGF0IGdhdGhlcnMgYWxsIG9mIHRoZSBwYXJlbnROb2RlIGVsZW1lbnRzIG9mIGN1cnJlbnQgTmVzdGVkTGlzdERpcmVjdGl2ZSBlbGVtZW50ICovXG4gICAgICAgIHdoaWxlIChlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHBhcmVudEVsZW1lbnRzLnVuc2hpZnQoZWxlbWVudCk7XG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIEZpbHRlciBvbmx5IGVsZW1lbnRzLCB0aGF0IGhhcyBgZmQtbmVzdGVkLWxpc3RgIGRpcmVjdGl2ZSBhdHRyaWJ1dGUgKi9cbiAgICAgICAgY29uc3QgZmlsdGVyZWRQYXJlbnRFbGVtZW50cyA9IHBhcmVudEVsZW1lbnRzLmZpbHRlcigoX2VsZW1lbnQpID0+IF9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZmQtbmVzdGVkLWxpc3QnKSk7XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFBhcmVudEVsZW1lbnRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFyaWFBdHRyaWJ1dGVzKGxldmVsOiBudW1iZXIsIGxhbmc6IEZkTGFuZ3VhZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBpdGVtLl9hcmlhTGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgICAgIGlmICghaXRlbS5saW5rSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5saW5rSXRlbS5hcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9uZXN0ZWRMaXN0SGVhZGVyPy5pZCB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGl0ZW0ubGlua0l0ZW0uX2FyaWFMYWJlbCA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShsYW5nLCAnY29yZU5lc3RlZExpc3QubGlua0l0ZW1BcmlhTGFiZWwnLCB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1EZXRhaWxzOiBpdGVtLmxpbmtJdGVtLmdldFRpdGxlKCksXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpICsgMSwgLy8gVE9ETzogdGhpcyBwcm9wZXJ0eSBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0cmFuc2xhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IHRoaXMubmVzdGVkSXRlbXMubGVuZ3RoLCAvLyBUT0RPOiB0aGlzIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZERlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiBpdGVtLmxpbmtJdGVtLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnLCAnICsgdGhpcy5hcmlhTGFiZWxTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkICYmIGxldmVsID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhUm9sZWRlc2NyaXB0aW9uID0gdGhpcy5hcmlhUm9sZWRlc2NyaXB0aW9uTWVudUJhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsZXZlbCA+IDEgfHwgKHRoaXMuX25lc3RlZEl0ZW1TZXJ2aWNlPy5wb3BvdmVyICYmICF0aGlzLl9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLmNvbmRlbnNlZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZ3JvdXAnO1xuICAgICAgICAgICAgdGhpcy5fYXJpYVJvbGVkZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2U/LnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFIYXNwb3B1cCA9ICd0cmVlJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListDirective } from '../nested-list/nested-list.directive';\nimport * as i0 from \"@angular/core\";\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 nestedListDirective() {\n return this._nestedListDirective;\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: \"fd-prepared-nested-list\", inputs: { first: \"first\", condensed: \"condensed\", list: \"list\" }, viewQueries: [{ propertyName: \"_nestedListDirective\", first: true, predicate: i0.forwardRef(() => NestedListDirective), descendants: true }], ngImport: i0, template: \"<ul fd-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fd-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fd-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fd-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fd-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n </fd-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 fd-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fd-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 fd-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fd-nested-list-title>{{ item.link.title }}</span>\\n </a>\\n }\\n </ng-template>\\n </li>\\n }\\n }\\n</ul>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: i0.forwardRef(() => PreparedNestedListComponent), selector: \"fd-prepared-nested-list\", inputs: [\"first\", \"condensed\", \"list\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListDirective), selector: \"[fdNestedList], [fd-nested-list]\", inputs: [\"textOnly\", \"ariaRoledescriptionTree\", \"ariaRoledescriptionMenuBar\", \"ariaLabelSelected\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListHeaderDirective), selector: \"[fdNestedDirectivesHeader], [fd-nested-list-header]\", inputs: [\"id\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedItemDirective), selector: \"[fdNestedItem], [fd-nested-list-item]\", inputs: [\"expanded\"], outputs: [\"expandedChange\", \"keyboardTriggered\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListPopoverComponent), selector: \"fd-nested-list-popover\", inputs: [\"title\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListContentDirective), selector: \"[fdNestedListContent], [fd-nested-list-content]\", inputs: [\"selected\"], outputs: [\"selectedChange\", \"keyboardTriggered\", \"clicked\"] }, { kind: \"directive\", type: i0.forwardRef(() => NgTemplateOutlet), selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListExpandIconComponent), selector: \"[fdNestedListExpandIcon], [fd-nested-list-expand-icon]\" }, { kind: \"directive\", type: i0.forwardRef(() => NestedLinkDirective), selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: i0.forwardRef(() => RouterLink), selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListIconComponent), selector: \"[fdNestedDirectivesIcon], [fd-nested-list-icon]\", inputs: [\"role\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListTitleDirective), selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\" }], 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: 'fd-prepared-nested-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NestedListDirective,\n NestedListHeaderDirective,\n NestedItemDirective,\n NestedListPopoverComponent,\n NestedListContentDirective,\n NgTemplateOutlet,\n NestedListExpandIconComponent,\n forwardRef(() => PreparedNestedListComponent),\n NestedLinkDirective,\n RouterLink,\n NestedListIconComponent,\n NestedListTitleDirective\n ], template: \"<ul fd-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fd-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fd-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fd-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fd-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n </fd-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 fd-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fd-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 fd-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fd-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 }], _nestedListDirective: [{\n type: ViewChild,\n args: [forwardRef(() => NestedListDirective)]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQzNCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRTNFOztHQUVHO0FBc0JILE1BQU0sT0FBTywyQkFBMkI7SUFyQnhDO1FBc0JJOzs7O1dBSUc7UUFFSCxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7S0F3QnJCO0lBWkc7OztPQUdHO0lBQ0gsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlLENBQUMsUUFBaUIsRUFBRSxJQUFvQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDOzhHQWxDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrTkFvQlIsbUJBQW1CLGlEQzdEbkQsOHZGQXNEQSw4RURiYSwyQkFBMkIsaUlBZGhDLG1CQUFtQixzTUFDbkIseUJBQXlCLHFJQUN6QixtQkFBbUIsK0tBQ25CLDBCQUEwQiwyR0FDMUIsMEJBQTBCLG9NQUMxQixnQkFBZ0IseUtBQ2hCLDZCQUE2Qix3SEFFN0IsbUJBQW1CLGdNQUNuQixVQUFVLHlQQUNWLHVCQUF1QixtSUFDdkIsd0JBQXdCOzsyRkFHbkIsMkJBQTJCO2tCQXJCdkMsU0FBUzsrQkFDSSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDO3dCQUM3QyxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQzNCOzhCQVNELEtBQUs7c0JBREosS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtY29udGVudC9uZXN0ZWQtbGlzdC1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICAgIE5lc3RlZExpc3RJY29uQ29tcG9uZW50LFxuICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZVxufSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RJdGVtLCBOZXN0ZWRMaXN0TW9kZWwgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1tb2RlbCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBpbnRlcm5hbCB1c2FnZSwgYWxsb3dzIHRvIGdlbmVyYXRlIHRoZSBuZXN0ZWQgbGlzdCBmcm9tIGRlZmluZWQgb2JqZWN0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXByZXBhcmVkLW5lc3RlZC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3REaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZEl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50KSxcbiAgICAgICAgTmVzdGVkTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgUm91dGVyTGluayxcbiAgICAgICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRm9yIGludGVybmFsIHVzYWdlLlxuICAgICAqIERlZmluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBmaXJzdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlyc3QgPSB0cnVlO1xuXG4gICAgLyoqIERlZmluZXMgaWYgbGlzdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNvbmRlbnNlZCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKiBMaXN0IGNvbmZpZ3VyYXRpb24qL1xuICAgIEBJbnB1dCgpXG4gICAgbGlzdDogTnVsbGFibGU8TmVzdGVkTGlzdE1vZGVsPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkTGlzdERpcmVjdGl2ZSkpXG4gICAgX25lc3RlZExpc3REaXJlY3RpdmU6IE5lc3RlZExpc3REaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBJbiBwcmVwYXJlZCBuZXN0ZWQgbGlzdCwgbmVzdGVkIGl0ZW1zIHNob3VsZCBiZSB0YWtlbiBhcyByZWZlcmVuY2Ugb2YgVmlldywgbm90IENvbnRlbnQuXG4gICAgICogVGhlcmUgaXMgZGlyZWN0IHJlZmVyZW5jZSB0byB0aGVzZSBkaXJlY3RpdmVzIGhlcmUuXG4gICAgICovXG4gICAgZ2V0IG5lc3RlZExpc3REaXJlY3RpdmUoKTogTmVzdGVkTGlzdERpcmVjdGl2ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXN0ZWRMaXN0RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4cGFuZGVkQ2hhbmdlKGV4cGFuZGVkOiBib29sZWFuLCBpdGVtOiBOZXN0ZWRMaXN0SXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgfVxufVxuIiwiPHVsIGZkLW5lc3RlZC1saXN0IFt0ZXh0T25seV09XCIhIWxpc3Q/LnRleHRPbmx5XCI+XG4gICAgQGZvciAoaXRlbSBvZiBsaXN0Py5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0uaGVhZGVyVGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSBmZC1uZXN0ZWQtbGlzdC1oZWFkZXI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5oZWFkZXJUaXRsZSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8bGkgZmQtbmVzdGVkLWxpc3QtaXRlbSBbZXhwYW5kZWRdPVwiISFpdGVtLmV4cGFuZGVkXCIgKGV4cGFuZGVkQ2hhbmdlKT1cIl9leHBhbmRlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb25kZW5zZWQgJiYgZmlyc3QgJiYgaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC1uZXN0ZWQtbGlzdC1wb3BvdmVyIFt0aXRsZV09XCJpdGVtLmxpbms/LnRpdGxlIHx8ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW5lc3RlZC1saXN0LWNvbnRlbnQgW3NlbGVjdGVkXT1cIiEhaXRlbS5saW5rPy5zZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLW5lc3RlZC1saXN0LWV4cGFuZC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkLXByZXBhcmVkLW5lc3RlZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2ZkLW5lc3RlZC1saXN0LXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoIWl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoKCFjb25kZW5zZWQgfHwgIWZpcnN0KSAmJiBpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1uZXN0ZWQtbGlzdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcHJlcGFyZWQtbmVzdGVkLWxpc3QgW2ZpcnN0XT1cImZhbHNlXCIgW2xpc3RdPVwiaXRlbS5saXN0XCI+PC9mZC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgI2xpbms+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW5lc3RlZC1saXN0LWxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb25DbGlja0NhbGxiYWNrXT1cIml0ZW0ubGluay5jYWxsYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cIiFpdGVtLmxpc3QgJiYgaXRlbS5saW5rLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0ubGluay5ocmVmID8gaXRlbS5saW5rLmhyZWYgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLmxpbmsucm91dGVyTGluayA/IGl0ZW0ubGluay5yb3V0ZXJMaW5rIDogW11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbmVzdGVkLWxpc3QtaWNvbiBbZ2x5cGhdPVwiaXRlbS5saW5rLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5lc3RlZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGluay50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgfVxuPC91bD5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from './nested-item/nested-item.directive';\nimport { NestedLinkDirective } from './nested-link/nested-link.directive';\nimport { 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 { NestedListDirective } from './nested-list/nested-list.directive';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport * as i0 from \"@angular/core\";\nconst components = [\n NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective\n];\nexport class NestedListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, imports: [NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective], exports: [NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], imports: [NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDM0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFcEcsTUFBTSxVQUFVLEdBQUc7SUFDZixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDN0IsQ0FBQztBQU9GLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBakJ6QixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QiwwQkFBMEIsYUFUMUIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsMEJBQTBCOytHQVFqQixnQkFBZ0IsYUFGZCxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixDQUFDLFlBVG5GLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCOzsyRkFTcEIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50LFxuICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlXG59IGZyb20gJy4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFByZXBhcmVkTmVzdGVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QvcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBOZXN0ZWRMaXN0RGlyZWN0aXZlLFxuICAgIE5lc3RlZExpbmtEaXJlY3RpdmUsXG4gICAgTmVzdGVkSXRlbURpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCxcbiAgICBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLmNvbXBvbmVudHNdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBwcm92aWRlcnM6IFtNZW51S2V5Ym9hcmRTZXJ2aWNlLCBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLCBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtbmVzdGVkLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvZnVuZGFtZW50YWwtbmd4LWNvcmUtbmVzdGVkLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.NestedItemService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3"],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-core-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.directive.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-item/nested-item.directive.js","../tmp-esm2022/nested-list/nested-list-popover/nested-list-popover.component.js","../tmp-esm2022/nested-list/nested-list/nested-list.directive.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-core-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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0IscUhBQXFIO0FBQ3JILE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFNSSxnREFBZ0Q7UUFDaEQsV0FBTSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBRWxELHFEQUFxRDtRQUNyRCxVQUFLLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFM0MscURBQXFEO1FBQ3JELFVBQUssR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUUzQyw0RUFBNEU7UUFDNUUsWUFBTyxHQUEyQixJQUFJLE9BQU8sRUFBaUIsQ0FBQztJQUNuRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEludGVyZmFjZSB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmludGVyZmFjZSc7XG5cbi8qKiBDb250YWlucyByZWZlcmVuY2VzIHRvIHBvcG92ZXIgb3IgbGlzdCBuZXN0ZWQgY29tcG9uZW50cywgdGhhdCBhcmUgcGxhY2VkIGFzIGRpcmVjdCBjaGlsZHJlbiBvZiBpdGVtIGNvbXBvbmVudCAqL1xuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1TZXJ2aWNlIHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGxpc3Q6IE5lc3RlZExpc3RJbnRlcmZhY2U7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwb3BvdmVyPzogTmVzdGVkTGlzdFBvcG92ZXJJbnRlcmZhY2U7XG5cbiAgICAvKiogU3ViamVjdCBmaXJlZCB3aGVuIGV4cGFuZCBpY29uIGlzIGNsaWNrZWQgKi9cbiAgICB0b2dnbGU6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gICAgLyoqIFN1YmplY3QgZmlyZWQsIHdoZW4gY2hpbGQgZWxlbWVudHMgYXJlIGZvY3VzZWQgKi9cbiAgICBmb2N1czogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogU3ViamVjdCBmaXJlZCwgd2hlbiBjb250ZW50IG9yIGxpbmsgaXMgY2xpY2tlZCAqL1xuICAgIGNsaWNrOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIC8qKiBLZXlEb3duIGhhbmRsZXIsIGl0IGlzIHRyaWdnZXJlZCBmcm9tIGxpbmssIGNvbnRlbnQgYW5kIGl0ZW0gZWxlbWVudHMgKi9cbiAgICBrZXlEb3duOiBTdWJqZWN0PEtleWJvYXJkRXZlbnQ+ID0gbmV3IFN1YmplY3Q8S2V5Ym9hcmRFdmVudD4oKTtcbn1cbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, HostBinding, HostListener, Input, Optional, ViewEncapsulation, computed } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\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\";\nimport * as i2 from \"@fundamental-ngx/cdk/utils\";\nlet uniqueId = 0;\nexport class NestedListHeaderDirective {\n /** @hidden */\n constructor(_elementRef) {\n this._elementRef = _elementRef;\n /** Id of the element. */\n this.id = `fd-nested-list-group-header-${++uniqueId}`;\n /** @hidden */\n this.fdNestedListHeaderClass = 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: \"[fdNestedDirectivesHeader], [fd-nested-list-header]\", inputs: { id: \"id\" }, host: { properties: { \"attr.id\": \"this.id\", \"class.fd-nested-list__group-header\": \"this.fdNestedListHeaderClass\" } }, 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: '[fdNestedDirectivesHeader], [fd-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 }], fdNestedListHeaderClass: [{\n type: HostBinding,\n args: ['class.fd-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: \"[fdNestedDirectivesIcon], [fd-nested-list-icon]\", inputs: { role: \"role\" }, host: { properties: { \"attr.role\": \"this.role\", \"class.fd-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: '[fdNestedDirectivesIcon], [fd-nested-list-icon]',\n template: `<ng-content></ng-content>`,\n standalone: true\n }]\n }], propDecorators: { role: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['attr.role']\n }], fdNestedListIconClass: [{\n type: HostBinding,\n args: ['class.fd-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: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\", host: { properties: { \"class.fd-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: '[fdNestedDirectivesTitle], [fd-nested-list-title]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__title']\n }] } });\nexport class NestedListExpandIconComponent {\n /** @hidden */\n constructor(_itemService, _changeDetRef, _rtlService) {\n this._itemService = _itemService;\n this._changeDetRef = _changeDetRef;\n this._rtlService = _rtlService;\n /** @hidden */\n this.fdNestedListTitleClass = true;\n /** @hidden */\n this.fdButtonClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n this.expanded = false;\n /** @hidden */\n this.ariaHidden = true;\n /** @hidden */\n this.sideArrowIcon$ = computed(() => this._rtlService?.rtlSignal() ? 'navigation-left-arrow' : 'navigation-right-arrow', ...(ngDevMode ? [{ debugName: \"sideArrowIcon$\" }] : []));\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 }, { token: i2.RtlService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListExpandIconComponent, isStandalone: true, selector: \"[fdNestedListExpandIcon], [fd-nested-list-expand-icon]\", host: { attributes: { \"aria-haspopup\": \"true\", \"tabindex\": \"-1\" }, listeners: { \"click\": \"onClick($event)\", \"focus\": \"onFocus()\" }, properties: { \"class.fd-nested-list__button\": \"this.fdNestedListTitleClass\", \"class.fd-button\": \"this.fdButtonClass\", \"class.is-expanded\": \"this.expanded\", \"attr.aria-expanded\": \"this.expanded\", \"attr.aria-hidden\": \"this.ariaHidden\" } }, ngImport: i0, template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `, isInline: true, dependencies: [{ kind: \"component\", type: IconComponent, selector: \"fd-icon\", inputs: [\"glyph\", \"font\", \"color\", \"background\", \"class\", \"ariaLabel\", \"ariaHidden\"] }], 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: '[fdNestedListExpandIcon], [fd-nested-list-expand-icon]',\n template: `\n <ng-content></ng-content>\n <fd-icon [glyph]=\"expanded ? 'navigation-down-arrow' : sideArrowIcon$()\"></fd-icon>\n `,\n host: {\n 'aria-haspopup': 'true',\n tabindex: '-1'\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [IconComponent]\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i0.ChangeDetectorRef }, { type: i2.RtlService, decorators: [{\n type: Optional\n }] }], propDecorators: { fdNestedListTitleClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__button']\n }], fdButtonClass: [{\n type: HostBinding,\n args: ['class.fd-button']\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 }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtZGlyZWN0aXZlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLFFBQVEsRUFDUixpQkFBaUIsRUFDakIsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7QUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBTWpCLE1BQU0sT0FBTyx5QkFBeUI7SUFVbEMsY0FBYztJQUNkLFlBQW9CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBVjNDLHlCQUF5QjtRQUd6QixPQUFFLEdBQWtCLCtCQUErQixFQUFFLFFBQVEsRUFBRSxDQUFDO1FBRWhFLGNBQWM7UUFFZCw0QkFBdUIsR0FBRyxJQUFJLENBQUM7SUFHZSxDQUFDO0lBRS9DLDJCQUEyQjtJQUMzQixJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztJQUN0RCxDQUFDOzhHQWhCUSx5QkFBeUI7a0dBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFKckMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUscURBQXFEO29CQUMvRCxVQUFVLEVBQUUsSUFBSTtpQkFDbkI7K0VBS0csRUFBRTtzQkFGRCxLQUFLOztzQkFDTCxXQUFXO3VC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RTs7O0tBR1Q7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLGVBQWUsRUFBRSxNQUFNO3dCQUN2QixRQUFRLEVBQUUsSUFBSTtxQkFDakI7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQzNCOzswQkErQlEsUUFBUTt5Q0EzQmIsc0JBQXNCO3NCQURyQixXQUFXO3VCQUFDLDhCQUE4QjtnQkFLM0MsYUFBYTtzQkFEWixXQUFXO3VCQUFDLGlCQUFpQjtnQkFTOUIsUUFBUTtzQkFGUCxXQUFXO3VCQUFDLG1CQUFtQjs7c0JBQy9CLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUtqQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCO2dCQWlCL0IsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTakMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBIb3N0QmluZGluZyxcbiAgICBIb3N0TGlzdGVuZXIsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgY29tcHV0ZWRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9pY29uJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWREaXJlY3RpdmVzSGVhZGVyXSwgW2ZkLW5lc3RlZC1saXN0LWhlYWRlcl0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSB7XG4gICAgLyoqIElkIG9mIHRoZSBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJylcbiAgICBpZDogc3RyaW5nIHwgbnVsbCA9IGBmZC1uZXN0ZWQtbGlzdC1ncm91cC1oZWFkZXItJHsrK3VuaXF1ZUlkfWA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2dyb3VwLWhlYWRlcicpXG4gICAgZmROZXN0ZWRMaXN0SGVhZGVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gICAgLyoqIEdldCB0aGUgaGVhZGVyIHRpdGxlICovXG4gICAgZ2V0IHRpdGxlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkRGlyZWN0aXZlc0ljb25dLCBbZmQtbmVzdGVkLWxpc3QtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCBleHRlbmRzIEljb25Db21wb25lbnQge1xuICAgIC8qKiBSb2xlIGF0dHJpYnV0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHJvbGUgPSAncHJlc2VudGF0aW9uJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdF9faWNvbicpXG4gICAgZmROZXN0ZWRMaXN0SWNvbkNsYXNzID0gdHJ1ZTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWREaXJlY3RpdmVzVGl0bGVdLCBbZmQtbmVzdGVkLWxpc3QtdGl0bGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X190aXRsZScpXG4gICAgZmROZXN0ZWRMaXN0VGl0bGVDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZikge31cblxuICAgIC8qKiBSZXR1cm5zIGVsZW1lbnQncyBJbm5lclRleHQgKi9cbiAgICBnZXRJbm5lclRleHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZiAmJiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50ZXh0Q29udGVudDtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRMaXN0RXhwYW5kSWNvbl0sIFtmZC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbl0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgPGZkLWljb24gW2dseXBoXT1cImV4cGFuZGVkID8gJ25hdmlnYXRpb24tZG93bi1hcnJvdycgOiBzaWRlQXJyb3dJY29uJCgpXCI+PC9mZC1pY29uPlxuICAgIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnYXJpYS1oYXNwb3B1cCc6ICd0cnVlJyxcbiAgICAgICAgdGFiaW5kZXg6ICctMSdcbiAgICB9LFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaW1wb3J0czogW0ljb25Db21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50IHtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2J1dHRvbicpXG4gICAgZmROZXN0ZWRMaXN0VGl0bGVDbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtYnV0dG9uJylcbiAgICBmZEJ1dHRvbkNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBBdHRyaWJ1dGUgY29udHJvbGxlZCBieSB0aGUgcGFyZW50IGBOZXN0ZWRJdGVtRGlyZWN0aXZlYFxuICAgICAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtZXhwYW5kZWQnKVxuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWV4cGFuZGVkJylcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1oaWRkZW4nKVxuICAgIGFyaWFIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBzaWRlQXJyb3dJY29uJCA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMuX3J0bFNlcnZpY2U/LnJ0bFNpZ25hbCgpID8gJ25hdmlnYXRpb24tbGVmdC1hcnJvdycgOiAnbmF2aWdhdGlvbi1yaWdodC1hcnJvdydcbiAgICApO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9ydGxTZXJ2aWNlOiBSdGxTZXJ2aWNlXG4gICAgKSB7fVxuXG4gICAgLyoqIE1vdXNlIGV2ZW50IGhhbmRsZXIgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gICAgb25DbGljayhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnRvZ2dsZS5uZXh0KHRoaXMuZXhwYW5kZWQpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgZm9jdXMgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICAgIG9uRm9jdXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmZvY3VzLm5leHQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGV4cGFuZGVkO1xuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectorRef, ContentChild, Directive, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output } from '@angular/core';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedListTitleDirective } from '../nested-list-directives';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../nested-item/nested-item.service\";\nexport class NestedLinkDirective {\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 /** Event thrown, when selected state is changed */\n this.selectedChange = new EventEmitter();\n /** @hidden */\n this.fdNestedListItemClass = true;\n /** @hidden */\n this.tabIndex = 0;\n /** @hidden */\n this.role = 'treeitem';\n }\n /** Handler for keyboard events */\n onKeyDown(event) {\n this._itemService.keyDown.next(event);\n }\n /** Handler for mouse events */\n onClick() {\n this._itemService.click.next();\n if (this.onClickCallback) {\n this.onClickCallback();\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 static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkDirective, 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: NestedLinkDirective, isStandalone: true, selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: { onClickCallback: \"onClickCallback\", selected: \"selected\", ariaDescribedby: \"ariaDescribedby\" }, outputs: { selectedChange: \"selectedChange\" }, host: { listeners: { \"keydown\": \"onKeyDown($event)\", \"click\": \"onClick()\", \"focus\": \"onFocus()\" }, properties: { \"class.is-selected\": \"this.selected\", \"attr.aria-label\": \"this._ariaLabel\", \"attr.aria-describedby\": \"this.ariaDescribedby\", \"class.fd-nested-list__link\": \"this.fdNestedListItemClass\", \"attr.tabindex\": \"this.tabIndex\", \"attr.role\": \"this.role\" } }, queries: [{ propertyName: \"title\", first: true, predicate: NestedListTitleDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedLinkDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedLink], [fd-nested-list-link]',\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { onClickCallback: [{\n type: Input\n }], selected: [{\n type: Input\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 }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__link']\n }], tabIndex: [{\n type: HostBinding,\n args: ['attr.tabindex']\n }], role: [{\n type: HostBinding,\n args: ['attr.role']\n }], title: [{\n type: ContentChild,\n args: [NestedListTitleDirective]\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpbmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU1yRSxNQUFNLE9BQU8sbUJBQW1CO0lBMEM1QixjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixXQUF1QixFQUN2QixZQUErQjtRQUZoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBekMzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQVdqQixtREFBbUQ7UUFFbkQsbUJBQWMsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUVwRSxjQUFjO1FBRWQsMEJBQXFCLEdBQUcsSUFBSSxDQUFDO1FBRTdCLGNBQWM7UUFFZCxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBRWIsY0FBYztRQUVkLFNBQUksR0FBRyxVQUFVLENBQUM7SUFjZixDQUFDO0lBRUosa0NBQWtDO0lBRWxDLFNBQVMsQ0FBQyxLQUFvQjtRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELCtCQUErQjtJQUUvQixPQUFPO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDTCxDQUFDO0lBRUQsK0JBQStCO0lBRS9CLE9BQU87UUFDSCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsOENBQThDO0lBQzlDLGNBQWMsQ0FBQyxRQUFpQjtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0NBQWdDO0lBQ2hDLEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0RBQWdEO0lBQ2hELEtBQUs7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRUQscURBQXFEO0lBQ3JELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuRCxDQUFDOzhHQXpGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQix1b0JBdUNkLHdCQUF3Qjs7MkZBdkM3QixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHVDQUF1QztvQkFDakQsVUFBVSxFQUFFLElBQUk7aUJBQ25COytJQUlHLGVBQWU7c0JBRGQsS0FBSztnQkFNTixRQUFRO3NCQUZQLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsbUJBQW1CO2dCQUtoQyxVQUFVO3NCQURULFdBQVc7dUJBQUMsaUJBQWlCO2dCQU05QixlQUFlO3NCQUZkLEtBQUs7O3NCQUNMLFdBQVc7dUJBQUMsdUJBQXVCO2dCQUtwQyxjQUFjO3NCQURiLE1BQU07Z0JBS1AscUJBQXFCO3NCQURwQixXQUFXO3VCQUFDLDRCQUE0QjtnQkFLekMsUUFBUTtzQkFEUCxXQUFXO3VCQUFDLGVBQWU7Z0JBSzVCLElBQUk7c0JBREgsV0FBVzt1QkFBQyxXQUFXO2dCQVF4QixLQUFLO3NCQURKLFlBQVk7dUJBQUMsd0JBQXdCO2dCQVl0QyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQU9uQyxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFVckIsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEaXJlY3RpdmUsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE91dHB1dFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUxpbmsgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWRpcmVjdGl2ZXMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tmZE5lc3RlZExpbmtdLCBbZmQtbmVzdGVkLWxpc3QtbGlua10nLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlua0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE5lc3RlZEl0ZW1MaW5rIHtcbiAgICAvKiogRnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb24gY2xpY2sgZXZlbnQgZGlzcGF0Y2ggb24gdGhpcyBlbGVtZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgb25DbGlja0NhbGxiYWNrOiAoKSA9PiB2b2lkO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxhYmVsJylcbiAgICBfYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZGVzY3JpYmVkYnknKVxuICAgIGFyaWFEZXNjcmliZWRieTogTnVsbGFibGU8c3RyaW5nIHwgbnVtYmVyPjtcblxuICAgIC8qKiBFdmVudCB0aHJvd24sIHdoZW4gc2VsZWN0ZWQgc3RhdGUgaXMgY2hhbmdlZCAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3RfX2xpbmsnKVxuICAgIGZkTmVzdGVkTGlzdEl0ZW1DbGFzcyA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgdGFiSW5kZXggPSAwO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcm9sZSA9ICd0cmVlaXRlbSc7XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBSZWZlcmVuY2UgdG8gdGl0bGUgZWxlbWVudCwgaXQgaXMgdXNlZCwgdG8gZ2V0IHRpdGxlIGZvciBjb25kZW5zZWQgbW9kZS5cbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZSlcbiAgICB0aXRsZTogTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGNoYW5nZURldFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBIYW5kbGVyIGZvciBrZXlib2FyZCBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAgICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2Uua2V5RG93bi5uZXh0KGV2ZW50KTtcbiAgICB9XG5cbiAgICAvKiogSGFuZGxlciBmb3IgbW91c2UgZXZlbnRzICovXG4gICAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICAgIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrLm5leHQoKTtcbiAgICAgICAgaWYgKHRoaXMub25DbGlja0NhbGxiYWNrKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2xpY2tDYWxsYmFjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEhhbmRsZXIgZm9yIGZvY3VzIGV2ZW50cyAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgICBvbkZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5mb2N1cy5uZXh0KCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIGNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IGZvY3VzIG9uIHRoZSBlbGVtZW50LiAqL1xuICAgIGZvY3VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogRGlzcGF0Y2hlcyB0aGUgY2xpY2sgZXZlbnQgb24gdGhlIGVsZW1lbnQgKi9cbiAgICBjbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgdGhlIHRpdGxlIHZhbHVlIG9mIHRoZSB0aXRsZSBkaXJlY3RpdmUgKi9cbiAgICBnZXRUaXRsZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50aXRsZSAmJiB0aGlzLnRpdGxlLmdldElubmVyVGV4dCgpO1xuICAgIH1cbn1cbiJdfQ==","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 { NestedLinkDirective } from '../nested-link/nested-link.directive';\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.fdNestedListContentClass = true;\n /**\n * @hidden\n * Attribute controlled by the parent `NestedItemDirective`\n */\n this.hasChildren = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\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 /** Expanded state change propagation method */\n changeExpandedState(expanded) {\n if (this.nestedExpandIcon) {\n this.nestedExpandIcon.changeExpandedState(expanded);\n }\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.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: \"[fdNestedListContent], [fd-nested-list-content]\", inputs: { selected: \"selected\" }, outputs: { selectedChange: \"selectedChange\", keyboardTriggered: \"keyboardTriggered\", clicked: \"clicked\" }, host: { attributes: { \"tabindex\": \"0\" }, listeners: { \"keydown\": \"onKeyDown($event)\", \"click\": \"onClick()\" }, properties: { \"class.is-selected\": \"this.selected\", \"attr.role\": \"this.role\", \"attr.aria-expanded\": \"this.ariaExpanded\", \"class.fd-nested-list__content\": \"this.fdNestedListContentClass\", \"class.has-child\": \"this.hasChildren\" } }, queries: [{ propertyName: \"nestedLink\", first: true, predicate: NestedLinkDirective, 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: '[fdNestedListContent], [fd-nested-list-content]',\n host: {\n tabindex: '0'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.NestedItemService }], propDecorators: { selected: [{\n type: Input\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 }], fdNestedListContentClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__content']\n }], hasChildren: [{\n type: HostBinding,\n args: ['class.has-child']\n }], nestedLink: [{\n type: ContentChild,\n args: [NestedLinkDirective]\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILGlCQUFpQixFQUNqQixZQUFZLEVBQ1osVUFBVSxFQUNWLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVMxRSxNQUFNLE9BQU8sMEJBQTBCO0lBZ0RuQyxjQUFjO0lBQ2QsWUFDVyxZQUErQixFQUM5QixXQUF1QixFQUN2QixZQUErQjtRQUZoQyxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDdkIsaUJBQVksR0FBWixZQUFZLENBQW1CO1FBbkQzQyxzQ0FBc0M7UUFHdEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixjQUFjO1FBRWQsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUVsQixjQUFjO1FBRWQsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsbURBQW1EO1FBRW5ELG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFcEUsa0ZBQWtGO1FBRXpFLHNCQUFpQixHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQUU1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QkFBQywrQkFBK0I7Z0JBUTVDLFdBQVc7c0JBRFYsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBSzlCLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxtQkFBbUI7Z0JBS2pDLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLDZCQUE2QjtnQkFlM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFRbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRMaXN0Q29udGVudF0sIFtmZC1uZXN0ZWQtbGlzdC1jb250ZW50XScsXG4gICAgaG9zdDoge1xuICAgICAgICB0YWJpbmRleDogJzAnXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZExpc3RDb250ZW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBlbGVtZW50IGlzIHNlbGVjdGVkKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5yb2xlJylcbiAgICByb2xlID0gJ3RyZWVpdGVtJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICAgIGFyaWFFeHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBzZWxlY3RlZCBzdGF0ZSBpcyBjaGFuZ2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgc2VsZWN0ZWRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIC8qKiBFdmVudCB0aGF0IGlzIHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEV2ZW50IHRoYXQgaXMgdGhyb3duLCB3aGVuIHRoaXMgZWxlbWVudCBpcyBjbGlja2VkICovXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgY2xpY2tlZDogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19jb250ZW50JylcbiAgICBmZE5lc3RlZExpc3RDb250ZW50Q2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEF0dHJpYnV0ZSBjb250cm9sbGVkIGJ5IHRoZSBwYXJlbnQgYE5lc3RlZEl0ZW1EaXJlY3RpdmVgXG4gICAgICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtY2hpbGQnKVxuICAgIGhhc0NoaWxkcmVuID0gZmFsc2U7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBDb250ZW50Q2hpbGQoTmVzdGVkTGlua0RpcmVjdGl2ZSlcbiAgICBuZXN0ZWRMaW5rOiBOZXN0ZWRMaW5rRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50KVxuICAgIG5lc3RlZEV4cGFuZEljb246IE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50O1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjaGFuZ2VEZXRSZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9pdGVtU2VydmljZTogTmVzdGVkSXRlbVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICAvKiogS2V5Ym9hcmQgRXZlbnQgSGFuZGxlciAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duLm5leHQoZXZlbnQpO1xuICAgIH1cblxuICAgIC8qKiBIYW5kbGVyIGZvciBtb3VzZSBldmVudHMgKi9cbiAgICBASG9zdExpc3RlbmVyKCdjbGljaycpXG4gICAgb25DbGljaygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuY2xpY2submV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9tYWtlTGlua1VuRm9jdXNhYmxlKCk7XG4gICAgICAgIHRoaXMuX3NldEZvY3VzU3Vic2NyaXB0aW9uKCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0byB0cmlnZ2VyIHNlbGVjdGVkIHN0YXRlIGNoYW5nZSAqL1xuICAgIGNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZDtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAvKiogRXhwYW5kZWQgc3RhdGUgY2hhbmdlIHByb3BhZ2F0aW9uIG1ldGhvZCAqL1xuICAgIGNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkRXhwYW5kSWNvbikge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRFeHBhbmRJY29uLmNoYW5nZUV4cGFuZGVkU3RhdGUoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFNldCBmb2N1cyBvbiB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuXG4gICAgLyoqIERpc3BhdGNoZXMgdGhlIGNsaWNrIGV2ZW50IG9uIHRoZSBlbGVtZW50ICovXG4gICAgY2xpY2soKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgaWYgKHRoaXMubmVzdGVkTGluaykge1xuICAgICAgICAgICAgdGhpcy5uZXN0ZWRMaW5rLmNsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQWRkIHN1YnNjcmlwdGlvbiBmb3IgY2hpbGQgZm9jdXNpbmcgKi9cbiAgICBwcml2YXRlIF9zZXRGb2N1c1N1YnNjcmlwdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UuZm9jdXMucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmZvY3VzKCkpO1xuICAgIH1cblxuICAgIC8qKiBIaWRlIGxpbmsgY2hpbGQgZWxlbWVudCBmcm9tIHRhYiBrZXkgKi9cbiAgICBwcml2YXRlIF9tYWtlTGlua1VuRm9jdXNhYmxlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uZXN0ZWRMaW5rKSB7XG4gICAgICAgICAgICB0aGlzLm5lc3RlZExpbmsudGFiSW5kZXggPSAtMTtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0UmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { ENTER, LEFT_ARROW, RIGHT_ARROW, SPACE } from '@angular/cdk/keycodes';\nimport { DestroyRef, Inject, Injectable, inject } from '@angular/core';\nimport { KeyUtil, destroyObservable } from '@fundamental-ngx/cdk/utils';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { Subject, merge } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport * as i0 from \"@angular/core\";\nimport * as i1 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) {\n this.keyboardService = keyboardService;\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 /** @hidden */\n this._destroyRef = inject(DestroyRef);\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(merge(this.refresh$, destroyObservable(this._destroyRef))))\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 if (KeyUtil.isKeyCode(keyboardEvent, RIGHT_ARROW)) {\n if (!item.expanded && item.hasChildren) {\n item.triggerOpen();\n }\n keyboardEvent.preventDefault();\n }\n if (KeyUtil.isKeyCode(keyboardEvent, LEFT_ARROW)) {\n if (item.expanded && item.hasChildren) {\n item.triggerClose();\n }\n keyboardEvent.preventDefault();\n }\n if (KeyUtil.isKeyCode(keyboardEvent, [ENTER, SPACE])) {\n if (item.hasChildren) {\n items[index].click();\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 }], 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: i1.MenuKeyboardService, decorators: [{\n type: Inject,\n args: [MenuKeyboardService]\n }] }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUkzQzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8seUJBQXlCO0lBVWxDLGNBQWM7SUFDZCxZQUFpRCxlQUFvQztRQUFwQyxvQkFBZSxHQUFmLGVBQWUsQ0FBcUI7UUFWckY7OztXQUdHO1FBQ00sYUFBUSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXZELGNBQWM7UUFDRyxnQkFBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUdzQyxDQUFDO0lBRXpGOzs7T0FHRztJQUNILFlBQVksQ0FBQyxLQUE0QjtRQUNyQyxNQUFNLEtBQUssR0FBMEIsRUFBRSxDQUFDO1FBRXhDLGlDQUFpQztRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUks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QXRGUSx5QkFBeUIsa0JBV2QsbUJBQW1CO2tIQVg5Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBRHJDLFVBQVU7OzBCQVlNLE1BQU07MkJBQUMsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRU5URVIsIExFRlRfQVJST1csIFJJR0hUX0FSUk9XLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3QsIEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgS2V5VXRpbCwgZGVzdHJveU9ic2VydmFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBNZW51S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL21lbnUnO1xuaW1wb3J0IHsgU3ViamVjdCwgbWVyZ2UgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuL25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmludGVyZmFjZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIE5lc3RlZCBsaXN0IGtleWJvYXJkIHNlcnZpY2UsIHdoaWNoIHVzZXMgTWVudUtleWJvYXJkU2VydmljZSwgdG8gZGVhbCB3aXRoIEFycm93VXAsIEFycm93RG93biwgU3BhY2UsIEVudGVyLlxuICogQWxzbyBoYXMgb3duIGhhbmRsaW5nIG9mIEFycm93TGVmdCBhbmQgQXJyb3dSaWdodCwgdG8gb3Blbi9jbG9zZSB0aGUgbWVudSBpZiBpdCBoYXMgYW55IGNoaWxkcmVuLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB7XG4gICAgLyoqXG4gICAgICogRXZlbnQsIHRoYXQgaXMgdGhyb3duIGFsd2F5cywgd2hlbiB0aGUgb3Blbi9jbG9zZSBpIGJlaW5nIGNhbGxlZCBvbiBpdGVtIGNvbXBvbmVudHMuXG4gICAgICogQWxzbyB0cmlnZ2VycyBjaGFuZ2luZyBvZiBlbGVtZW50cywgdG8gcmVtb3ZlIGNsb3NlZC9oaWRkZW4gZWxlbWVudHNcbiAgICAgKi9cbiAgICByZWFkb25seSByZWZyZXNoJDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoTWVudUtleWJvYXJkU2VydmljZSkgcHJpdmF0ZSBrZXlib2FyZFNlcnZpY2U6IE1lbnVLZXlib2FyZFNlcnZpY2UpIHt9XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiBjYWxsZWQgYWZ0ZXIgcmVmcmVzaCQgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgICAqIFJlZnJlc2ggdGhlIGxpc3Qgb2YgTmVzdGVkSXRlbXMsIHRoYXQgdGhlIGtleWJvYXJkIHN1cHBvcnQgc2hvdWxkIGJlIHByb3ZpZGVkIGZvclxuICAgICAqL1xuICAgIHJlZnJlc2hJdGVtcyhsaXN0czogTmVzdGVkTGlzdEludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcblxuICAgICAgICAvKiogR2F0aGVyaW5nIGFsbCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgbGlzdHMuZm9yRWFjaCgobGlzdCkgPT4gaXRlbXMucHVzaCguLi50aGlzLl9nZXRBbGxMaXN0SXRlbXMobGlzdCkpKTtcbiAgICAgICAgLyoqIFB1dHRpbmcgdGhlIGtleWJvYXJkIHN1cHBvcnQgZnVuY3Rpb24gdG8gZWFjaCBvZiB0aGUgaXRlbXMgKi9cbiAgICAgICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgICAgICAgIGl0ZW0ua2V5Ym9hcmRUcmlnZ2VyZWRcbiAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwobWVyZ2UodGhpcy5yZWZyZXNoJCwgZGVzdHJveU9ic2VydmFibGUodGhpcy5fZGVzdHJveVJlZikpKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLl9oYW5kbGVLZXlEb3duKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcykpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogUmVjdXJzaXZlIGZ1bmN0aW9uIHRvIGdldCBhbGwgb2YgdGhlIE5lc3RlZEl0ZW0gZWxlbWVudHMgaW4gY29ycmVjdCBvcmRlci4gKi9cbiAgICBwcml2YXRlIF9nZXRJdGVtcyhpdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgY29uc3QgY2hpbGRyZW5JdGVtcyA9IGl0ZW0uZXhwYW5kZWQgPyBpdGVtLmFsbENoaWxkcmVuSXRlbXMgOiBbXTtcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuSXRlbXMucmVkdWNlKFxuICAgICAgICAgICAgKGFjdHVhbEFycmF5OiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10sIG5leHRJdGVtOiBOZXN0ZWRJdGVtSW50ZXJmYWNlKSA9PiBbXG4gICAgICAgICAgICAgICAgLi4uYWN0dWFsQXJyYXksXG4gICAgICAgICAgICAgICAgLi4udGhpcy5fZ2V0SXRlbXMobmV4dEl0ZW0pXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW2l0ZW1dXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNhbGxzIHRoZSByZWN1cnNpdmUgZnVuY3Rpb24sIGdldEl0ZW1zKCkgYW5kIGdhdGhlcnMgYWxsIG9mIHRoZSBpdGVtcyBpbiB0aGUgTmVzdGVkTGlzdCAqL1xuICAgIHByaXZhdGUgX2dldEFsbExpc3RJdGVtcyhsaXN0OiBOZXN0ZWRMaXN0SW50ZXJmYWNlKTogTmVzdGVkSXRlbUludGVyZmFjZVtdIHtcbiAgICAgICAgY29uc3QgX2l0ZW1zOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10gPSBbXTtcbiAgICAgICAgaWYgKGxpc3QgJiYgbGlzdC5uZXN0ZWRJdGVtcyAmJiBsaXN0Lm5lc3RlZEl0ZW1zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxpc3QubmVzdGVkSXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgIF9pdGVtcy5wdXNoKC4uLnRoaXMuX2dldEl0ZW1zKGl0ZW0pKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIF9pdGVtcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBLZXlib2FyZCBoYW5kbGUgZnVuY3Rpb24uIFVzZXMga2V5Ym9hcmQgc3VwcG9ydCBzZXJ2aWNlIGZyb20gTWVudUNvbXBvbmVudCwgdG8gZGVhbCB3aXRoIEFycm93VXAsIEFycm93RG93biwgU3BhY2UsIEVudGVyLlxuICAgICAqIEZvciBBcnJvd1JpZ2h0LCBpZiBpdGVtIGlzIG5vdCBleHBhbmRlZCBhbmQgaGFzIGNoaWxkcmVuIChsaXN0IG9yIHBvcHVwKSwgdGhlIG9wZW4gZnVuY3Rpb24gaXMgdHJpZ2dlcmVkLlxuICAgICAqIE90aGVyd2lzZSBpdCBmb2xsb3dzIEFycm93RG93biBmdW5jdGlvbmFsaXR5LlxuICAgICAqIEZvciBBcnJvd0xlZnQsIGlmIGl0ZW0gaXMgZXhwYW5kZWQgYW5kIGhhcyBjaGlsZHJlbiAobGlzdCBvciBwb3B1cCksIHRoZSBjbG9zZSBmdW5jdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAgICogT3RoZXJ3aXNlIGl0IGZvbGxvd3MgQXJyb3dVcCBmdW5jdGlvbmFsaXR5XG4gICAgICovXG4gICAgcHJpdmF0ZSBfaGFuZGxlS2V5RG93bihrZXlib2FyZEV2ZW50OiBLZXlib2FyZEV2ZW50LCBpbmRleDogbnVtYmVyLCBpdGVtczogTmVzdGVkSXRlbUludGVyZmFjZVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGl0ZW06IE5lc3RlZEl0ZW1JbnRlcmZhY2UgPSBpdGVtc1tpbmRleF07XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFJJR0hUX0FSUk9XKSkge1xuICAgICAgICAgICAgaWYgKCFpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJPcGVuKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBrZXlib2FyZEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoS2V5VXRpbC5pc0tleUNvZGUoa2V5Ym9hcmRFdmVudCwgTEVGVF9BUlJPVykpIHtcbiAgICAgICAgICAgIGlmIChpdGVtLmV4cGFuZGVkICYmIGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtLnRyaWdnZXJDbG9zZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5Ym9hcmRFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKEtleVV0aWwuaXNLZXlDb2RlKGtleWJvYXJkRXZlbnQsIFtFTlRFUiwgU1BBQ0VdKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBpdGVtc1tpbmRleF0uY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGtleWJvYXJkRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMua2V5Ym9hcmRTZXJ2aWNlLmtleURvd25IYW5kbGVyKGtleWJvYXJkRXZlbnQsIGluZGV4LCBpdGVtcyk7XG4gICAgfVxufVxuIl19","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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1zdGF0ZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFHL0IsTUFBTSxPQUFPLHNCQUFzQjtJQURuQztRQUVJOzs7V0FHRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEI7O1dBRUc7UUFDSCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGNBQWM7UUFDZCxlQUFVLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7S0FDdkQ7OEdBZFksc0JBQXNCO2tIQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBRGxDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogVGhlIGNvbmRlbnNlZCBzdGF0ZSBpcyBtb2RpZmllZCBieSB0aGUgcGFyZW50IGFuZCByZWFkIGJ5IG5lc3RlZCBsaXN0cy5cbiAgICAgKi9cbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBzZWxlY3RhYmxlID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25TZWxlY3RlZDogU3ViamVjdDxzdHJpbmc+ID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xufVxuIl19","import { ContentChild, DestroyRef, Directive, EventEmitter, HostBinding, Input, Output, 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 { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListKeyboardService } from '../nested-list-keyboard.service';\nimport { NestedListStateService } from '../nested-list-state.service';\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 NestedItemDirective {\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) {\n this._itemService = _itemService;\n this._keyboardService = _keyboardService;\n this._stateService = _stateService;\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 /** @hidden */\n this._ariaLevel = null;\n /** @hidden */\n this._ariaExpanded = null;\n /** @hidden */\n this._ariaSelected = null;\n /** @hidden */\n this._ariaDisabled = false;\n /** @hidden */\n this._ariaHidden = true;\n /** @hidden */\n this._expanded = false;\n /** An RxJS Subject that will kill the data stream upon component’s destruction (for unsubscribing) */\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.contentItem) {\n this.contentItem.click();\n }\n else if (this.linkItem) {\n this.linkItem.click();\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 /**\n * Propagate to child content directive, which contains icon and link\n */\n if (this.contentItem) {\n this.contentItem.changeExpandedState(open);\n this.contentItem.ariaExpanded = this._expanded;\n }\n /** Propagate hidden flag to list component, that is passed from child */\n if (this._itemService.list) {\n this._itemService.list.hidden = !open;\n this._itemService.list.detectChanges();\n }\n /** 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 /** 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 /** 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: NestedItemDirective, deps: [{ token: i1.NestedItemService }, { token: i2.NestedListKeyboardService }, { token: i3.NestedListStateService }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedItemDirective, isStandalone: true, selector: \"[fdNestedItem], [fd-nested-list-item]\", inputs: { expanded: \"expanded\" }, outputs: { expandedChange: \"expandedChange\", keyboardTriggered: \"keyboardTriggered\" }, host: { attributes: { \"role\": \"treeitem\" }, properties: { \"class.fd-nested-list__item\": \"this.fdNestedListItemClass\", \"attr.aria-level\": \"this._ariaLevel\", \"attr.title\": \"this._title\", \"attr.role\": \"this._role\", \"attr.aria-expanded\": \"this._ariaExpanded\", \"attr.aria-selected\": \"this._ariaSelected\", \"attr.aria-disabled\": \"this._ariaDisabled\", \"attr.aria-label\": \"this._ariaLabel\", \"attr.aria-hidden\": \"this._ariaHidden\" } }, providers: [NestedItemService], queries: [{ propertyName: \"linkItem\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"contentItem\", first: true, predicate: NestedListContentDirective, descendants: true }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedItemDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedItem], [fd-nested-list-item]',\n providers: [NestedItemService],\n host: {\n role: 'treeitem'\n },\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService }, { type: i2.NestedListKeyboardService }, { type: i3.NestedListStateService }], propDecorators: { expanded: [{\n type: Input\n }], expandedChange: [{\n type: Output\n }], keyboardTriggered: [{\n type: Output\n }], fdNestedListItemClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__item']\n }], linkItem: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], contentItem: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }], _ariaLevel: [{\n type: HostBinding,\n args: ['attr.aria-level']\n }], _title: [{\n type: HostBinding,\n args: ['attr.title']\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 }], _ariaHidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1pdGVtL25lc3RlZC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDN0YsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7O0FBRTFELElBQUksMEJBQTBCLEdBQUcsQ0FBQyxDQUFDO0FBVW5DLE1BQU0sT0FBTyxtQkFBbUI7SUFDNUIsc0NBQXNDO0lBQ3RDLElBQWEsUUFBUSxDQUFDLFFBQWlCO1FBQ25DLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjO0lBQ2QsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFzRUQsY0FBYztJQUNkLFlBQ1ksWUFB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UUFBUTtzQkFEUCxZQUFZO3VCQUFDLG1CQUFtQjtnQkFTakMsV0FBVztzQkFEVixZQUFZO3VCQUFDLDBCQUEwQjtnQkFLeEMsVUFBVTtzQkFEVCxXQUFXO3VCQUFDLGlCQUFpQjtnQkFLOUIsTUFBTTtzQkFETCxXQUFXO3VCQUFDLFlBQVk7Z0JBS2YsS0FBSztzQkFEZCxXQUFXO3VCQUFDLFdBQVc7Z0JBS2QsYUFBYTtzQkFEdEIsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBS3ZCLGFBQWE7c0JBRHRCLFdBQVc7dUJBQUMsb0JBQW9CO2dCQUt2QixhQUFhO3NCQUR0QixXQUFXO3VCQUFDLG9CQUFvQjtnQkFLdkIsVUFBVTtzQkFEbkIsV0FBVzt1QkFBQyxpQkFBaUI7Z0JBS3BCLFdBQVc7c0JBRHBCLFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBEZXN0cm95UmVmLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIGluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdEtleWJvYXJkU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LWtleWJvYXJkLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFN0YXRlU2VydmljZSB9IGZyb20gJy4uL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbUludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0uaW50ZXJmYWNlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcblxubGV0IHNpZGVOYXZpZ2F0aW9uSXRlbVVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZmROZXN0ZWRJdGVtXSwgW2ZkLW5lc3RlZC1saXN0LWl0ZW1dJyxcbiAgICBwcm92aWRlcnM6IFtOZXN0ZWRJdGVtU2VydmljZV0sXG4gICAgaG9zdDoge1xuICAgICAgICByb2xlOiAndHJlZWl0ZW0nXG4gICAgfSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIE5lc3RlZEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBOZXN0ZWRJdGVtSW50ZXJmYWNlIHtcbiAgICAvKiogV2hldGhlciBpdGVtIHNob3VsZCBiZSBleHBhbmRlZCAqL1xuICAgIEBJbnB1dCgpIHNldCBleHBhbmRlZChleHBhbmRlZDogYm9vbGVhbikge1xuICAgICAgICBpZiAoZXhwYW5kZWQgIT09IHRoaXMuX2V4cGFuZGVkKSB7XG4gICAgICAgICAgICB0aGlzLnByb3BhZ2F0ZU9wZW5DaGFuZ2UoZXhwYW5kZWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9leHBhbmRlZDtcbiAgICB9XG5cbiAgICAvKiogRXZlbnQgdGhyb3duLCB3aGVuIGV4cGFuZGVkIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBleHBhbmRlZENoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgLyoqIEV2ZW50IHRocm93biwgd2hlbiBhbnkga2V5Ym9hcmQgZXZlbnQgaXMgZGlzcGF0Y2hlZCBvbiB0aGlzLCBvciBsaW5rIGVsZW1lbnQgKi9cbiAgICBAT3V0cHV0KClcbiAgICByZWFkb25seSBrZXlib2FyZFRyaWdnZXJlZDogRXZlbnRFbWl0dGVyPEtleWJvYXJkRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19pdGVtJylcbiAgICBmZE5lc3RlZExpc3RJdGVtQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgbGluayBkaXJlY3RpdmUsIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaW5rRGlyZWN0aXZlKVxuICAgIGxpbmtJdGVtOiBOZXN0ZWRMaW5rRGlyZWN0aXZlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1vc3RseSB1c2VkLCB3aGVuIHRoaXMgaXRlbSBoYXMgbGlzdFxuICAgICAqIFJlZmVyZW5jZSB0byB0aGUgY29udGVudCBkaXJlY3RpdmUsIHRvIGFsbG93IG1hbmlwdWxhdGluZyB0aGUgcHJvcGVydGllcyBvZiB0aGlzIGVsZW1lbnQuXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSlcbiAgICBjb250ZW50SXRlbTogTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxldmVsJylcbiAgICBfYXJpYUxldmVsOiBOdWxsYWJsZTxudW1iZXI+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnRpdGxlJylcbiAgICBfdGl0bGU6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLnJvbGUnKVxuICAgIHByb3RlY3RlZCBfcm9sZTogc3RyaW5nO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1leHBhbmRlZCcpXG4gICAgcHJvdGVjdGVkIF9hcmlhRXhwYW5kZWQ6IE51bGxhYmxlPGJvb2xlYW4+ID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtc2VsZWN0ZWQnKVxuICAgIHByb3RlY3RlZCBfYXJpYVNlbGVjdGVkOiBOdWxsYWJsZTxib29sZWFuPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWRpc2FibGVkJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1sYWJlbCcpXG4gICAgcHJvdGVjdGVkIF9hcmlhTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFIaWRkZW4gPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9leHBhbmRlZCA9IGZhbHNlO1xuXG4gICAgLyoqIEFuIFJ4SlMgU3ViamVjdCB0aGF0IHdpbGwga2lsbCB0aGUgZGF0YSBzdHJlYW0gdXBvbiBjb21wb25lbnTigJlzIGRlc3RydWN0aW9uIChmb3IgdW5zdWJzY3JpYmluZykgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIC8qKiBVbmlxdWUgZWxlbWVudCBJRCAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRJZDogc3RyaW5nID0gJ2ZkTmVzdGVkSXRlbScgKyBzaWRlTmF2aWdhdGlvbkl0ZW1VbmlxdWVJZCsrO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBfaXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9rZXlib2FyZFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgX3N0YXRlU2VydmljZTogTmVzdGVkTGlzdFN0YXRlU2VydmljZVxuICAgICkge31cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZXRVcFN1YnNjcmlwdGlvbnMoKTtcbiAgICAgICAgdGhpcy5fcHJvcGFnYXRlSGFzQ2hpbGRyZW5Qcm9wZXJ0eSgpO1xuICAgICAgICB0aGlzLl9wYXNzSXRlbVJlZmVyZW5jZXMoKTtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRoaXMuX2V4cGFuZGVkKTtcblxuICAgICAgICBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5fYXJpYVNlbGVjdGVkID0gdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFEaXNhYmxlZCA9ICF0aGlzLl9zdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiAhdGhpcy5saW5rSXRlbS5zZWxlY3RlZDtcbiAgICAgICAgICAgIHRoaXMuX3RpdGxlID0gdGhpcy5saW5rSXRlbS5nZXRUaXRsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGlmIHRoZSBpdGVtIGVsZW1lbnQgaGFzIGFueSBjaGlsZCAqL1xuICAgIGdldCBoYXNDaGlsZHJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5faXRlbVNlcnZpY2U/Lmxpc3Q7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhbGwgb2YgdGhlIGNoaWxkcmVuIGl0ZW0gZWxlbWVudHMgKi9cbiAgICBnZXQgYWxsQ2hpbGRyZW5JdGVtcygpOiBOZXN0ZWRJdGVtSW50ZXJmYWNlW10ge1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2U/Lmxpc3QpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLnRvQXJyYXkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICAvKiogTWV0aG9kIHRoYXQgZXhwYW5kIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0cmlnZ2VyT3BlbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGNsb3NlIHRoZSBpdGVtIGFuZCBwcm9wYWdhdGUgaXQgdG8gY2hpbGRyZW4gKi9cbiAgICB0cmlnZ2VyQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICAgICAgICAvKiogUHJvcGFnYXRlIGluaXRpYWwgb3BlbiBzdGF0ZSB0byBjaGlsZHJlbiAqL1xuICAgICAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCB0b2dnbGUgdGhlIGl0ZW0gYW5kIHByb3BhZ2F0ZSBpdCB0byBjaGlsZHJlbiAqL1xuICAgIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBpbml0aWFsIG9wZW4gc3RhdGUgdG8gY2hpbGRyZW4gKi9cbiAgICAgICAgdGhpcy5wcm9wYWdhdGVPcGVuQ2hhbmdlKCF0aGlzLl9leHBhbmRlZCk7XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IGRpc3BhdGNoZXMgYGNsaWNrYCBldmVudCBvbiBsaW5rIGl0ZW0qL1xuICAgIGNsaWNrKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb250ZW50SXRlbSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5jbGljaygpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubGlua0l0ZW0pIHtcbiAgICAgICAgICAgIHRoaXMubGlua0l0ZW0uY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBNZXRob2QgdGhhdCBmb2N1c2VzIGxpbmsgaXRlbSovXG4gICAgZm9jdXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5saW5rSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5saW5rSXRlbS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIE1ldGhvZCB0aGF0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGlmIGVsZW1lbnQsIG9yIGNoaWxkcmVuIG9mIHRoaXMgZWxlbWVudCBoYXMgcGFzc2VkIGlkICovXG4gICAgY29udGFpbnNJZChpZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLl9lbGVtZW50SWQgPT09IGlkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5saXN0KSB7XG4gICAgICAgICAgICByZXR1cm4gISF0aGlzLl9pdGVtU2VydmljZS5saXN0Lm5lc3RlZEl0ZW1zLmZpbmQoKGl0ZW0pID0+IGl0ZW0uY29udGFpbnNJZChpZCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBQcm9wYWdhdGUgb3BlbiBzdGF0ZSB0byBhbGwgb2YgdGhlIGNoaWxkcmVuXG4gICAgICovXG4gICAgcHJpdmF0ZSBwcm9wYWdhdGVPcGVuQ2hhbmdlKG9wZW46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fZXhwYW5kZWQgPSBvcGVuO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0NoaWxkcmVuKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhRXhwYW5kZWQgPSB0aGlzLl9leHBhbmRlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBQcm9wYWdhdGUgdG8gY2hpbGQgY29udGVudCBkaXJlY3RpdmUsIHdoaWNoIGNvbnRhaW5zIGljb24gYW5kIGxpbmtcbiAgICAgICAgICovXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZUV4cGFuZGVkU3RhdGUob3Blbik7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmFyaWFFeHBhbmRlZCA9IHRoaXMuX2V4cGFuZGVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBoaWRkZW4gZmxhZyB0byBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UubGlzdCkge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UubGlzdC5oaWRkZW4gPSAhb3BlbjtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFByb3BhZ2F0ZSBvcGVuIGZsYWcgdG8gcG9wb3ZlciBsaXN0IGNvbXBvbmVudCwgdGhhdCBpcyBwYXNzZWQgZnJvbSBjaGlsZCAqL1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlcikge1xuICAgICAgICAgICAgdGhpcy5faXRlbVNlcnZpY2UucG9wb3Zlci5vcGVuID0gb3BlbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBJZiB0aGVyZSBhcmUgYW55IGxpc3QgYmVsb3dcbiAgICAgICAgICogVHJpZ2dlciBldmVudCB0byBwcm92aWRlIGtleWJvYXJkIHN1cHBvcnQgdG8gbmV3IGxpc3Qgb2Ygb3BlbmVkIGl0ZW0gZWxlbWVudC5cbiAgICAgICAgICogKi9cbiAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKSkge1xuICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRTZXJ2aWNlLnJlZnJlc2gkLm5leHQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwYW5kZWRDaGFuZ2UuZW1pdChvcGVuKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Nob3VsZFJlZnJlc2hLZXlib2FyZFNlcnZpY2UoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhISh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyIHx8IHRoaXMuX2l0ZW1TZXJ2aWNlLmxpc3QgfHwgdGhpcy5jb250ZW50SXRlbSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9zZXRVcFN1YnNjcmlwdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICB0aGlzLl9yb2xlID0gJ21lbnVpdGVtcmFkaW8nO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBtb3VzZSBjbGljayBldmVudCwgdGhyb3duIGJ5IGxpbmsgaXRlbSAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS50b2dnbGUucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZSgpKTtcblxuICAgICAgICAvKiogU3Vic2NyaWJlIHRvIG1vdXNlIGNsaWNrIGV2ZW50LCB0aHJvd24gYnkgbGluayBpdGVtICovXG4gICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLmNsaWNrXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuX3N0YXRlU2VydmljZS5vblNlbGVjdGVkLm5leHQodGhpcy5fZWxlbWVudElkKSk7XG5cbiAgICAgICAgLyoqIFN1YnNjcmliZSB0byBrZXlib2FyZCBldmVudCBhbmQgdGhyb3cgaXQgZmFydGhlciAqL1xuICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5rZXlEb3duXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5fZGVzdHJveVJlZikpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChrZXlib2FyZEV2ZW50KSA9PiB0aGlzLmtleWJvYXJkVHJpZ2dlcmVkLmVtaXQoa2V5Ym9hcmRFdmVudCkpO1xuXG4gICAgICAgIC8qKiBTdWJzY3JpYmUgdG8gc2VsZWN0ZWQgc3RhdGUgY2hhbmdlLCBpdCdzIG5vdCB0cmlnZ2VyZWQsIHdoZW4gc2VsZWN0YWJsZSBmbGFnIGlzIGRpc2FibGVkKi9cbiAgICAgICAgdGhpcy5fc3RhdGVTZXJ2aWNlLm9uU2VsZWN0ZWRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5fc3RhdGVTZXJ2aWNlLnNlbGVjdGFibGUpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChpZCkgPT4gdGhpcy5fc2VsZWN0ZWRDaGFuZ2UoaWQpKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3Byb3BhZ2F0ZUhhc0NoaWxkcmVuUHJvcGVydHkoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtICYmIHRoaXMuaGFzQ2hpbGRyZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFFeHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50SXRlbS5oYXNDaGlsZHJlbiA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZURldFJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogUGFzcyB0aGlzIGVsZW1lbnQgdG8gcG9wb3ZlciBjaGlsZCBpdGVtLCB0byBhbGxvdyBjb250cm9sIGBleHBhbmRlZGAgdmFsdWUgKi9cbiAgICBwcml2YXRlIF9wYXNzSXRlbVJlZmVyZW5jZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyKSB7XG4gICAgICAgICAgICB0aGlzLl9pdGVtU2VydmljZS5wb3BvdmVyLnBhcmVudEl0ZW1FbGVtZW50ID0gdGhpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBDaGFuZ2Ugb2Ygc2VsZWN0ZWQgc3RhdGUgb2YgY29udGVudCBvciBsaW5rLCBpZiB0aGVyZSBpcyBhbnkgY2hpbGRyZW4gd2l0aCBJICovXG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRDaGFuZ2UoaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHRoaXMuY29udGFpbnNJZChpZCk7XG4gICAgICAgIHRoaXMuX2FyaWFTZWxlY3RlZCA9IHNlbGVjdGVkO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbnRlbnRJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmxpbmtJdGVtKSB7XG4gICAgICAgICAgICB0aGlzLmxpbmtJdGVtLmNoYW5nZVNlbGVjdGVkKHNlbGVjdGVkKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, ContentChild, HostBinding, Input, Optional, ViewChild, ViewEncapsulation, computed } from '@angular/core';\nimport { RtlService } from '@fundamental-ngx/cdk/utils';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent } from '@fundamental-ngx/core/popover';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemService } from '../nested-item/nested-item.service';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListTitleDirective } from '../nested-list-directives';\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\";\nexport class NestedListPopoverComponent {\n /** @hidden */\n constructor(_keyboardNestService, _itemService, _rtlService) {\n this._keyboardNestService = _keyboardNestService;\n this._itemService = _itemService;\n this._rtlService = _rtlService;\n /** @hidden\n * For Internal Usage - Gets information about title, which should be displayed inside popover\n */\n this.title = '';\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 ngAfterContentInit() {\n if (!this.title) {\n this.title = this._getTitle();\n }\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 /** Returns title of nested link element inside content directive */\n _getTitle() {\n if (this.contentDirective && this.contentDirective.nestedLink) {\n return this.contentDirective.nestedLink.getTitle();\n }\n else {\n return '';\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 }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListPopoverComponent, isStandalone: true, selector: \"fd-nested-list-popover\", inputs: { title: \"title\" }, host: { properties: { \"class.fd-nested-list__popover\": \"this.popoverClass\" } }, queries: [{ propertyName: \"linkDirective\", first: true, predicate: NestedLinkDirective, descendants: true }, { propertyName: \"contentDirective\", first: true, predicate: NestedListContentDirective, 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>\\n <fd-popover-control>\\n <ng-content select=\\\"[fd-nested-list-link]\\\"></ng-content>\\n <ng-content select=\\\"[fd-nested-list-content]\\\"></ng-content>\\n </fd-popover-control>\\n <fd-popover-body class=\\\"fd-nested-list--text-only\\\">\\n <a fd-nested-list-link class=\\\"fd-nested-list__popover-header\\\">\\n <span fd-nested-list-title>{{ title }}</span>\\n </a>\\n <ng-content select=\\\"[fd-nested-list]\\\"></ng-content>\\n <ng-content select=\\\"fd-prepared-nested-list\\\"></ng-content>\\n </fd-popover-body>\\n</fd-popover>\\n\", styles: [\".fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__title{display:inline-flex}.fd-side-nav--condensed .fd-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fd-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__link,.fd-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fd-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\"] }, { kind: \"directive\", type: NestedLinkDirective, selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: NestedListTitleDirective, selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\" }], 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: 'fd-nested-list-popover', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n PopoverComponent,\n PopoverControlComponent,\n PopoverBodyComponent,\n NestedLinkDirective,\n NestedListTitleDirective\n ], template: \"<fd-popover\\n [placement]=\\\"placement$()\\\"\\n [triggers]=\\\"['click']\\\"\\n [noArrow]=\\\"false\\\"\\n [isOpen]=\\\"open\\\"\\n (isOpenChange)=\\\"handleOpenChange($event)\\\"\\n>\\n <fd-popover-control>\\n <ng-content select=\\\"[fd-nested-list-link]\\\"></ng-content>\\n <ng-content select=\\\"[fd-nested-list-content]\\\"></ng-content>\\n </fd-popover-control>\\n <fd-popover-body class=\\\"fd-nested-list--text-only\\\">\\n <a fd-nested-list-link class=\\\"fd-nested-list__popover-header\\\">\\n <span fd-nested-list-title>{{ title }}</span>\\n </a>\\n <ng-content select=\\\"[fd-nested-list]\\\"></ng-content>\\n <ng-content select=\\\"fd-prepared-nested-list\\\"></ng-content>\\n </fd-popover-body>\\n</fd-popover>\\n\", styles: [\".fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__title{display:inline-flex}.fd-side-nav--condensed .fd-nested-list__popover-header{box-shadow:0 0 .25rem #00000026,inset 0 -.0625rem #d9d9d9}.fd-side-nav--condensed .fd-popover-custom{display:block}[dir=rtl] .fd-side-nav--condensed .fd-popover-container-custom .fd-nested-list__link,.fd-side-nav--condensed[dir=rtl] .fd-popover-container-custom .fd-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 }] }], propDecorators: { title: [{\n type: Input\n }], popoverComponent: [{\n type: ViewChild,\n args: [PopoverComponent]\n }], popoverClass: [{\n type: HostBinding,\n args: ['class.fd-nested-list__popover']\n }], linkDirective: [{\n type: ContentChild,\n args: [NestedLinkDirective]\n }], contentDirective: [{\n type: ContentChild,\n args: [NestedListContentDirective]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QtcG9wb3Zlci9uZXN0ZWQtbGlzdC1wb3BvdmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBQ0wsUUFBUSxFQUNSLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsUUFBUSxFQUNYLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoSCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUU3RixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFpQjVFLE1BQU0sT0FBTywwQkFBMEI7SUFtQ25DLGNBQWM7SUFDZCxZQUNZLG9CQUErQyxFQUNuQyxZQUErQixFQUMvQixXQUF1QjtRQUZuQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQTJCO1FBQ25DLGlCQUFZLEdBQVosWUFBWSxDQUFt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biAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsXG4gICAgT3B0aW9uYWwsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGNvbXB1dGVkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBSdGxTZXJ2aWNlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgUG9wb3ZlckJvZHlDb21wb25lbnQsIFBvcG92ZXJDb21wb25lbnQsIFBvcG92ZXJDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3BvcG92ZXInO1xuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlL3NoYXJlZCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1jb250ZW50L25lc3RlZC1saXN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1JbnRlcmZhY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbVNlcnZpY2UgfSBmcm9tICcuLi9uZXN0ZWQtaXRlbS9uZXN0ZWQtaXRlbS5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckludGVyZmFjZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLW5lc3RlZC1saXN0LXBvcG92ZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZXN0ZWQtbGlzdC1wb3BvdmVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIFBvcG92ZXJDb21wb25lbnQsXG4gICAgICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmVzdGVkTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCBpbXBsZW1lbnRzIE5lc3RlZExpc3RQb3BvdmVySW50ZXJmYWNlLCBBZnRlckNvbnRlbnRJbml0IHtcbiAgICAvKiogQGhpZGRlblxuICAgICAqIEZvciBJbnRlcm5hbCBVc2FnZSAtIEdldHMgaW5mb3JtYXRpb24gYWJvdXQgdGl0bGUsIHdoaWNoIHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5zaWRlIHBvcG92ZXJcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpdGxlID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoUG9wb3ZlckNvbXBvbmVudClcbiAgICBwb3BvdmVyQ29tcG9uZW50OiBQb3BvdmVyQ29tcG9uZW50O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW5lc3RlZC1saXN0X19wb3BvdmVyJylcbiAgICBwb3BvdmVyQ2xhc3MgPSB0cnVlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpbmtEaXJlY3RpdmUpXG4gICAgbGlua0RpcmVjdGl2ZTogTmVzdGVkTGlua0RpcmVjdGl2ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQENvbnRlbnRDaGlsZChOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSlcbiAgICBjb250ZW50RGlyZWN0aXZlOiBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBSZWZlcmVuY2UgdG8gcGFyZW50IGl0ZW0sIHRvIHByb3BhZ2F0ZSBvcGVuIGFuZCBjbG9zZSBjaGFuZ2UgZnJvbSBwb3BvdmVyLlxuICAgICAqL1xuICAgIHBhcmVudEl0ZW1FbGVtZW50OiBOZXN0ZWRJdGVtSW50ZXJmYWNlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwbGFjZW1lbnQkID0gY29tcHV0ZWQ8UGxhY2VtZW50PigoKSA9PiAodGhpcy5fcnRsU2VydmljZT8ucnRsU2lnbmFsKCkgPyAnbGVmdC1zdGFydCcgOiAncmlnaHQtc3RhcnQnKSk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9wZW4gPSBmYWxzZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2tleWJvYXJkTmVzdFNlcnZpY2U6IE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2l0ZW1TZXJ2aWNlOiBOZXN0ZWRJdGVtU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfcnRsU2VydmljZTogUnRsU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLl9saXN0ZW5PbktleWJvYXJkUmVmcmVzaCgpO1xuICAgICAgICBpZiAodGhpcy5faXRlbVNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMuX2l0ZW1TZXJ2aWNlLnBvcG92ZXIgPSB0aGlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy50aXRsZSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZSA9IHRoaXMuX2dldFRpdGxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNZXRob2QgY2FsbGVkLCB3aGVuIG9wZW4gc3RhdGUgaXMgY2hhbmdlZCwgZnJvbSBwb3BvdmVyIGNvbXBvbmVudCAoZXNjYXBlIGtleSwgb3V0c2lkZSBjbGljaykuXG4gICAgICovXG4gICAgaGFuZGxlT3BlbkNoYW5nZShvcGVuOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IG9wZW47XG4gICAgICAgIGlmICh0aGlzLnBhcmVudEl0ZW1FbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAob3Blbikge1xuICAgICAgICAgICAgICAgIHRoaXMucGFyZW50SXRlbUVsZW1lbnQudHJpZ2dlck9wZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYXJlbnRJdGVtRWxlbWVudC50cmlnZ2VyQ2xvc2UoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBSZXR1cm5zIHRpdGxlIG9mIG5lc3RlZCBsaW5rIGVsZW1lbnQgaW5zaWRlIGNvbnRlbnQgZGlyZWN0aXZlICovXG4gICAgcHJpdmF0ZSBfZ2V0VGl0bGUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudERpcmVjdGl2ZSAmJiB0aGlzLmNvbnRlbnREaXJlY3RpdmUubmVzdGVkTGluaykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudERpcmVjdGl2ZS5uZXN0ZWRMaW5rLmdldFRpdGxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2xpc3Rlbk9uS2V5Ym9hcmRSZWZyZXNoKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9rZXlib2FyZE5lc3RTZXJ2aWNlLnJlZnJlc2gkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAvKiogVXBkYXRlIHBvcG92ZXIgcG9zaXRpb24sIG9uIGxpc3Qgb2YgaGlkZGVuIGl0ZW1zIGNoYW5nZSAqL1xuICAgICAgICAgICAgaWYgKHRoaXMucG9wb3ZlckNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRoaXMucG9wb3ZlckNvbXBvbmVudC5yZWZyZXNoUG9zaXRpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGZkLXBvcG92ZXJcbiAgICBbcGxhY2VtZW50XT1cInBsYWNlbWVudCQoKVwiXG4gICAgW3RyaWdnZXJzXT1cIlsnY2xpY2snXVwiXG4gICAgW25vQXJyb3ddPVwiZmFsc2VcIlxuICAgIFtpc09wZW5dPVwib3BlblwiXG4gICAgKGlzT3BlbkNoYW5nZSk9XCJoYW5kbGVPcGVuQ2hhbmdlKCRldmVudClcIlxuPlxuICAgIDxmZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1uZXN0ZWQtbGlzdC1saW5rXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2ZkLW5lc3RlZC1saXN0LWNvbnRlbnRdXCI+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcG9wb3Zlci1jb250cm9sPlxuICAgIDxmZC1wb3BvdmVyLWJvZHkgY2xhc3M9XCJmZC1uZXN0ZWQtbGlzdC0tdGV4dC1vbmx5XCI+XG4gICAgICAgIDxhIGZkLW5lc3RlZC1saXN0LWxpbmsgY2xhc3M9XCJmZC1uZXN0ZWQtbGlzdF9fcG9wb3Zlci1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGZkLW5lc3RlZC1saXN0LXRpdGxlPnt7IHRpdGxlIH19PC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltmZC1uZXN0ZWQtbGlzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZkLXByZXBhcmVkLW5lc3RlZC1saXN0XCI+PC9uZy1jb250ZW50PlxuICAgIDwvZmQtcG9wb3Zlci1ib2R5PlxuPC9mZC1wb3BvdmVyPlxuIl19","import { ChangeDetectorRef, ContentChild, ContentChildren, Directive, ElementRef, forwardRef, HostBinding, Inject, INJECTOR, Input, Optional, QueryList } from '@angular/core';\nimport { combineLatest, Observable, startWith, Subscription } from 'rxjs';\nimport { ContentDensityObserver, contentDensityObserverProviders } from '@fundamental-ngx/core/content-density';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { FD_LANGUAGE, TranslationResolver } from '@fundamental-ngx/i18n';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\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-keyboard.service\";\nimport * as i3 from \"../nested-list-state.service\";\nimport * as i4 from \"@fundamental-ngx/core/content-density\";\nimport * as i5 from \"rxjs\";\nfunction provideNestedListStateService() {\n // Nested list can be nested, and that will cause on each individual instance of NestedListStateService.\n return {\n provide: NestedListStateService,\n useFactory: (injector) => injector.get(NestedListStateService, new NestedListStateService(), { skipSelf: true }),\n deps: [INJECTOR]\n };\n}\n/**\n * <div fd-nested-list>\n * <div fd-nested-list>\n * </div>\n * </div>\n */\nexport class NestedListDirective {\n /** @hidden */\n constructor(_nestedItemService, _nestedListKeyboardService, _elementRef, _changeDetectionRef, _nestedListStateService, _language$, _contentDensityObserver) {\n this._nestedItemService = _nestedItemService;\n this._nestedListKeyboardService = _nestedListKeyboardService;\n this._elementRef = _elementRef;\n this._changeDetectionRef = _changeDetectionRef;\n this._nestedListStateService = _nestedListStateService;\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._subscriptions = new Subscription();\n /** @hidden */\n this._translationResolver = new TranslationResolver();\n if (this._nestedItemService) {\n this._nestedItemService.list = this;\n }\n _contentDensityObserver.subscribe();\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n /** @hidden */\n ngAfterContentInit() {\n let nestedLevel = this._getNestedLevel();\n /** If there is condensed mode, maximum 2nd level class of nest can be added */\n if (this._nestedListStateService.condensed) {\n nestedLevel = Math.min(...[nestedLevel, 2]);\n }\n this._setAccessibilityProperties(nestedLevel);\n const sub = combineLatest([this._language$, this.nestedItems.changes.pipe(startWith(undefined))]).subscribe(([lang]) => {\n this._nestedListKeyboardService.refresh$.next();\n this._setAriaAttributes(nestedLevel, lang);\n });\n this._subscriptions.add(sub);\n this._handleNestedLevel(nestedLevel);\n }\n /** @hidden */\n detectChanges() {\n this._changeDetectionRef.markForCheck();\n }\n /** @hidden */\n _handleNestedLevel(level) {\n /** Adding class with the nested level */\n this._elementRef.nativeElement.classList.add('level-' + level);\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 of the parentNode elements of current NestedListDirective element */\n while (element.parentNode) {\n parentElements.unshift(element);\n element = element.parentNode;\n }\n /** Filter only elements, that has `fd-nested-list` directive attribute */\n const filteredParentElements = parentElements.filter((_element) => _element.hasAttribute('fd-nested-list'));\n return filteredParentElements.length;\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: NestedListDirective, deps: [{ token: i1.NestedItemService, optional: true }, { token: i2.NestedListKeyboardService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i3.NestedListStateService }, { token: FD_LANGUAGE }, { token: i4.ContentDensityObserver }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.1.4\", type: NestedListDirective, isStandalone: true, selector: \"[fdNestedList], [fd-nested-list]\", inputs: { textOnly: \"textOnly\", ariaRoledescriptionTree: \"ariaRoledescriptionTree\", ariaRoledescriptionMenuBar: \"ariaRoledescriptionMenuBar\", ariaLabelSelected: \"ariaLabelSelected\" }, host: { properties: { \"class.fd-nested-list--text-only\": \"this.textOnly\", \"class.fd-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: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ], queries: [{ propertyName: \"_nestedListHeader\", first: true, predicate: NestedListHeaderDirective, descendants: true }, { propertyName: \"nestedItems\", predicate: i0.forwardRef(() => NestedItemDirective) }], ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[fdNestedList], [fd-nested-list]',\n providers: [\n contentDensityObserverProviders(),\n MenuKeyboardService,\n NestedListKeyboardService,\n provideNestedListStateService()\n ],\n standalone: true\n }]\n }], ctorParameters: () => [{ type: i1.NestedItemService, decorators: [{\n type: Optional\n }] }, { type: i2.NestedListKeyboardService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i3.NestedListStateService }, { type: i5.Observable, decorators: [{\n type: Inject,\n args: [FD_LANGUAGE]\n }] }, { type: i4.ContentDensityObserver }], propDecorators: { textOnly: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.fd-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.fd-nested-list']\n }], hidden: [{\n type: HostBinding,\n args: ['attr.aria-hidden']\n }], nestedItems: [{\n type: ContentChildren,\n args: [forwardRef(() => NestedItemDirective)]\n }], _nestedListHeader: [{\n type: ContentChild,\n args: [NestedListHeaderDirective]\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saXN0L25lc3RlZC1saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsaUJBQWlCLEVBQ2pCLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLE1BQU0sRUFDTixRQUFRLEVBRVIsS0FBSyxFQUVMLFFBQVEsRUFFUixTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFjLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7QUFHdEUsU0FBUyw2QkFBNkI7SUFDbEMsd0dBQXdHO0lBQ3hHLE9BQU87UUFDSCxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUMvQixRQUFR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b250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5qZWN0LFxuICAgIElOSkVDVE9SLFxuICAgIEluamVjdG9yLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPcHRpb25hbCxcbiAgICBQcm92aWRlcixcbiAgICBRdWVyeUxpc3Rcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBzdGFydFdpdGgsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBOdWxsYWJsZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY2RrL3V0aWxzJztcbmltcG9ydCB7IENvbnRlbnREZW5zaXR5T2JzZXJ2ZXIsIGNvbnRlbnREZW5zaXR5T2JzZXJ2ZXJQcm92aWRlcnMgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvY29udGVudC1kZW5zaXR5JztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBGRF9MQU5HVUFHRSwgRmRMYW5ndWFnZSwgVHJhbnNsYXRpb25SZXNvbHZlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvaTE4bic7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZEl0ZW1TZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qta2V5Ym9hcmQuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vbmVzdGVkLWxpc3Qtc3RhdGUuc2VydmljZSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0SW50ZXJmYWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC5pbnRlcmZhY2UnO1xuXG5mdW5jdGlvbiBwcm92aWRlTmVzdGVkTGlzdFN0YXRlU2VydmljZSgpOiBQcm92aWRlciB7XG4gICAgLy8gTmVzdGVkIGxpc3QgY2FuIGJlIG5lc3RlZCwgYW5kIHRoYXQgd2lsbCBjYXVzZSBvbiBlYWNoIGluZGl2aWR1YWwgaW5zdGFuY2Ugb2YgTmVzdGVkTGlzdFN0YXRlU2VydmljZS5cbiAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICB1c2VGYWN0b3J5OiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PlxuICAgICAgICAgICAgaW5qZWN0b3IuZ2V0KE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UsIG5ldyBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlKCksIHsgc2tpcFNlbGY6IHRydWUgfSksXG4gICAgICAgIGRlcHM6IFtJTkpFQ1RPUl1cbiAgICB9O1xufVxuXG4vKipcbiAqIDxkaXYgZmQtbmVzdGVkLWxpc3Q+XG4gKiAgPGRpdiBmZC1uZXN0ZWQtbGlzdD5cbiAqICA8L2Rpdj5cbiAqIDwvZGl2PlxuICovXG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2ZkTmVzdGVkTGlzdF0sIFtmZC1uZXN0ZWQtbGlzdF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBjb250ZW50RGVuc2l0eU9ic2VydmVyUHJvdmlkZXJzKCksXG4gICAgICAgIE1lbnVLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIE5lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UsXG4gICAgICAgIHByb3ZpZGVOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlKClcbiAgICBdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgTmVzdGVkTGlzdERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE5lc3RlZExpc3RJbnRlcmZhY2UsIE9uRGVzdHJveSB7XG4gICAgLyoqIEluIGNhc2UgdGhlIHVzZXIgd2FudHMgdG8gbm8gdXNlIGljb25zIGZvciBpdGVtcyBpbiB0aGlzIGxpc3QgKi9cbiAgICBASW5wdXQoKVxuICAgIEBIb3N0QmluZGluZygnY2xhc3MuZmQtbmVzdGVkLWxpc3QtLXRleHQtb25seScpXG4gICAgdGV4dE9ubHkgPSBmYWxzZTtcblxuICAgIC8qKiBBcmlhIGRlZmluZXMgcm9sZSBkZXNjcmlwdGlvbiBmb3IgdGhlIE5lc3RlZCBMaXN0IFRyZWUuICovXG4gICAgQElucHV0KClcbiAgICBhcmlhUm9sZWRlc2NyaXB0aW9uVHJlZSA9ICdOYXZpZ2F0aW9uIExpc3QgVHJlZSc7XG5cbiAgICAvKiogQXJpYSBkZWZpbmVzIHJvbGUgZGVzY3JpcHRpb24gZm9yIHRoZSBOZXN0ZWQgTGlzdCBNZW51QmFyLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYVJvbGVkZXNjcmlwdGlvbk1lbnVCYXIgPSAnTmF2aWdhdGlvbiBMaXN0IE1lbnUgQmFyJztcblxuICAgIC8qKiBBcmlhIGRlZmluZXMgYXJpYSBsYWJlbCBmb3IgdGhlIHNlbGVjdGVkIGl0ZW0gd2hlbiB0aGUgbGlzdCB3aXRoIGRpc2FibGVkIHNlbGVjdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFyaWFMYWJlbFNlbGVjdGVkID0gJ1NlbGVjdGVkJztcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5mZC1uZXN0ZWQtbGlzdCcpXG4gICAgZmROZXN0ZWRMaXN0SXRlbUNsYXNzID0gdHJ1ZTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtaGlkZGVuJylcbiAgICBoaWRkZW4gPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBUaGlzIHZhcmlhYmxlIGlzIG1vc3RseSB0byBrZWVwIHRyYWNrIG9mIHRoaXMgbGlzdCdzIGNoaWxkcmVuLiBUaGVyZSBpcyBub3QgdXNhZ2Ugb2YgaXQgaW5zaWRlIHRoaXMgZGlyZWN0aXZlLFxuICAgICAqIGJ1dCBpdCdzIHVzZWQgYnkgc2VydmljZXMgYW5kIE5lc3RlZEl0ZW1EaXJlY3RpdmUgYnkgaXRzZWxmLFxuICAgICAqL1xuICAgIEBDb250ZW50Q2hpbGRyZW4oZm9yd2FyZFJlZigoKSA9PiBOZXN0ZWRJdGVtRGlyZWN0aXZlKSlcbiAgICBuZXN0ZWRJdGVtczogUXVlcnlMaXN0PE5lc3RlZEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBAQ29udGVudENoaWxkKE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUpXG4gICAgcHJvdGVjdGVkIF9uZXN0ZWRMaXN0SGVhZGVyOiBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIucm9sZScpXG4gICAgcHJvdGVjdGVkIF9yb2xlID0gJ3RyZWUnO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yb2xlZGVzY3JpcHRpb24nKVxuICAgIHByb3RlY3RlZCBfYXJpYVJvbGVkZXNjcmlwdGlvbjogTnVsbGFibGU8c3RyaW5nPiA9IHRoaXMuYXJpYVJvbGVkZXNjcmlwdGlvblRyZWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWhhc3BvcHVwJylcbiAgICBwcm90ZWN0ZWQgX2FyaWFIYXNwb3B1cDogTnVsbGFibGU8c3RyaW5nPiA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpXG4gICAgcHJvdGVjdGVkIF90YWJpbmRleCA9ICctMSc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3RyYW5zbGF0aW9uUmVzb2x2ZXIgPSBuZXcgVHJhbnNsYXRpb25SZXNvbHZlcigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSBfbmVzdGVkSXRlbVNlcnZpY2U6IE5lc3RlZEl0ZW1TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9uZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlOiBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3Rpb25SZWY6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IF9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlOiBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KEZEX0xBTkdVQUdFKSBwcml2YXRlIF9sYW5ndWFnZSQ6IE9ic2VydmFibGU8RmRMYW5ndWFnZT4sXG4gICAgICAgIF9jb250ZW50RGVuc2l0eU9ic2VydmVyOiBDb250ZW50RGVuc2l0eU9ic2VydmVyXG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLl9uZXN0ZWRJdGVtU2VydmljZSkge1xuICAgICAgICAgICAgdGhpcy5fbmVzdGVkSXRlbVNlcnZpY2UubGlzdCA9IHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgX2NvbnRlbnREZW5zaXR5T2JzZXJ2ZXIuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICBsZXQgbmVzdGVkTGV2ZWw6IG51bWJlciA9IHRoaXMuX2dldE5lc3RlZExldmVsKCk7XG4gICAgICAgIC8qKiBJZiB0aGVyZSBpcyBjb25kZW5zZWQgbW9kZSwgbWF4aW11bSAybmQgbGV2ZWwgY2xhc3Mgb2YgbmVzdCBjYW4gYmUgYWRkZWQgKi9cbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkKSB7XG4gICAgICAgICAgICBuZXN0ZWRMZXZlbCA9IE1hdGgubWluKC4uLltuZXN0ZWRMZXZlbCwgMl0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fc2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXMobmVzdGVkTGV2ZWwpO1xuXG4gICAgICAgIGNvbnN0IHN1YiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuX2xhbmd1YWdlJCwgdGhpcy5uZXN0ZWRJdGVtcy5jaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHVuZGVmaW5lZCkpXSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKFtsYW5nXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX25lc3RlZExpc3RLZXlib2FyZFNlcnZpY2UucmVmcmVzaCQubmV4dCgpO1xuICAgICAgICAgICAgICAgIHRoaXMuX3NldEFyaWFBdHRyaWJ1dGVzKG5lc3RlZExldmVsLCBsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcblxuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLmFkZChzdWIpO1xuXG4gICAgICAgIHRoaXMuX2hhbmRsZU5lc3RlZExldmVsKG5lc3RlZExldmVsKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGRldGVjdENoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdGlvblJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2hhbmRsZU5lc3RlZExldmVsKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgLyoqIEFkZGluZyBjbGFzcyB3aXRoIHRoZSBuZXN0ZWQgbGV2ZWwgKi9cbiAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ2xldmVsLScgKyBsZXZlbCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIE1ldGhvZCwgdGhhdCBjaGVja3MgaG93IGRlZXAgaXMgdGhlIGxpc3QgZWxlbWVudFxuICAgICAqL1xuICAgIHByaXZhdGUgX2dldE5lc3RlZExldmVsKCk6IG51bWJlciB7XG4gICAgICAgIGxldCBlbGVtZW50ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBwYXJlbnRFbGVtZW50czogRWxlbWVudFtdID0gW107XG5cbiAgICAgICAgLyoqIE1ldGhvZCB0aGF0IGdhdGhlcnMgYWxsIG9mIHRoZSBwYXJlbnROb2RlIGVsZW1lbnRzIG9mIGN1cnJlbnQgTmVzdGVkTGlzdERpcmVjdGl2ZSBlbGVtZW50ICovXG4gICAgICAgIHdoaWxlIChlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgICAgICAgIHBhcmVudEVsZW1lbnRzLnVuc2hpZnQoZWxlbWVudCk7XG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgLyoqIEZpbHRlciBvbmx5IGVsZW1lbnRzLCB0aGF0IGhhcyBgZmQtbmVzdGVkLWxpc3RgIGRpcmVjdGl2ZSBhdHRyaWJ1dGUgKi9cbiAgICAgICAgY29uc3QgZmlsdGVyZWRQYXJlbnRFbGVtZW50cyA9IHBhcmVudEVsZW1lbnRzLmZpbHRlcigoX2VsZW1lbnQpID0+IF9lbGVtZW50Lmhhc0F0dHJpYnV0ZSgnZmQtbmVzdGVkLWxpc3QnKSk7XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZFBhcmVudEVsZW1lbnRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFyaWFBdHRyaWJ1dGVzKGxldmVsOiBudW1iZXIsIGxhbmc6IEZkTGFuZ3VhZ2UpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZXN0ZWRJdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICBpdGVtLl9hcmlhTGV2ZWwgPSBsZXZlbDtcbiAgICAgICAgICAgIGlmICghaXRlbS5saW5rSXRlbSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaXRlbS5saW5rSXRlbS5hcmlhRGVzY3JpYmVkYnkgPSB0aGlzLl9uZXN0ZWRMaXN0SGVhZGVyPy5pZCB8fCBudWxsO1xuICAgICAgICAgICAgICAgIGl0ZW0ubGlua0l0ZW0uX2FyaWFMYWJlbCA9IHRoaXMuX3RyYW5zbGF0aW9uUmVzb2x2ZXIucmVzb2x2ZShsYW5nLCAnY29yZU5lc3RlZExpc3QubGlua0l0ZW1BcmlhTGFiZWwnLCB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1EZXRhaWxzOiBpdGVtLmxpbmtJdGVtLmdldFRpdGxlKCksXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiBpICsgMSwgLy8gVE9ETzogdGhpcyBwcm9wZXJ0eSBoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0cmFuc2xhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgdG90YWw6IHRoaXMubmVzdGVkSXRlbXMubGVuZ3RoLCAvLyBUT0RPOiB0aGlzIHByb3BlcnR5IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZERlc2NyaXB0aW9uOlxuICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2Uuc2VsZWN0YWJsZSAmJiBpdGVtLmxpbmtJdGVtLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnLCAnICsgdGhpcy5hcmlhTGFiZWxTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0aW9uUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3NldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzKGxldmVsOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuX25lc3RlZExpc3RTdGF0ZVNlcnZpY2UuY29uZGVuc2VkICYmIGxldmVsID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLl9hcmlhUm9sZWRlc2NyaXB0aW9uID0gdGhpcy5hcmlhUm9sZWRlc2NyaXB0aW9uTWVudUJhcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChsZXZlbCA+IDEgfHwgKHRoaXMuX25lc3RlZEl0ZW1TZXJ2aWNlPy5wb3BvdmVyICYmICF0aGlzLl9uZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlLmNvbmRlbnNlZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX3JvbGUgPSAnZ3JvdXAnO1xuICAgICAgICAgICAgdGhpcy5fYXJpYVJvbGVkZXNjcmlwdGlvbiA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5fbmVzdGVkSXRlbVNlcnZpY2U/LnBvcG92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWFIYXNwb3B1cCA9ICd0cmVlJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, forwardRef } from '@angular/core';\nimport { RouterLink } from '@angular/router';\nimport { NestedListContentDirective } from '../nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from '../nested-item/nested-item.directive';\nimport { NestedLinkDirective } from '../nested-link/nested-link.directive';\nimport { NestedListExpandIconComponent, NestedListHeaderDirective, NestedListIconComponent, NestedListTitleDirective } from '../nested-list-directives';\nimport { NestedListPopoverComponent } from '../nested-list-popover/nested-list-popover.component';\nimport { NestedListDirective } from '../nested-list/nested-list.directive';\nimport * as i0 from \"@angular/core\";\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 nestedListDirective() {\n return this._nestedListDirective;\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: \"fd-prepared-nested-list\", inputs: { first: \"first\", condensed: \"condensed\", list: \"list\" }, viewQueries: [{ propertyName: \"_nestedListDirective\", first: true, predicate: i0.forwardRef(() => NestedListDirective), descendants: true }], ngImport: i0, template: \"<ul fd-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fd-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fd-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fd-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fd-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n </fd-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 fd-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fd-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 fd-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fd-nested-list-title>{{ item.link.title }}</span>\\n </a>\\n }\\n </ng-template>\\n </li>\\n }\\n }\\n</ul>\\n\", styles: [\"\"], dependencies: [{ kind: \"component\", type: i0.forwardRef(() => PreparedNestedListComponent), selector: \"fd-prepared-nested-list\", inputs: [\"first\", \"condensed\", \"list\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListDirective), selector: \"[fdNestedList], [fd-nested-list]\", inputs: [\"textOnly\", \"ariaRoledescriptionTree\", \"ariaRoledescriptionMenuBar\", \"ariaLabelSelected\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListHeaderDirective), selector: \"[fdNestedDirectivesHeader], [fd-nested-list-header]\", inputs: [\"id\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedItemDirective), selector: \"[fdNestedItem], [fd-nested-list-item]\", inputs: [\"expanded\"], outputs: [\"expandedChange\", \"keyboardTriggered\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListPopoverComponent), selector: \"fd-nested-list-popover\", inputs: [\"title\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListContentDirective), selector: \"[fdNestedListContent], [fd-nested-list-content]\", inputs: [\"selected\"], outputs: [\"selectedChange\", \"keyboardTriggered\", \"clicked\"] }, { kind: \"directive\", type: i0.forwardRef(() => NgTemplateOutlet), selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListExpandIconComponent), selector: \"[fdNestedListExpandIcon], [fd-nested-list-expand-icon]\" }, { kind: \"directive\", type: i0.forwardRef(() => NestedLinkDirective), selector: \"[fdNestedLink], [fd-nested-list-link]\", inputs: [\"onClickCallback\", \"selected\", \"ariaDescribedby\"], outputs: [\"selectedChange\"] }, { kind: \"directive\", type: i0.forwardRef(() => RouterLink), selector: \"[routerLink]\", inputs: [\"target\", \"queryParams\", \"fragment\", \"queryParamsHandling\", \"state\", \"info\", \"relativeTo\", \"preserveFragment\", \"skipLocationChange\", \"replaceUrl\", \"routerLink\"] }, { kind: \"component\", type: i0.forwardRef(() => NestedListIconComponent), selector: \"[fdNestedDirectivesIcon], [fd-nested-list-icon]\", inputs: [\"role\"] }, { kind: \"directive\", type: i0.forwardRef(() => NestedListTitleDirective), selector: \"[fdNestedDirectivesTitle], [fd-nested-list-title]\" }], 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: 'fd-prepared-nested-list', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NestedListDirective,\n NestedListHeaderDirective,\n NestedItemDirective,\n NestedListPopoverComponent,\n NestedListContentDirective,\n NgTemplateOutlet,\n NestedListExpandIconComponent,\n forwardRef(() => PreparedNestedListComponent),\n NestedLinkDirective,\n RouterLink,\n NestedListIconComponent,\n NestedListTitleDirective\n ], template: \"<ul fd-nested-list [textOnly]=\\\"!!list?.textOnly\\\">\\n @for (item of list?.items; track item) {\\n @if (item.headerTitle) {\\n <li fd-nested-list-header>\\n {{ item.headerTitle }}\\n </li>\\n } @else {\\n <li fd-nested-list-item [expanded]=\\\"!!item.expanded\\\" (expandedChange)=\\\"_expandedChange($event, item)\\\">\\n @if (condensed && first && item.list) {\\n <fd-nested-list-popover [title]=\\\"item.link?.title || ''\\\">\\n <div fd-nested-list-content [selected]=\\\"!!item.link?.selected\\\">\\n <ng-template\\n [ngTemplateOutlet]=\\\"link\\\"\\n [ngTemplateOutletContext]=\\\"{ item: item }\\\"\\n ></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n </fd-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 fd-nested-list-content>\\n <ng-template [ngTemplateOutlet]=\\\"link\\\" [ngTemplateOutletContext]=\\\"{ item: item }\\\"></ng-template>\\n <button fd-nested-list-expand-icon></button>\\n </div>\\n @if (item.list) {\\n <fd-prepared-nested-list [first]=\\\"false\\\" [list]=\\\"item.list\\\"></fd-prepared-nested-list>\\n }\\n }\\n <ng-template let-item=\\\"item\\\" #link>\\n @if (item.link) {\\n <a\\n fd-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 fd-nested-list-icon [glyph]=\\\"item.link.icon\\\"></span>\\n }\\n <span fd-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 }], _nestedListDirective: [{\n type: ViewChild,\n args: [forwardRef(() => NestedListDirective)]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0L3ByZXBhcmVkLW5lc3RlZC1saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQ0gsNkJBQTZCLEVBQzdCLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQzNCLE1BQU0sMkJBQTJCLENBQUM7QUFFbkMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDbEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBRTNFOztHQUVHO0FBc0JILE1BQU0sT0FBTywyQkFBMkI7SUFyQnhDO1FBc0JJOzs7O1dBSUc7UUFFSCxVQUFLLEdBQUcsSUFBSSxDQUFDO1FBRWIsNERBQTREO1FBRTVELGNBQVMsR0FBRyxLQUFLLENBQUM7S0F3QnJCO0lBWkc7OztPQUdHO0lBQ0gsSUFBSSxtQkFBbUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDckMsQ0FBQztJQUVELGNBQWM7SUFDZCxlQUFlLENBQUMsUUFBaUIsRUFBRSxJQUFvQjtRQUNuRCxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUM3QixDQUFDOzhHQWxDUSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrTkFvQlIsbUJBQW1CLGlEQzdEbkQsOHZGQXNEQSw4RURiYSwyQkFBMkIsaUlBZGhDLG1CQUFtQixzTUFDbkIseUJBQXlCLHFJQUN6QixtQkFBbUIsK0tBQ25CLDBCQUEwQiwyR0FDMUIsMEJBQTBCLG9NQUMxQixnQkFBZ0IseUtBQ2hCLDZCQUE2Qix3SEFFN0IsbUJBQW1CLGdNQUNuQixVQUFVLHlQQUNWLHVCQUF1QixtSUFDdkIsd0JBQXdCOzsyRkFHbkIsMkJBQTJCO2tCQXJCdkMsU0FBUzsrQkFDSSx5QkFBeUIsaUJBR3BCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sV0FDdEM7d0JBQ0wsbUJBQW1CO3dCQUNuQix5QkFBeUI7d0JBQ3pCLG1CQUFtQjt3QkFDbkIsMEJBQTBCO3dCQUMxQiwwQkFBMEI7d0JBQzFCLGdCQUFnQjt3QkFDaEIsNkJBQTZCO3dCQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFLDRCQUE0QixDQUFDO3dCQUM3QyxtQkFBbUI7d0JBQ25CLFVBQVU7d0JBQ1YsdUJBQXVCO3dCQUN2Qix3QkFBd0I7cUJBQzNCOzhCQVNELEtBQUs7c0JBREosS0FBSztnQkFLTixTQUFTO3NCQURSLEtBQUs7Z0JBS04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uLCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvdXRpbHMnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtY29udGVudC9uZXN0ZWQtbGlzdC1jb250ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOZXN0ZWRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuLi9uZXN0ZWQtbGluay9uZXN0ZWQtbGluay5kaXJlY3RpdmUnO1xuaW1wb3J0IHtcbiAgICBOZXN0ZWRMaXN0RXhwYW5kSWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0SGVhZGVyRGlyZWN0aXZlLFxuICAgIE5lc3RlZExpc3RJY29uQ29tcG9uZW50LFxuICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZVxufSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1kaXJlY3RpdmVzJztcbmltcG9ydCB7IE5lc3RlZExpc3RJdGVtLCBOZXN0ZWRMaXN0TW9kZWwgfSBmcm9tICcuLi9uZXN0ZWQtbGlzdC1tb2RlbCc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCB9IGZyb20gJy4uL25lc3RlZC1saXN0LXBvcG92ZXIvbmVzdGVkLWxpc3QtcG9wb3Zlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4uL25lc3RlZC1saXN0L25lc3RlZC1saXN0LmRpcmVjdGl2ZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IGZvciBpbnRlcm5hbCB1c2FnZSwgYWxsb3dzIHRvIGdlbmVyYXRlIHRoZSBuZXN0ZWQgbGlzdCBmcm9tIGRlZmluZWQgb2JqZWN0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXByZXBhcmVkLW5lc3RlZC1saXN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9wcmVwYXJlZC1uZXN0ZWQtbGlzdC5jb21wb25lbnQuc2NzcycsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5lc3RlZExpc3REaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZEl0ZW1EaXJlY3RpdmUsXG4gICAgICAgIE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgICAgIGZvcndhcmRSZWYoKCkgPT4gUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50KSxcbiAgICAgICAgTmVzdGVkTGlua0RpcmVjdGl2ZSxcbiAgICAgICAgUm91dGVyTGluayxcbiAgICAgICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgICAgIE5lc3RlZExpc3RUaXRsZURpcmVjdGl2ZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgUHJlcGFyZWROZXN0ZWRMaXN0Q29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRm9yIGludGVybmFsIHVzYWdlLlxuICAgICAqIERlZmluZXMgaWYgdGhlIGNvbXBvbmVudCBpcyBmaXJzdFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgZmlyc3QgPSB0cnVlO1xuXG4gICAgLyoqIERlZmluZXMgaWYgbGlzdCBzaG91bGQgYmUgZGlzcGxheWVkIGluIGNvbmRlbnNlZCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICBjb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIC8qKiBMaXN0IGNvbmZpZ3VyYXRpb24qL1xuICAgIEBJbnB1dCgpXG4gICAgbGlzdDogTnVsbGFibGU8TmVzdGVkTGlzdE1vZGVsPjtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBAVmlld0NoaWxkKGZvcndhcmRSZWYoKCkgPT4gTmVzdGVkTGlzdERpcmVjdGl2ZSkpXG4gICAgX25lc3RlZExpc3REaXJlY3RpdmU6IE5lc3RlZExpc3REaXJlY3RpdmU7XG5cbiAgICAvKipcbiAgICAgKiBJbiBwcmVwYXJlZCBuZXN0ZWQgbGlzdCwgbmVzdGVkIGl0ZW1zIHNob3VsZCBiZSB0YWtlbiBhcyByZWZlcmVuY2Ugb2YgVmlldywgbm90IENvbnRlbnQuXG4gICAgICogVGhlcmUgaXMgZGlyZWN0IHJlZmVyZW5jZSB0byB0aGVzZSBkaXJlY3RpdmVzIGhlcmUuXG4gICAgICovXG4gICAgZ2V0IG5lc3RlZExpc3REaXJlY3RpdmUoKTogTmVzdGVkTGlzdERpcmVjdGl2ZSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9uZXN0ZWRMaXN0RGlyZWN0aXZlO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2V4cGFuZGVkQ2hhbmdlKGV4cGFuZGVkOiBib29sZWFuLCBpdGVtOiBOZXN0ZWRMaXN0SXRlbSk6IHZvaWQge1xuICAgICAgICBpdGVtLmV4cGFuZGVkID0gZXhwYW5kZWQ7XG4gICAgfVxufVxuIiwiPHVsIGZkLW5lc3RlZC1saXN0IFt0ZXh0T25seV09XCIhIWxpc3Q/LnRleHRPbmx5XCI+XG4gICAgQGZvciAoaXRlbSBvZiBsaXN0Py5pdGVtczsgdHJhY2sgaXRlbSkge1xuICAgICAgICBAaWYgKGl0ZW0uaGVhZGVyVGl0bGUpIHtcbiAgICAgICAgICAgIDxsaSBmZC1uZXN0ZWQtbGlzdC1oZWFkZXI+XG4gICAgICAgICAgICAgICAge3sgaXRlbS5oZWFkZXJUaXRsZSB9fVxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICA8bGkgZmQtbmVzdGVkLWxpc3QtaXRlbSBbZXhwYW5kZWRdPVwiISFpdGVtLmV4cGFuZGVkXCIgKGV4cGFuZGVkQ2hhbmdlKT1cIl9leHBhbmRlZENoYW5nZSgkZXZlbnQsIGl0ZW0pXCI+XG4gICAgICAgICAgICAgICAgQGlmIChjb25kZW5zZWQgJiYgZmlyc3QgJiYgaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIDxmZC1uZXN0ZWQtbGlzdC1wb3BvdmVyIFt0aXRsZV09XCJpdGVtLmxpbms/LnRpdGxlIHx8ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGZkLW5lc3RlZC1saXN0LWNvbnRlbnQgW3NlbGVjdGVkXT1cIiEhaXRlbS5saW5rPy5zZWxlY3RlZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGZkLW5lc3RlZC1saXN0LWV4cGFuZC1pY29uPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKGl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmZC1wcmVwYXJlZC1uZXN0ZWQtbGlzdCBbZmlyc3RdPVwiZmFsc2VcIiBbbGlzdF09XCJpdGVtLmxpc3RcIj48L2ZkLXByZXBhcmVkLW5lc3RlZC1saXN0PlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L2ZkLW5lc3RlZC1saXN0LXBvcG92ZXI+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoIWl0ZW0ubGlzdCkge1xuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlua1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAoKCFjb25kZW5zZWQgfHwgIWZpcnN0KSAmJiBpdGVtLmxpc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBmZC1uZXN0ZWQtbGlzdC1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpbmtcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBmZC1uZXN0ZWQtbGlzdC1leHBhbmQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saXN0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZmQtcHJlcGFyZWQtbmVzdGVkLWxpc3QgW2ZpcnN0XT1cImZhbHNlXCIgW2xpc3RdPVwiaXRlbS5saXN0XCI+PC9mZC1wcmVwYXJlZC1uZXN0ZWQtbGlzdD5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgI2xpbms+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZkLW5lc3RlZC1saXN0LWxpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb25DbGlja0NhbGxiYWNrXT1cIml0ZW0ubGluay5jYWxsYmFja1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkXT1cIiFpdGVtLmxpc3QgJiYgaXRlbS5saW5rLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5ocmVmXT1cIml0ZW0ubGluay5ocmVmID8gaXRlbS5saW5rLmhyZWYgOiBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJpdGVtLmxpbmsucm91dGVyTGluayA/IGl0ZW0ubGluay5yb3V0ZXJMaW5rIDogW11cIlxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoaXRlbS5saW5rLmljb24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gZmQtbmVzdGVkLWxpc3QtaWNvbiBbZ2x5cGhdPVwiaXRlbS5saW5rLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGZkLW5lc3RlZC1saXN0LXRpdGxlPnt7IGl0ZW0ubGluay50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICB9XG4gICAgfVxuPC91bD5cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { MenuKeyboardService } from '@fundamental-ngx/core/menu';\nimport { NestedListContentDirective } from './nested-content/nested-list-content.directive';\nimport { NestedItemDirective } from './nested-item/nested-item.directive';\nimport { NestedLinkDirective } from './nested-link/nested-link.directive';\nimport { 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 { NestedListDirective } from './nested-list/nested-list.directive';\nimport { PreparedNestedListComponent } from './prepared-nested-list/prepared-nested-list.component';\nimport * as i0 from \"@angular/core\";\nconst components = [\n NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective\n];\nexport class NestedListModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, imports: [NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective], exports: [NestedListDirective,\n NestedLinkDirective,\n NestedItemDirective,\n NestedListIconComponent,\n NestedListTitleDirective,\n NestedListHeaderDirective,\n NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent,\n NestedListContentDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService], imports: [NestedListPopoverComponent,\n PreparedNestedListComponent,\n NestedListExpandIconComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: NestedListModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [...components],\n exports: [...components],\n providers: [MenuKeyboardService, NestedListKeyboardService, NestedListStateService]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdGVkLWxpc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL25lc3RlZC1saXN0L25lc3RlZC1saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFDSCw2QkFBNkIsRUFDN0IseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDM0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUNqRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7QUFFcEcsTUFBTSxVQUFVLEdBQUc7SUFDZixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6QiwwQkFBMEI7SUFDMUIsMkJBQTJCO0lBQzNCLDZCQUE2QjtJQUM3QiwwQkFBMEI7Q0FDN0IsQ0FBQztBQU9GLE1BQU0sT0FBTyxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLFlBakJ6QixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsd0JBQXdCO1lBQ3hCLHlCQUF5QjtZQUN6QiwwQkFBMEI7WUFDMUIsMkJBQTJCO1lBQzNCLDZCQUE2QjtZQUM3QiwwQkFBMEIsYUFUMUIsbUJBQW1CO1lBQ25CLG1CQUFtQjtZQUNuQixtQkFBbUI7WUFDbkIsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4Qix5QkFBeUI7WUFDekIsMEJBQTBCO1lBQzFCLDJCQUEyQjtZQUMzQiw2QkFBNkI7WUFDN0IsMEJBQTBCOytHQVFqQixnQkFBZ0IsYUFGZCxDQUFDLG1CQUFtQixFQUFFLHlCQUF5QixFQUFFLHNCQUFzQixDQUFDLFlBVG5GLDBCQUEwQjtZQUMxQiwyQkFBMkI7WUFDM0IsNkJBQTZCOzsyRkFTcEIsZ0JBQWdCO2tCQUw1QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUN4QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsU0FBUyxFQUFFLENBQUMsbUJBQW1CLEVBQUUseUJBQXlCLEVBQUUsc0JBQXNCLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lbnVLZXlib2FyZFNlcnZpY2UgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvbWVudSc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWNvbnRlbnQvbmVzdGVkLWxpc3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTmVzdGVkSXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWl0ZW0vbmVzdGVkLWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE5lc3RlZExpbmtEaXJlY3RpdmUgfSBmcm9tICcuL25lc3RlZC1saW5rL25lc3RlZC1saW5rLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICAgIE5lc3RlZExpc3RFeHBhbmRJY29uQ29tcG9uZW50LFxuICAgIE5lc3RlZExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdFRpdGxlRGlyZWN0aXZlXG59IGZyb20gJy4vbmVzdGVkLWxpc3QtZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlIH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1rZXlib2FyZC5zZXJ2aWNlJztcbmltcG9ydCB7IE5lc3RlZExpc3RQb3BvdmVyQ29tcG9uZW50IH0gZnJvbSAnLi9uZXN0ZWQtbGlzdC1wb3BvdmVyL25lc3RlZC1saXN0LXBvcG92ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IE5lc3RlZExpc3RTdGF0ZVNlcnZpY2UgfSBmcm9tICcuL25lc3RlZC1saXN0LXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTmVzdGVkTGlzdERpcmVjdGl2ZSB9IGZyb20gJy4vbmVzdGVkLWxpc3QvbmVzdGVkLWxpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IFByZXBhcmVkTmVzdGVkTGlzdENvbXBvbmVudCB9IGZyb20gJy4vcHJlcGFyZWQtbmVzdGVkLWxpc3QvcHJlcGFyZWQtbmVzdGVkLWxpc3QuY29tcG9uZW50JztcblxuY29uc3QgY29tcG9uZW50cyA9IFtcbiAgICBOZXN0ZWRMaXN0RGlyZWN0aXZlLFxuICAgIE5lc3RlZExpbmtEaXJlY3RpdmUsXG4gICAgTmVzdGVkSXRlbURpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0SWNvbkNvbXBvbmVudCxcbiAgICBOZXN0ZWRMaXN0VGl0bGVEaXJlY3RpdmUsXG4gICAgTmVzdGVkTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgICBOZXN0ZWRMaXN0UG9wb3ZlckNvbXBvbmVudCxcbiAgICBQcmVwYXJlZE5lc3RlZExpc3RDb21wb25lbnQsXG4gICAgTmVzdGVkTGlzdEV4cGFuZEljb25Db21wb25lbnQsXG4gICAgTmVzdGVkTGlzdENvbnRlbnREaXJlY3RpdmVcbl07XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogWy4uLmNvbXBvbmVudHNdLFxuICAgIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXSxcbiAgICBwcm92aWRlcnM6IFtNZW51S2V5Ym9hcmRTZXJ2aWNlLCBOZXN0ZWRMaXN0S2V5Ym9hcmRTZXJ2aWNlLCBOZXN0ZWRMaXN0U3RhdGVTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBOZXN0ZWRMaXN0TW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtbmVzdGVkLWxpc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvbmVzdGVkLWxpc3QvZnVuZGFtZW50YWwtbmd4LWNvcmUtbmVzdGVkLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":["i1.NestedItemService","i2.NestedListKeyboardService","i3.NestedListStateService","i1.NestedListKeyboardService","i2.NestedItemService","i3"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;AACO,MAAM,iBAAiB,CAAC;AAC/B,IAAI,WAAW,GAAG;AAClB;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,EAAE;AACnC;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE;AAClC;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,OAAO,EAAE;AAClC;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,EAAE;AACpC,IAAI;AACJ;;ACNA,IAAI,QAAQ,GAAG,CAAC;AACT,MAAM,yBAAyB,CAAC;AACvC;AACA,IAAI,WAAW,CAAC,WAAW,EAAE;AAC7B,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC;AACA,QAAQ,IAAI,CAAC,EAAE,GAAG,CAAC,4BAA4B,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7D;AACA,QAAQ,IAAI,CAAC,uBAAuB,GAAG,IAAI;AAC3C,IAAI;AACJ;AACA,IAAI,IAAI,KAAK,GAAG;AAChB,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,WAAW;AACzD,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACnN,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,oCAAoC,EAAE,8BAA8B,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9W;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,qDAAqD;AACnF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,CAAC;AACpF,gBAAgB,IAAI,EAAE;AACtB,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,SAAS;AAChC,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;AAC1C,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oCAAoC;AAC3D,aAAa,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,uBAAuB,SAAS,aAAa,CAAC;AAC3D,IAAI,WAAW,GAAG;AAClB,QAAQ,KAAK,CAAC,GAAG,SAAS,CAAC;AAC3B;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,cAAc;AAClC;AACA,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACzC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,uBAAuB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iDAAiD,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AACpb;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,UAAU,EAAE,CAAC;AACjI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,iDAAiD;AAC/E,oBAAoB,QAAQ,EAAE,CAAC,yBAAyB,CAAC;AACzD,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;AACrC,gBAAgB,IAAI,EAAE;AACtB,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,WAAW;AAClC,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;AACxC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,4BAA4B;AACnD,aAAa,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,wBAAwB,CAAC;AACtC;AACA,IAAI,WAAW,CAAC,UAAU,EAAE;AAC5B,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU;AACpC;AACA,QAAQ,IAAI,CAAC,sBAAsB,GAAG,IAAI;AAC1C,IAAI;AACJ;AACA,IAAI,YAAY,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW;AAC3E,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAClN,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,mDAAmD,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACvT;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,mDAAmD;AACjF,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,sBAAsB,EAAE,CAAC;AACxG,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,6BAA6B;AACpD,aAAa,CAAC,EAAE,EAAE,CAAC;AACZ,MAAM,6BAA6B,CAAC;AAC3C;AACA,IAAI,WAAW,CAAC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE;AAC1D,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC;AACA,QAAQ,IAAI,CAAC,sBAAsB,GAAG,IAAI;AAC1C;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI;AAC9B;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,uBAAuB,GAAG,wBAAwB,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AACzL,IAAI;AACJ;AACA,IAAI,OAAO,CAAC,KAAK,EAAE;AACnB,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ;AACtC,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;AACpD,QAAQ,KAAK,CAAC,eAAe,EAAE;AAC/B,IAAI;AACJ;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;AACtC,IAAI;AACJ;AACA,IAAI,mBAAmB,CAAC,QAAQ,EAAE;AAClC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE;AAC1C,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAEA,iBAAoB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACzS,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,wDAAwD,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE;AACnmB;AACA;AACA,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9R;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC;AACvI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB;AACA,oBAAoB,QAAQ,EAAE,wDAAwD;AACtF,oBAAoB,QAAQ,EAAE;AAC9B;AACA;AACA,IAAI,CAAC;AACL,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,eAAe,EAAE,MAAM;AAC/C,wBAAwB,QAAQ,EAAE;AAClC,qBAAqB;AACrB,oBAAoB,eAAe,EAAE,uBAAuB,CAAC,MAAM;AACnE,oBAAoB,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACzD,oBAAoB,OAAO,EAAE,CAAC,aAAa;AAC3C,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAEA,iBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;AACvI,oBAAoB,IAAI,EAAE;AAC1B,iBAAiB,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,sBAAsB,EAAE,CAAC;AAClE,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,8BAA8B;AACrD,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iBAAiB;AACxC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oBAAoB;AAC3C,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,kBAAkB;AACzC,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC;AAC1C,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,EAAE,CAAC;;ACvKZ,MAAM,mBAAmB,CAAC;AACjC;AACA,IAAI,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE;AACzD,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,EAAE;AAChD;AACA,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACzC;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,CAAC;AACzB;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU;AAC9B,IAAI;AACJ;AACA,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,IAAI;AACJ;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;AACtC,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE;AAClC,YAAY,IAAI,CAAC,eAAe,EAAE;AAClC,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;AACtC,IAAI;AACJ;AACA,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC7B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9C,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9C,IAAI;AACJ;AACA,IAAI,QAAQ,GAAG;AACf,QAAQ,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;AACtD,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAEA,iBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/Q,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,uCAAuC,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC5zB;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,uCAAuC;AACrE,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAEA,iBAAoB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,eAAe,EAAE,CAAC;AACjK,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iBAAiB;AACxC,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;AAClC,gBAAgB,IAAI,EAAE;AACtB,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,uBAAuB;AAC9C,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;AACjC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;AACxC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,4BAA4B;AACnD,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,eAAe;AACtC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;AACvB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,WAAW;AAClC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;AACxB,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,wBAAwB;AAC/C,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;AAC5C,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,EAAE,CAAC;;AC9FZ,MAAM,0BAA0B,CAAC;AACxC;AACA,IAAI,WAAW,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE;AACzD,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,UAAU;AAC9B;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,KAAK;AACjC;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,EAAE;AAChD;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,YAAY,EAAE;AACnD;AACA,QAAQ,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE;AACzC;AACA,QAAQ,IAAI,CAAC,wBAAwB,GAAG,IAAI;AAC5C;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,KAAK;AAChC;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7C,IAAI;AACJ;AACA,IAAI,SAAS,CAAC,KAAK,EAAE;AACrB,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;AAC1C,QAAQ,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,IAAI;AACJ;AACA,IAAI,OAAO,GAAG;AACd,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE;AACtC,IAAI;AACJ;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,IAAI,CAAC,oBAAoB,EAAE;AACnC,QAAQ,IAAI,CAAC,qBAAqB,EAAE;AACpC,IAAI;AACJ;AACA,IAAI,cAAc,CAAC,QAAQ,EAAE;AAC7B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC1C,IAAI;AACJ;AACA,IAAI,mBAAmB,CAAC,QAAQ,EAAE;AAClC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACnC,YAAY,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC;AAC/D,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,EAAE;AAC9C,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAY,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;AACnC,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,qBAAqB,GAAG;AAC5B,QAAQ,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;AACxG,IAAI;AACJ;AACA,IAAI,oBAAoB,GAAG;AAC3B,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;AAC7B,YAAY,IAAI,CAAC,UAAU,CAAC,QAAQ,GAAG,CAAC,CAAC;AACzC,YAAY,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE;AAC7C,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAEA,iBAAoB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACtR,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iDAAiD,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,UAAU,EAAE,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC35B;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;AACpI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,iDAAiD;AAC/E,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,QAAQ,EAAE;AAClC,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAEA,iBAAoB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC1J,gBAAgB,IAAI,EAAE;AACtB,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;AACvB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,WAAW;AAClC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oBAAoB;AAC3C,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;AACjC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACpC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,wBAAwB,EAAE,CAAC;AAC3C,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,+BAA+B;AACtD,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iBAAiB;AACxC,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;AACnC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,6BAA6B;AACpD,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,CAAC;AAC5C,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC;AAC1B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,OAAO;AAC9B,aAAa,CAAC,EAAE,EAAE,CAAC;;ACzHnB;AACA;AACA;AACA;AACO,MAAM,yBAAyB,CAAC;AACvC;AACA,IAAI,WAAW,CAAC,eAAe,EAAE;AACjC,QAAQ,IAAI,CAAC,eAAe,GAAG,eAAe;AAC9C;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,EAAE;AACrC;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7C,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,YAAY,CAAC,KAAK,EAAE;AACxB,QAAQ,MAAM,KAAK,GAAG,EAAE;AACxB;AACA,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E;AACA,QAAQ,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACvC,YAAY,IAAI,CAAC;AACjB,iBAAiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,iBAAiB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;AAC1F,iBAAiB,SAAS,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/F,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ;AACA,IAAI,SAAS,CAAC,IAAI,EAAE;AACpB,QAAQ,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,gBAAgB,GAAG,EAAE;AACxE,QAAQ,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,QAAQ,KAAK;AAC/D,YAAY,GAAG,WAAW;AAC1B,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ;AACtC,SAAS,EAAE,CAAC,IAAI,CAAC,CAAC;AAClB,IAAI;AACJ;AACA,IAAI,gBAAgB,CAAC,IAAI,EAAE;AAC3B,QAAQ,MAAM,MAAM,GAAG,EAAE;AACzB,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACrE,YAAY,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK;AAC/C,gBAAgB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACpD,YAAY,CAAC,CAAC;AACd,QAAQ;AACR,QAAQ,OAAO,MAAM;AACrB,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE;AAChD,QAAQ,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC;AACjC,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE;AAC3D,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AACpD,gBAAgB,IAAI,CAAC,WAAW,EAAE;AAClC,YAAY;AACZ,YAAY,aAAa,CAAC,cAAc,EAAE;AAC1C,QAAQ;AACR,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,UAAU,CAAC,EAAE;AAC1D,YAAY,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AACnD,gBAAgB,IAAI,CAAC,YAAY,EAAE;AACnC,YAAY;AACZ,YAAY,aAAa,CAAC,cAAc,EAAE;AAC1C,QAAQ;AACR,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE;AAC9D,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE;AAClC,gBAAgB,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AACpC,YAAY;AACZ,YAAY,aAAa,CAAC,cAAc,EAAE;AAC1C,QAAQ;AACR,QAAQ,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,aAAa,EAAE,KAAK,EAAE,KAAK,CAAC;AACxE,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC1N,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAC/I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAChF,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,CAAC,mBAAmB;AAC9C,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;;AC3FjB,MAAM,sBAAsB,CAAC;AACpC,IAAI,WAAW,GAAG;AAClB;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK;AAC9B;AACA;AACA;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI;AAC9B;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAE;AACvC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACzL,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,CAAC,CAAC;AAC5I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,UAAU,EAAE,CAAC;AAChI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,CAAC;;ACVb,IAAI,0BAA0B,GAAG,CAAC;AAC3B,MAAM,mBAAmB,CAAC;AACjC;AACA,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE;AAC3B,QAAQ,IAAI,QAAQ,KAAK,IAAI,CAAC,SAAS,EAAE;AACzC,YAAY,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC;AAC9C,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,IAAI,QAAQ,GAAG;AACnB,QAAQ,OAAO,IAAI,CAAC,SAAS;AAC7B,IAAI;AACJ;AACA,IAAI,WAAW,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE;AAC/D,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,gBAAgB;AAChD,QAAQ,IAAI,CAAC,aAAa,GAAG,aAAa;AAC1C;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,EAAE;AAChD;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,YAAY,EAAE;AACnD;AACA,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACzC;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI;AAC9B;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,KAAK;AAClC;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI;AAC/B;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK;AAC9B;AACA,QAAQ,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;AAC7C;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,0BAA0B,EAAE;AACvE,IAAI;AACJ;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC,QAAQ,IAAI,CAAC,6BAA6B,EAAE;AAC5C,QAAQ,IAAI,CAAC,mBAAmB,EAAE;AAClC;AACA,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;AAChD,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ;AACvD,YAAY,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ;AAC1F,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAClD,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,IAAI,WAAW,GAAG;AACtB,QAAQ,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI;AACxC,IAAI;AACJ;AACA,IAAI,IAAI,gBAAgB,GAAG;AAC3B,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE;AACrC,YAAY,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAC/D,QAAQ;AACR,QAAQ,OAAO,EAAE;AACjB,IAAI;AACJ;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC5B;AACA,YAAY,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;AAC1C,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,YAAY,GAAG;AACnB,QAAQ,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC3B;AACA,YAAY,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;AAC3C,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,MAAM,GAAG;AACb;AACA,QAAQ,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;AACjD,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACpC,QAAQ;AACR,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACjC,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,KAAK,GAAG;AACZ,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;AACpC,QAAQ;AACR,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAY,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;AACjC,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,UAAU,CAAC,EAAE,EAAE;AACnB,QAAQ,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,EAAE;AACpC,YAAY,OAAO,IAAI;AACvB,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACpC,YAAY,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;AAC3F,QAAQ;AACR,QAAQ,OAAO,KAAK;AACpB,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,mBAAmB,CAAC,IAAI,EAAE;AAC9B,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI;AAC7B,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,SAAS;AAC/C,QAAQ;AACR;AACA;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACtD,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS;AAC1D,QAAQ;AACR;AACA,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;AACpC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI;AACjD,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE;AAClD,QAAQ;AACR;AACA,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACvC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI;AACjD,QAAQ;AACR;AACA;AACA;AACA;AACA,QAAQ,IAAI,IAAI,CAAC,6BAA6B,EAAE,EAAE;AAClD,YAAY,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE;AACjD,QAAQ;AACR,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,IAAI;AACJ;AACA,IAAI,6BAA6B,GAAG;AACpC,QAAQ,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC;AAC1F,IAAI;AACJ;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE;AAC1C,YAAY,IAAI,CAAC,KAAK,GAAG,eAAe;AACxC,QAAQ;AACR;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;AAC1G;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC;AAC1B,aAAa,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACtD,aAAa,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjF;AACA,QAAQ,IAAI,CAAC,YAAY,CAAC;AAC1B,aAAa,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC;AACtD,aAAa,SAAS,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACrF;AACA,QAAQ,IAAI,CAAC,aAAa,CAAC;AAC3B,aAAa,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;AACnG,aAAa,SAAS,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACxD,IAAI;AACJ;AACA,IAAI,6BAA6B,GAAG;AACpC,QAAQ,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;AAClD,YAAY,IAAI,CAAC,aAAa,GAAG,KAAK;AACtC,YAAY,IAAI,CAAC,WAAW,CAAC,WAAW,GAAG,IAAI;AAC/C,YAAY,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,EAAE;AACzD,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,mBAAmB,GAAG;AAC1B,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;AACvC,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,GAAG,IAAI;AAC9D,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,eAAe,CAAC,EAAE,EAAE;AACxB,QAAQ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;AAC5C,QAAQ,IAAI,CAAC,aAAa,GAAG,QAAQ;AACrC,QAAQ,IAAI,IAAI,CAAC,WAAW,EAAE;AAC9B,YAAY,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC;AACrD,QAAQ;AACR,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE;AAChC,YAAY,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC;AAClD,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAEA,iBAAoB,EAAE,EAAE,EAAE,KAAK,EAAEC,yBAA4B,EAAE,EAAE,EAAE,KAAK,EAAEC,sBAAyB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AACnS,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,uCAAuC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACl+B;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,uCAAuC;AACrE,oBAAoB,SAAS,EAAE,CAAC,iBAAiB,CAAC;AAClD,oBAAoB,IAAI,EAAE;AAC1B,wBAAwB,IAAI,EAAE;AAC9B,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAEF,iBAAoB,EAAE,EAAE,EAAE,IAAI,EAAEC,yBAA4B,EAAE,EAAE,EAAE,IAAI,EAAEC,sBAAyB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AAC9K,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;AACjC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACpC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;AACxC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,4BAA4B;AACnD,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,0BAA0B;AACjD,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iBAAiB;AACxC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,YAAY;AACnC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;AACxB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,WAAW;AAClC,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oBAAoB;AAC3C,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oBAAoB;AAC3C,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oBAAoB;AAC3C,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iBAAiB;AACxC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,kBAAkB;AACzC,aAAa,CAAC,EAAE,EAAE,CAAC;;ACtPZ,MAAM,0BAA0B,CAAC;AACxC;AACA,IAAI,WAAW,CAAC,oBAAoB,EAAE,YAAY,EAAE,WAAW,EAAE;AACjE,QAAQ,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;AACxD,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE;AACvB;AACA,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI;AAChC;AACA,QAAQ,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,GAAG,YAAY,GAAG,aAAa,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;AAC7J;AACA,QAAQ,IAAI,CAAC,IAAI,GAAG,KAAK;AACzB,QAAQ,IAAI,CAAC,wBAAwB,EAAE;AACvC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;AAC/B,YAAY,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,IAAI;AAC5C,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACzB,YAAY,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE;AACzC,QAAQ;AACR,IAAI;AACJ;AACA;AACA;AACA,IAAI,gBAAgB,CAAC,IAAI,EAAE;AAC3B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,IAAI,CAAC,iBAAiB,EAAE;AACpC,YAAY,IAAI,IAAI,EAAE;AACtB,gBAAgB,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE;AACpD,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE;AACrD,YAAY;AACZ,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,SAAS,GAAG;AAChB,QAAQ,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE;AACvE,YAAY,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,QAAQ,EAAE;AAC9D,QAAQ;AACR,aAAa;AACb,YAAY,OAAO,EAAE;AACrB,QAAQ;AACR,IAAI;AACJ;AACA,IAAI,wBAAwB,GAAG;AAC/B,QAAQ,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM;AAC3D;AACA,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACvC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,eAAe,EAAE;AACvD,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAEC,yBAA4B,EAAE,EAAE,EAAE,KAAK,EAAEC,iBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAEC,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC9T,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,0BAA0B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,6uBAA6uB,EAAE,MAAM,EAAE,CAAC,0cAA0c,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,uBAAuB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,wCAAwC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,uCAAuC,EAAE,MAAM,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,mDAAmD,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACrpF;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,UAAU,EAAE,CAAC;AACpI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC1J,wBAAwB,gBAAgB;AACxC,wBAAwB,uBAAuB;AAC/C,wBAAwB,oBAAoB;AAC5C,wBAAwB,mBAAmB;AAC3C,wBAAwB;AACxB,qBAAqB,EAAE,QAAQ,EAAE,6uBAA6uB,EAAE,MAAM,EAAE,CAAC,0cAA0c,CAAC,EAAE;AACtuC,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAEF,yBAA4B,EAAE,EAAE,EAAE,IAAI,EAAEC,iBAAoB,EAAE,UAAU,EAAE,CAAC;AACtH,oBAAoB,IAAI,EAAE;AAC1B,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAEC,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;AAC1D,oBAAoB,IAAI,EAAE;AAC1B,iBAAiB,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC;AACjD,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;AACnC,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB,IAAI,EAAE,CAAC,gBAAgB;AACvC,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,+BAA+B;AACtD,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,mBAAmB;AAC1C,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;AACnC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,0BAA0B;AACjD,aAAa,CAAC,EAAE,EAAE,CAAC;;ACrFnB,SAAS,6BAA6B,GAAG;AACzC;AACA,IAAI,OAAO;AACX,QAAQ,OAAO,EAAE,sBAAsB;AACvC,QAAQ,UAAU,EAAE,CAAC,QAAQ,KAAK,QAAQ,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,sBAAsB,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACxH,QAAQ,IAAI,EAAE,CAAC,QAAQ;AACvB,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC;AACA,IAAI,WAAW,CAAC,kBAAkB,EAAE,0BAA0B,EAAE,WAAW,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,UAAU,EAAE,uBAAuB,EAAE;AAChK,QAAQ,IAAI,CAAC,kBAAkB,GAAG,kBAAkB;AACpD,QAAQ,IAAI,CAAC,0BAA0B,GAAG,0BAA0B;AACpE,QAAQ,IAAI,CAAC,WAAW,GAAG,WAAW;AACtC,QAAQ,IAAI,CAAC,mBAAmB,GAAG,mBAAmB;AACtD,QAAQ,IAAI,CAAC,uBAAuB,GAAG,uBAAuB;AAC9D,QAAQ,IAAI,CAAC,UAAU,GAAG,UAAU;AACpC;AACA,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B;AACA,QAAQ,IAAI,CAAC,uBAAuB,GAAG,sBAAsB;AAC7D;AACA,QAAQ,IAAI,CAAC,0BAA0B,GAAG,0BAA0B;AACpE;AACA,QAAQ,IAAI,CAAC,iBAAiB,GAAG,UAAU;AAC3C;AACA,QAAQ,IAAI,CAAC,qBAAqB,GAAG,IAAI;AACzC;AACA,QAAQ,IAAI,CAAC,MAAM,GAAG,KAAK;AAC3B;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,MAAM;AAC3B;AACA,QAAQ,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,uBAAuB;AAChE;AACA,QAAQ,IAAI,CAAC,aAAa,GAAG,IAAI;AACjC;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,IAAI;AAC7B;AACA,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,EAAE;AAChD;AACA,QAAQ,IAAI,CAAC,oBAAoB,GAAG,IAAI,mBAAmB,EAAE;AAC7D,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE;AACrC,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,IAAI;AAC/C,QAAQ;AACR,QAAQ,uBAAuB,CAAC,SAAS,EAAE;AAC3C,IAAI;AACJ;AACA,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;AACzC,IAAI;AACJ;AACA,IAAI,kBAAkB,GAAG;AACzB,QAAQ,IAAI,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE;AAChD;AACA,QAAQ,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE;AACpD,YAAY,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AACvD,QAAQ;AACR,QAAQ,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC;AACrD,QAAQ,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;AAChI,YAAY,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,IAAI,EAAE;AAC3D,YAAY,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC;AACtD,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC,QAAQ,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC;AAC5C,IAAI;AACJ;AACA,IAAI,aAAa,GAAG;AACpB,QAAQ,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE;AAC/C,IAAI;AACJ;AACA,IAAI,kBAAkB,CAAC,KAAK,EAAE;AAC9B;AACA,QAAQ,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,GAAG,KAAK,CAAC;AACtE,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,eAAe,GAAG;AACtB,QAAQ,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa;AACpD,QAAQ,MAAM,cAAc,GAAG,EAAE;AACjC;AACA,QAAQ,OAAO,OAAO,CAAC,UAAU,EAAE;AACnC,YAAY,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;AAC3C,YAAY,OAAO,GAAG,OAAO,CAAC,UAAU;AACxC,QAAQ;AACR;AACA,QAAQ,MAAM,sBAAsB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;AACnH,QAAQ,OAAO,sBAAsB,CAAC,MAAM;AAC5C,IAAI;AACJ;AACA,IAAI,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE;AACpC,QAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK;AAC9C,YAAY,IAAI,CAAC,UAAU,GAAG,KAAK;AACnC,YAAY,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChC,gBAAgB;AAChB,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,IAAI,CAAC,QAAQ,CAAC,eAAe,GAAG,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,IAAI;AAClF,gBAAgB,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,kCAAkC,EAAE;AACvH,oBAAoB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;AACzD,oBAAoB,KAAK,EAAE,CAAC,GAAG,CAAC;AAChC,oBAAoB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;AAClD,oBAAoB,mBAAmB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC;AACnG,0BAA0B,IAAI,GAAG,IAAI,CAAC;AACtC,0BAA0B;AAC1B,iBAAiB,CAAC;AAClB,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE;AAChD,IAAI;AACJ;AACA,IAAI,2BAA2B,CAAC,KAAK,EAAE;AACvC,QAAQ,IAAI,IAAI,CAAC,uBAAuB,CAAC,SAAS,IAAI,KAAK,KAAK,CAAC,EAAE;AACnE,YAAY,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,0BAA0B;AACvE,QAAQ;AACR,QAAQ,IAAI,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,kBAAkB,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,EAAE;AACxG,YAAY,IAAI,CAAC,KAAK,GAAG,OAAO;AAChC,YAAY,IAAI,CAAC,oBAAoB,GAAG,IAAI;AAC5C,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE;AAC9C,YAAY,IAAI,CAAC,aAAa,GAAG,MAAM;AACvC,QAAQ;AACR,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAEL,iBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAEC,yBAA4B,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,KAAK,EAAEC,sBAAyB,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,sBAAsB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5a,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,mBAAmB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,iCAAiC,EAAE,eAAe,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,eAAe,EAAE,gBAAgB,EAAE,EAAE,EAAE,SAAS,EAAE;AACvsB,YAAY,+BAA+B,EAAE;AAC7C,YAAY,mBAAmB;AAC/B,YAAY,yBAAyB;AACrC,YAAY,6BAA6B;AACzC,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AACzO;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,UAAU,EAAE,CAAC;AAC7H,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,kCAAkC;AAChE,oBAAoB,SAAS,EAAE;AAC/B,wBAAwB,+BAA+B,EAAE;AACzD,wBAAwB,mBAAmB;AAC3C,wBAAwB,yBAAyB;AACjD,wBAAwB,6BAA6B;AACrD,qBAAqB;AACrB,oBAAoB,UAAU,EAAE;AAChC,iBAAiB;AACjB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAEF,iBAAoB,EAAE,UAAU,EAAE,CAAC;AAC9E,oBAAoB,IAAI,EAAE;AAC1B,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAEC,yBAA4B,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAE,IAAI,EAAEC,sBAAyB,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;AAChM,oBAAoB,IAAI,EAAE,MAAM;AAChC,oBAAoB,IAAI,EAAE,CAAC,WAAW;AACtC,iBAAiB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,sBAAsB,EAAE,CAAC,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,CAAC;AACzF,gBAAgB,IAAI,EAAE;AACtB,aAAa,EAAE;AACf,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,iCAAiC;AACxD,aAAa,CAAC,EAAE,uBAAuB,EAAE,CAAC;AAC1C,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,0BAA0B,EAAE,CAAC;AAC7C,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACpC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,qBAAqB,EAAE,CAAC;AACxC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,sBAAsB;AAC7C,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;AACzB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,kBAAkB;AACzC,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE,eAAe;AACrC,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAC5D,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACpC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,yBAAyB;AAChD,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;AACxB,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,WAAW;AAClC,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;AACvC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,2BAA2B;AAClD,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,oBAAoB;AAC3C,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE,WAAW;AACjC,gBAAgB,IAAI,EAAE,CAAC,eAAe;AACtC,aAAa,CAAC,EAAE,EAAE,CAAC;;ACpMnB;AACA;AACA;AACO,MAAM,2BAA2B,CAAC;AACzC,IAAI,WAAW,GAAG;AAClB;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI;AACzB;AACA,QAAQ,IAAI,CAAC,SAAS,GAAG,KAAK;AAC9B,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI,IAAI,mBAAmB,GAAG;AAC9B,QAAQ,OAAO,IAAI,CAAC,oBAAoB;AACxC,IAAI;AACJ;AACA,IAAI,eAAe,CAAC,QAAQ,EAAE,IAAI,EAAE;AACpC,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC7L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,2BAA2B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,8vFAA8vF,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,2BAA2B,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,QAAQ,EAAE,kCAAkC,EAAE,MAAM,EAAE,CAAC,UAAU,EAAE,yBAAyB,EAAE,4BAA4B,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,yBAAyB,CAAC,EAAE,QAAQ,EAAE,qDAAqD,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,QAAQ,EAAE,uCAAuC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,0BAA0B,CAAC,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,0BAA0B,CAAC,EAAE,QAAQ,EAAE,iDAAiD,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,gBAAgB,CAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,6BAA6B,CAAC,EAAE,QAAQ,EAAE,wDAAwD,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC,EAAE,QAAQ,EAAE,uCAAuC,EAAE,MAAM,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,UAAU,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,uBAAuB,CAAC,EAAE,QAAQ,EAAE,iDAAiD,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,wBAAwB,CAAC,EAAE,QAAQ,EAAE,mDAAmD,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/5K;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC;AACrI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,yBAAyB,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC3J,wBAAwB,mBAAmB;AAC3C,wBAAwB,yBAAyB;AACjD,wBAAwB,mBAAmB;AAC3C,wBAAwB,0BAA0B;AAClD,wBAAwB,0BAA0B;AAClD,wBAAwB,gBAAgB;AACxC,wBAAwB,6BAA6B;AACrD,wBAAwB,UAAU,CAAC,MAAM,2BAA2B,CAAC;AACrE,wBAAwB,mBAAmB;AAC3C,wBAAwB,UAAU;AAClC,wBAAwB,uBAAuB;AAC/C,wBAAwB;AACxB,qBAAqB,EAAE,QAAQ,EAAE,8vFAA8vF,EAAE;AACjyF,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC;AACtC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;AACvB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;AACvC,gBAAgB,IAAI,EAAE,SAAS;AAC/B,gBAAgB,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,mBAAmB,CAAC;AAC5D,aAAa,CAAC,EAAE,EAAE,CAAC;;ACnDnB,MAAM,UAAU,GAAG;AACnB,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,mBAAmB;AACvB,IAAI,uBAAuB;AAC3B,IAAI,wBAAwB;AAC5B,IAAI,yBAAyB;AAC7B,IAAI,0BAA0B;AAC9B,IAAI,2BAA2B;AAC/B,IAAI,6BAA6B;AACjC,IAAI;AACJ,CAAC;AACM,MAAM,gBAAgB,CAAC;AAC9B,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AACjL,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,mBAAmB;AAC9J,YAAY,mBAAmB;AAC/B,YAAY,mBAAmB;AAC/B,YAAY,uBAAuB;AACnC,YAAY,wBAAwB;AACpC,YAAY,yBAAyB;AACrC,YAAY,0BAA0B;AACtC,YAAY,2BAA2B;AACvC,YAAY,6BAA6B;AACzC,YAAY,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,mBAAmB;AACtE,YAAY,mBAAmB;AAC/B,YAAY,mBAAmB;AAC/B,YAAY,uBAAuB;AACnC,YAAY,wBAAwB;AACpC,YAAY,yBAAyB;AACrC,YAAY,0BAA0B;AACtC,YAAY,2BAA2B;AACvC,YAAY,6BAA6B;AACzC,YAAY,0BAA0B,CAAC,EAAE,CAAC,CAAC;AAC3C,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,0BAA0B;AAC1P,YAAY,2BAA2B;AACvC,YAAY,6BAA6B,CAAC,EAAE,CAAC,CAAC;AAC9C;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AAC5C,oBAAoB,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC;AAC5C,oBAAoB,SAAS,EAAE,CAAC,mBAAmB,EAAE,yBAAyB,EAAE,sBAAsB;AACtG,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACxDb;AACA;AACA;;;;"}