@skyux/angular-tree-component 13.8.2 → 13.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { NgModule, ChangeDetectionStrategy, Component, inject, Injectable, EventEmitter, Output, Input, ContentChild, ChangeDetectorRef, ElementRef, ViewChild } from '@angular/core';
|
|
3
|
+
import { SkyCoreAdapterService, SkyContentInfoProvider } from '@skyux/core';
|
|
3
4
|
import * as i3 from '@skyux/i18n';
|
|
4
5
|
import { SkyLibResourcesService, SkyI18nModule } from '@skyux/i18n';
|
|
5
6
|
import { NgTemplateOutlet } from '@angular/common';
|
|
6
7
|
import * as i1$1 from '@blackbaud/angular-tree-component';
|
|
7
8
|
import { TREE_ACTIONS, KEYS, TreeComponent, TreeModule } from '@blackbaud/angular-tree-component';
|
|
8
|
-
import { SkyCoreAdapterService, SkyContentInfoProvider } from '@skyux/core';
|
|
9
9
|
import * as i2$1 from '@skyux/forms';
|
|
10
10
|
import { SkyCheckboxModule } from '@skyux/forms';
|
|
11
11
|
import * as i3$1 from '@skyux/help-inline';
|
|
@@ -588,7 +588,7 @@ class SkyAngularTreeModule {
|
|
|
588
588
|
SkyAngularTreeNodeComponent,
|
|
589
589
|
SkyAngularTreeToolbarComponent,
|
|
590
590
|
SkyAngularTreeWrapperComponent], exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent] }); }
|
|
591
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyAngularTreeModule, imports: [SkyAngularTreeComponentResourcesModule,
|
|
591
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.0", ngImport: i0, type: SkyAngularTreeModule, providers: [SkyCoreAdapterService], imports: [SkyAngularTreeComponentResourcesModule,
|
|
592
592
|
SkyAngularTreeNodeComponent,
|
|
593
593
|
SkyAngularTreeToolbarComponent,
|
|
594
594
|
SkyAngularTreeWrapperComponent] }); }
|
|
@@ -603,6 +603,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.0", ngImpor
|
|
|
603
603
|
SkyAngularTreeToolbarComponent,
|
|
604
604
|
SkyAngularTreeWrapperComponent,
|
|
605
605
|
],
|
|
606
|
+
providers: [SkyCoreAdapterService],
|
|
606
607
|
exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent],
|
|
607
608
|
}]
|
|
608
609
|
}] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-angular-tree-component.mjs","sources":["../tmp-esm2022/lib/modules/shared/sky-angular-tree-component-resources.module.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-context-menu.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-adapter.service.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-toolbar.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-wrapper.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-node.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree.module.js","../tmp-esm2022/skyux-angular-tree-component.js"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-angular-tree-component' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_angular_tree_clear_all: { message: 'Clear all' },\n skyux_angular_tree_click_to_expand: { message: 'Click to expand' },\n skyux_angular_tree_collapse_all: { message: 'Collapse' },\n skyux_angular_tree_expand_all: { message: 'Expand' },\n skyux_angular_tree_select_all: { message: 'Select all' },\n },\n 'FR-CA': {\n skyux_angular_tree_clear_all: { message: 'Effacer tout' },\n skyux_angular_tree_click_to_expand: { message: 'Cliquez pour agrandir' },\n skyux_angular_tree_collapse_all: { message: 'Réduire' },\n skyux_angular_tree_expand_all: { message: 'Agrandir' },\n skyux_angular_tree_select_all: { message: 'Sélectionner tout' },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyAngularTreeComponentResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ3RELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN4RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO0tBQ3pEO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ3hFLCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUN2RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7S0FDaEU7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQzs4R0FBdEMsc0NBQXNDOytHQUF0QyxzQ0FBc0MsWUFGdkMsYUFBYTsrR0FFWixzQ0FBc0MsWUFGdkMsYUFBYTs7MkZBRVosc0NBQXNDO2tCQUhsRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktYW5ndWxhci10cmVlLWNvbXBvbmVudCcgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogUmVjb3JkPHN0cmluZywgU2t5TGliUmVzb3VyY2VzPiA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9jbGVhcl9hbGw6IHsgbWVzc2FnZTogJ0NsZWFyIGFsbCcgfSxcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfY2xpY2tfdG9fZXhwYW5kOiB7IG1lc3NhZ2U6ICdDbGljayB0byBleHBhbmQnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2NvbGxhcHNlX2FsbDogeyBtZXNzYWdlOiAnQ29sbGFwc2UnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2V4cGFuZF9hbGw6IHsgbWVzc2FnZTogJ0V4cGFuZCcgfSxcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfc2VsZWN0X2FsbDogeyBtZXNzYWdlOiAnU2VsZWN0IGFsbCcgfSxcbiAgfSxcbiAgJ0ZSLUNBJzoge1xuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9jbGVhcl9hbGw6IHsgbWVzc2FnZTogJ0VmZmFjZXIgdG91dCcgfSxcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfY2xpY2tfdG9fZXhwYW5kOiB7IG1lc3NhZ2U6ICdDbGlxdWV6IHBvdXIgYWdyYW5kaXInIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2NvbGxhcHNlX2FsbDogeyBtZXNzYWdlOiAnUsOpZHVpcmUnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2V4cGFuZF9hbGw6IHsgbWVzc2FnZTogJ0FncmFuZGlyJyB9LFxuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9zZWxlY3RfYWxsOiB7IG1lc3NhZ2U6ICdTw6lsZWN0aW9ubmVyIHRvdXQnIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZUNvbXBvbmVudFJlc291cmNlc01vZHVsZSB7fVxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyAngularTreeContextMenuComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyAngularTreeContextMenuComponent, isStandalone: true, selector: \"sky-angular-tree-context-menu\", ngImport: i0, template: \"<div class=\\\"sky-angular-tree-context-menu\\\">\\n <ng-content />\\n</div>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeContextMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"sky-angular-tree-context-menu\\\">\\n <ng-content />\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRW5FOztHQUVHO0FBTUgsTUFBTSxPQUFPLGtDQUFrQzs4R0FBbEMsa0NBQWtDO2tHQUFsQyxrQ0FBa0MseUZDVi9DLDJFQUdBOzsyRkRPYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUV4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudVwiPlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyAngularTreeAdapterService {\n #coreAdapterService = inject(SkyCoreAdapterService);\n getFocusableChildren(element) {\n return this.#coreAdapterService.getFocusableChildren(element);\n }\n setTabIndexOfFocusableEls(element, tabIndex) {\n const focusableEls = this.#coreAdapterService.getFocusableChildren(element);\n let index = focusableEls.length;\n while (index--) {\n focusableEls[index].tabIndex = tabIndex;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeAdapterService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRXBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQUM5QixtQkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV0RCxvQkFBb0IsQ0FBQyxPQUFvQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0seUJBQXlCLENBQzlCLE9BQW9CLEVBQ3BCLFFBQWdCO1FBRWhCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ2hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNmLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDOzhHQWhCVSw0QkFBNEI7a0hBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVBZGFwdGVyU2VydmljZSB7XG4gIHJlYWRvbmx5ICNjb3JlQWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlKTtcblxuICBwdWJsaWMgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldFRhYkluZGV4T2ZGb2N1c2FibGVFbHMoXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgdGFiSW5kZXg6IG51bWJlcixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlRWxzID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuICAgIGxldCBpbmRleCA9IGZvY3VzYWJsZUVscy5sZW5ndGg7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGZvY3VzYWJsZUVsc1tpbmRleF0udGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\nimport * as i2 from \"@skyux/layout\";\nimport * as i3 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyAngularTreeToolbarComponent {\n constructor() {\n this.clearAllClick = new EventEmitter();\n this.collapseAllClick = new EventEmitter();\n this.expandAllClick = new EventEmitter();\n this.selectAllClick = new EventEmitter();\n }\n onClearAllClick() {\n this.clearAllClick.emit();\n }\n onCollapseAllClick() {\n this.collapseAllClick.emit();\n }\n onExpandAllClick() {\n this.expandAllClick.emit();\n }\n onSelectAllClick() {\n this.selectAllClick.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyAngularTreeToolbarComponent, isStandalone: true, selector: \"sky-angular-tree-toolbar\", inputs: { showSelectButtons: \"showSelectButtons\" }, outputs: { clearAllClick: \"clearAllClick\", collapseAllClick: \"collapseAllClick\", expandAllClick: \"expandAllClick\", selectAllClick: \"selectAllClick\" }, ngImport: i0, template: \"<div class=\\\"sky-angular-tree-toolbar\\\" role=\\\"toolbar\\\">\\n <sky-toolbar>\\n @if (showSelectButtons) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onSelectAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onClearAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n }\\n <sky-toolbar-view-actions>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_expand_all' | skyLibResources\\\"\\n (click)=\\\"onExpandAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-down\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_collapse_all' | skyLibResources\\\"\\n (click)=\\\"onCollapseAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-up\\\" />\\n </button>\\n </sky-toolbar-view-actions>\\n </sky-toolbar>\\n</div>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyI18nModule }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i2.λ37, selector: \"sky-toolbar\", inputs: [\"listDescriptor\"] }, { kind: \"component\", type: i2.λ39, selector: \"sky-toolbar-item\" }, { kind: \"component\", type: i2.λ40, selector: \"sky-toolbar-view-actions\" }, { kind: \"pipe\", type: i3.SkyLibResourcesPipe, name: \"skyLibResources\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeToolbarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyI18nModule, SkyIconModule, SkyToolbarModule], template: \"<div class=\\\"sky-angular-tree-toolbar\\\" role=\\\"toolbar\\\">\\n <sky-toolbar>\\n @if (showSelectButtons) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onSelectAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onClearAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n }\\n <sky-toolbar-view-actions>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_expand_all' | skyLibResources\\\"\\n (click)=\\\"onExpandAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-down\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_collapse_all' | skyLibResources\\\"\\n (click)=\\\"onCollapseAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-up\\\" />\\n </button>\\n </sky-toolbar-view-actions>\\n </sky-toolbar>\\n</div>\\n\" }]\n }], propDecorators: { showSelectButtons: [{\n type: Input\n }], clearAllClick: [{\n type: Output\n }], collapseAllClick: [{\n type: Output\n }], expandAllClick: [{\n type: Output\n }], selectAllClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRWpEOztHQUVHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQU4zQztRQVdTLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzVDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUcxQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FpQmxEO0lBZlEsZUFBZTtRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0E5QlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsK1JDcEIzQyxzOUNBMENBLDJDRHhCWSxhQUFhLDhCQUFFLGFBQWEscUlBQUUsZ0JBQWdCOzsyRkFFN0MsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNFLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUM7OEJBSWxELGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixNQUFNO2dCQUlBLGdCQUFnQjtzQkFEdEIsTUFBTTtnQkFJQSxjQUFjO3NCQURwQixNQUFNO2dCQUlBLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbU2t5STE4bk1vZHVsZSwgU2t5SWNvbk1vZHVsZSwgU2t5VG9vbGJhck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlVG9vbGJhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93U2VsZWN0QnV0dG9uczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsZWFyQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2xsYXBzZUFsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZXhwYW5kQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RBbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb25DbGVhckFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Db2xsYXBzZUFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25FeHBhbmRBbGxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZEFsbENsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0QWxsQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyPlxuICAgIEBpZiAoc2hvd1NlbGVjdEJ1dHRvbnMpIHtcbiAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktYW5ndWxhci10cmVlLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RBbGxDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdza3l1eF9hbmd1bGFyX3RyZWVfc2VsZWN0X2FsbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWFuZ3VsYXItdHJlZS1jbGVhci1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGVhckFsbENsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ3NreXV4X2FuZ3VsYXJfdHJlZV9jbGVhcl9hbGwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgIH1cbiAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQgc2t5LWFuZ3VsYXItdHJlZS1leHBhbmQtYWxsLWJ0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbdGl0bGVdPVwiJ3NreXV4X2FuZ3VsYXJfdHJlZV9leHBhbmRfYWxsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChjbGljayk9XCJvbkV4cGFuZEFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLWRvdWJsZS1kb3duXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQgc2t5LWFuZ3VsYXItdHJlZS1jb2xsYXBzZS1hbGwtYnRuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFt0aXRsZV09XCInc2t5dXhfYW5ndWxhcl90cmVlX2NvbGxhcHNlX2FsbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLWRvdWJsZS11cFwiIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgPC9za3ktdG9vbGJhcj5cbjwvZGl2PlxuIl19","import { ChangeDetectionStrategy, Component, ContentChild, Input, } from '@angular/core';\nimport { KEYS, TREE_ACTIONS, TreeComponent, } from '@blackbaud/angular-tree-component';\nimport { SkyAngularTreeToolbarComponent } from './angular-tree-toolbar.component';\nimport * as i0 from \"@angular/core\";\n/**\n * Wraps the Angular `tree-root` component as part of the `SkyAngularTreeModule` that provides\n * SKY UX components and styles to complement the `angular-tree-component` library and apply SKY UX\n * themes and functionality to hierarchical list views. For information about the `tree-root` component, see the\n * [Angular tree component documentation](https://angular2-tree.readme.io/docs).\n */\nexport class SkyAngularTreeWrapperComponent {\n constructor() {\n /**\n * Whether to render the tree view in read-only mode.\n * This mode disables selected and active states on the tree view nodes.\n * @default false\n */\n this.readOnly = false;\n /**\n * Whether to use leaf-only selection mode. For tree views with\n * [checkboxes](https://angular2-tree.readme.io/docs/tri-state-checkboxes),\n * this mode limits user selections to leaf nodes and prevents users from selecting parent nodes.\n * @default false\n */\n this.selectLeafNodesOnly = false;\n /**\n * Whether to use single-select mode. For tree views with\n * [checkboxes](https://angular2-tree.readme.io/docs/tri-state-checkboxes),\n * this mode limits user selections to one node at a time.\n * @default false\n */\n this.selectSingle = false;\n /**\n * Whether to display a toolbar with buttons to expand and collapse all nodes and buttons to select and clear all checkboxes.\n * The select and clear buttons only appear when you enable checkboxes.\n * To enable [checkboxes](https://angular2-tree.readme.io/docs/tri-state-checkboxes).\n * @default false\n */\n this.showToolbar = false;\n this.selectableNodeIds = {};\n }\n ngAfterViewInit() {\n if (this.selectSingle &&\n this.treeComponent?.treeModel.options.useTriState) {\n console.warn('Single select mode should not be enabled while the tree is in triState mode (cascading selection). ' +\n 'Please set \"useTriState\" to \"false\" if you want to remain in single select mode.');\n }\n this.#overrideActionMapping();\n }\n multiselectable() {\n return (!!this.treeComponent &&\n this.treeComponent.treeModel.options.useCheckbox &&\n !this.selectSingle);\n }\n onClearAllClick() {\n /* istanbul ignore else */\n if (!this.selectSingle && this.treeComponent) {\n const currentState = this.treeComponent.treeModel.getState();\n this.treeComponent.state = {\n ...currentState,\n selectedLeafNodeIds: {},\n };\n }\n }\n onCollapseAllClick() {\n this.treeComponent?.treeModel.collapseAll();\n }\n onExpandAllClick() {\n this.treeComponent?.treeModel.expandAll();\n }\n onSelectAllClick() {\n /* istanbul ignore else */\n if (!this.selectSingle && this.treeComponent) {\n // Get a list of all node ids that are selectable.\n this.selectableNodeIds = {};\n const getSelectableNodeIds = (node) => {\n const selectable = node.isSelectable() &&\n !(node.hasChildren && this.selectLeafNodesOnly);\n if (selectable && !node.data.virtual) {\n this.selectableNodeIds[node.id] = true;\n }\n if (!node.children) {\n return;\n }\n node.children.forEach((child) => getSelectableNodeIds(child));\n };\n getSelectableNodeIds(this.treeComponent.treeModel.virtualRoot);\n // Update tree state with new list of selected node ids.\n const currentState = this.treeComponent.treeModel.getState();\n this.treeComponent.state = {\n ...currentState,\n selectedLeafNodeIds: this.selectableNodeIds,\n };\n }\n }\n showSelectButtons() {\n return (!!this.treeComponent &&\n this.treeComponent.treeModel.options.useCheckbox &&\n !this.selectSingle);\n }\n #isSelectable(node) {\n return node.isLeaf || !node.hasChildren || !this.selectLeafNodesOnly;\n }\n #nodeDefaultAction(tree, node, event) {\n if (this.readOnly) {\n return;\n }\n if (node.options.useCheckbox && this.#isSelectable(node)) {\n this.#toggleSelected(node, event);\n }\n else {\n TREE_ACTIONS.TOGGLE_ACTIVE(tree, node, event);\n }\n return;\n }\n #onKeyDownAction(tree, node, event) {\n const targetNodeId = event.target.getAttribute('data-node-id');\n // Key press did not happen on the node.\n if (!node || targetNodeId !== node.id.toString()) {\n // angular-tree-component will preventDefault() on anything using a key action handler,\n // thus stopping \"enter\" and \"space\" keys to throw \"click\" events on interactive elements.\n // This logic ensures components looking for \"clicks\" on those keystrokes still work (dropdown component).\n // https://github.com/500tech/angular-tree-component/blob/master/lib/models/tree.model.ts#L341\n /* istanbul ignore else */\n if (event.defaultPrevented) {\n event.target.click();\n }\n return;\n }\n this.#nodeDefaultAction(tree, node, event);\n }\n #overrideActionMapping() {\n const defaultActionMapping = this.treeComponent?.treeModel.options.actionMapping;\n if (defaultActionMapping?.mouse) {\n // Override default click/enter/space action to check for unsupported options (leaf node, single-select).\n defaultActionMapping.mouse.click = (tree, node, event) => this.#nodeDefaultAction(tree, node, event);\n }\n if (defaultActionMapping?.keys) {\n defaultActionMapping.keys[KEYS.SPACE] = (tree, node, event) => this.#onKeyDownAction(tree, node, event);\n defaultActionMapping.keys[KEYS.ENTER] = (tree, node, event) => this.#onKeyDownAction(tree, node, event);\n // Disable left/right arrow keys to support navigating through interactive elements with keyboard.\n // See onArrowLeft() / onArrowRight() methods inside the angular-tree-node.component.ts.\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.RIGHT] = (tree, node, $event) => undefined;\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.LEFT] = (tree, node, $event) => undefined;\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.DOWN] = (tree, node, $event) => undefined;\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.UP] = (tree, node, $event) => undefined;\n }\n }\n #toggleSelected(node, event) {\n // If single-selection is enabled, only select the node clicked.\n if (this.selectSingle && !node.isSelected) {\n const oldState = this.treeComponent?.treeModel.getState();\n const newState = {\n expandedNodeIds: oldState?.expandedNodeIds,\n selectedLeafNodeIds: Object.assign({}, node.id, { [node.id]: true }),\n activeNodeIds: oldState?.activeNodeIds,\n hiddenNodeIds: oldState?.hiddenNodeIds,\n focusedNodeId: node.id,\n };\n // Reconstruct the state in one go, so we don't create multiple events for the consumer.\n this.treeComponent?.treeModel.setState(newState);\n }\n else {\n TREE_ACTIONS.TOGGLE_SELECTED(node.treeModel, node, event);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyAngularTreeWrapperComponent, isStandalone: true, selector: \"sky-angular-tree-wrapper\", inputs: { readOnly: \"readOnly\", selectLeafNodesOnly: \"selectLeafNodesOnly\", selectSingle: \"selectSingle\", showToolbar: \"showToolbar\" }, queries: [{ propertyName: \"treeComponent\", first: true, predicate: TreeComponent, descendants: true }], ngImport: i0, template: \"<div\\n class=\\\"sky-angular-tree-wrapper\\\"\\n [class.sky-angular-tree-read-only]=\\\"readOnly\\\"\\n>\\n @if (showToolbar) {\\n <sky-angular-tree-toolbar\\n [showSelectButtons]=\\\"showSelectButtons()\\\"\\n (clearAllClick)=\\\"onClearAllClick()\\\"\\n (collapseAllClick)=\\\"onCollapseAllClick()\\\"\\n (expandAllClick)=\\\"onExpandAllClick()\\\"\\n (selectAllClick)=\\\"onSelectAllClick()\\\"\\n />\\n }\\n <div\\n class=\\\"sky-angular-tree-root\\\"\\n role=\\\"tree\\\"\\n [attr.aria-multiselectable]=\\\"multiselectable()\\\"\\n >\\n <ng-content select=\\\"tree-root\\\" />\\n </div>\\n</div>\\n\", styles: [\".sky-angular-tree-wrapper:not(.sky-theme-modern *){--sky-override-angular-tree-context-menu-margin: 0 10px 0 0;--sky-override-angular-tree-node-active-background-color: #eeeeef;--sky-override-angular-tree-node-border-left-active: 4px solid #00b4f1;--sky-override-angular-tree-node-border-left-selected: 4px solid transparent;--sky-override-angular-tree-node-drop-slot-dragging-background-color: #eeeeef;--sky-override-angular-tree-node-drop-slot-dragging-border: 1px solid #e2e3e4;--sky-override-angular-tree-node-padding-left-base: 0;--sky-override-angular-tree-node-selected-background-color: #f1eef6;--sky-override-angular-tree-node-wrapper-background-color: transparent;--sky-override-angular-tree-node-wrapper-background-color-active: transparent;--sky-override-angular-tree-node-wrapper-background-color-focus: transparent;--sky-override-angular-tree-node-wrapper-background-color-hover: transparent;--sky-override-angular-tree-node-wrapper-border-left: 4px solid transparent;--sky-override-angular-tree-node-wrapper-border-radius: 0;--sky-override-angular-tree-node-wrapper-padding: 4px 5px;--sky-override-tree-children-padding: 30px;--sky-override-angular-tree-node-wrapper-standard-box-shadow-active: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-base: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover: none;--sky-override-angular-tree-node-wrapper-standard-outline-active: auto;--sky-override-angular-tree-node-wrapper-standard-outline-focus: auto;--sky-override-angular-tree-switch-control-margin: 0 8px 0 0;--sky-override-angular-tree-toggle-children-height: 20px;--sky-override-angular-tree-toggle-children-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-padding: 0;--sky-override-angular-tree-toggle-children-placeholder-height: 19px;--sky-override-angular-tree-toggle-children-placeholder-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-placeholder-width: 20px;--sky-override-angular-tree-toggle-children-width: 20px;--sky-override-angular-tree-toggle-color: var(--sky-text-color-deemphasized);--sky-override-angular-tree-wrapper-background-color: transparent}.sky-angular-tree-wrapper{background-color:var(--sky-override-angular-tree-wrapper-background-color, var(--sky-color-background-container-base))}.sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;background-color:var(--sky-override-angular-tree-node-wrapper-background-color, var(--sky-color-background-nav-base));padding:var(--sky-override-angular-tree-node-wrapper-padding, calc(var(--sky-comp-tree-node-space-inset-top) - 1px) var(--sky-comp-tree-node-space-inset-right));padding-left:max(var(--sky-angular-tree-node-padding),var(--sky-override-angular-tree-node-padding-left-base, var(--sky-comp-tree-node-space-inset-left)));border-left:var(--sky-override-angular-tree-node-wrapper-border-left, var(--sky-border-width-selected-m) solid transparent);border-radius:var(--sky-override-angular-tree-node-wrapper-border-radius, var(--sky-border-radius-xs) var(--sky-border-radius-0) var(--sky-border-radius-0) var(--sky-border-radius-xs));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-base, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-nav-base))}.sky-angular-tree-wrapper ::ng-deep .node-wrapper:focus-visible{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-focus, var(--sky-color-background-nav-focus));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-nav-focus));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-focus, none)}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:var(--sky-override-tree-children-padding, var(--sky-comp-tree-child-space-inset-left));overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:var(--sky-override-angular-tree-toggle-color, var(--sky-color-text-deemphasized));margin:var(--sky-override-angular-tree-toggle-children-margin, 0 var(--sky-space-gap-action_group-s) 0 0);height:var(--sky-override-angular-tree-toggle-children-height, \\\"\\\");width:var(--sky-override-angular-tree-toggle-children-width, \\\"\\\");padding:var(--sky-override-angular-tree-toggle-children-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));line-height:1}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:var(--sky-override-angular-tree-toggle-children-placeholder-height, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom)));width:var(--sky-override-angular-tree-toggle-children-placeholder-width, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-left) + var(--sky-comp-button-borderless-space-inset-right)));margin:var(--sky-override-angular-tree-toggle-children-placeholder-margin, 0 var(--sky-space-inline-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:var(--sky-override-angular-tree-node-selected-background-color, var(--sky-color-background-selected-soft))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected:not(.sky-angular-tree-node-has-checkbox){border-left:var(--sky-override-angular-tree-node-border-left-selected, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background:var(--sky-override-angular-tree-node-active-background-color, var(--sky-color-background-selected-soft));border-left:var(--sky-override-angular-tree-node-border-left-active, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:var(--sky-override-angular-tree-switch-control-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:var(--sky-override-angular-tree-context-menu-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:var(--sky-override-angular-tree-node-drop-slot-dragging-background-color, var(--sky-color-background-action-soft));border:var(--sky-override-angular-tree-node-drop-slot-dragging-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base))}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:hover{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-hover, var(--sky-color-background-nav-hover));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-nav-hover))}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:active{background:var(--sky-override-angular-tree-node-wrapper-background-color-active, var(--sky-color-background-nav-active));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-nav-active));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-active, none)}\\n\"], dependencies: [{ kind: \"component\", type: SkyAngularTreeToolbarComponent, selector: \"sky-angular-tree-toolbar\", inputs: [\"showSelectButtons\"], outputs: [\"clearAllClick\", \"collapseAllClick\", \"expandAllClick\", \"selectAllClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeWrapperComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyAngularTreeToolbarComponent], template: \"<div\\n class=\\\"sky-angular-tree-wrapper\\\"\\n [class.sky-angular-tree-read-only]=\\\"readOnly\\\"\\n>\\n @if (showToolbar) {\\n <sky-angular-tree-toolbar\\n [showSelectButtons]=\\\"showSelectButtons()\\\"\\n (clearAllClick)=\\\"onClearAllClick()\\\"\\n (collapseAllClick)=\\\"onCollapseAllClick()\\\"\\n (expandAllClick)=\\\"onExpandAllClick()\\\"\\n (selectAllClick)=\\\"onSelectAllClick()\\\"\\n />\\n }\\n <div\\n class=\\\"sky-angular-tree-root\\\"\\n role=\\\"tree\\\"\\n [attr.aria-multiselectable]=\\\"multiselectable()\\\"\\n >\\n <ng-content select=\\\"tree-root\\\" />\\n </div>\\n</div>\\n\", styles: [\".sky-angular-tree-wrapper:not(.sky-theme-modern *){--sky-override-angular-tree-context-menu-margin: 0 10px 0 0;--sky-override-angular-tree-node-active-background-color: #eeeeef;--sky-override-angular-tree-node-border-left-active: 4px solid #00b4f1;--sky-override-angular-tree-node-border-left-selected: 4px solid transparent;--sky-override-angular-tree-node-drop-slot-dragging-background-color: #eeeeef;--sky-override-angular-tree-node-drop-slot-dragging-border: 1px solid #e2e3e4;--sky-override-angular-tree-node-padding-left-base: 0;--sky-override-angular-tree-node-selected-background-color: #f1eef6;--sky-override-angular-tree-node-wrapper-background-color: transparent;--sky-override-angular-tree-node-wrapper-background-color-active: transparent;--sky-override-angular-tree-node-wrapper-background-color-focus: transparent;--sky-override-angular-tree-node-wrapper-background-color-hover: transparent;--sky-override-angular-tree-node-wrapper-border-left: 4px solid transparent;--sky-override-angular-tree-node-wrapper-border-radius: 0;--sky-override-angular-tree-node-wrapper-padding: 4px 5px;--sky-override-tree-children-padding: 30px;--sky-override-angular-tree-node-wrapper-standard-box-shadow-active: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-base: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover: none;--sky-override-angular-tree-node-wrapper-standard-outline-active: auto;--sky-override-angular-tree-node-wrapper-standard-outline-focus: auto;--sky-override-angular-tree-switch-control-margin: 0 8px 0 0;--sky-override-angular-tree-toggle-children-height: 20px;--sky-override-angular-tree-toggle-children-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-padding: 0;--sky-override-angular-tree-toggle-children-placeholder-height: 19px;--sky-override-angular-tree-toggle-children-placeholder-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-placeholder-width: 20px;--sky-override-angular-tree-toggle-children-width: 20px;--sky-override-angular-tree-toggle-color: var(--sky-text-color-deemphasized);--sky-override-angular-tree-wrapper-background-color: transparent}.sky-angular-tree-wrapper{background-color:var(--sky-override-angular-tree-wrapper-background-color, var(--sky-color-background-container-base))}.sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;background-color:var(--sky-override-angular-tree-node-wrapper-background-color, var(--sky-color-background-nav-base));padding:var(--sky-override-angular-tree-node-wrapper-padding, calc(var(--sky-comp-tree-node-space-inset-top) - 1px) var(--sky-comp-tree-node-space-inset-right));padding-left:max(var(--sky-angular-tree-node-padding),var(--sky-override-angular-tree-node-padding-left-base, var(--sky-comp-tree-node-space-inset-left)));border-left:var(--sky-override-angular-tree-node-wrapper-border-left, var(--sky-border-width-selected-m) solid transparent);border-radius:var(--sky-override-angular-tree-node-wrapper-border-radius, var(--sky-border-radius-xs) var(--sky-border-radius-0) var(--sky-border-radius-0) var(--sky-border-radius-xs));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-base, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-nav-base))}.sky-angular-tree-wrapper ::ng-deep .node-wrapper:focus-visible{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-focus, var(--sky-color-background-nav-focus));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-nav-focus));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-focus, none)}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:var(--sky-override-tree-children-padding, var(--sky-comp-tree-child-space-inset-left));overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:var(--sky-override-angular-tree-toggle-color, var(--sky-color-text-deemphasized));margin:var(--sky-override-angular-tree-toggle-children-margin, 0 var(--sky-space-gap-action_group-s) 0 0);height:var(--sky-override-angular-tree-toggle-children-height, \\\"\\\");width:var(--sky-override-angular-tree-toggle-children-width, \\\"\\\");padding:var(--sky-override-angular-tree-toggle-children-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));line-height:1}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:var(--sky-override-angular-tree-toggle-children-placeholder-height, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom)));width:var(--sky-override-angular-tree-toggle-children-placeholder-width, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-left) + var(--sky-comp-button-borderless-space-inset-right)));margin:var(--sky-override-angular-tree-toggle-children-placeholder-margin, 0 var(--sky-space-inline-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:var(--sky-override-angular-tree-node-selected-background-color, var(--sky-color-background-selected-soft))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected:not(.sky-angular-tree-node-has-checkbox){border-left:var(--sky-override-angular-tree-node-border-left-selected, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background:var(--sky-override-angular-tree-node-active-background-color, var(--sky-color-background-selected-soft));border-left:var(--sky-override-angular-tree-node-border-left-active, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:var(--sky-override-angular-tree-switch-control-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:var(--sky-override-angular-tree-context-menu-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:var(--sky-override-angular-tree-node-drop-slot-dragging-background-color, var(--sky-color-background-action-soft));border:var(--sky-override-angular-tree-node-drop-slot-dragging-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base))}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:hover{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-hover, var(--sky-color-background-nav-hover));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-nav-hover))}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:active{background:var(--sky-override-angular-tree-node-wrapper-background-color-active, var(--sky-color-background-nav-active));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-nav-active));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-active, none)}\\n\"] }]\n }], propDecorators: { readOnly: [{\n type: Input\n }], selectLeafNodesOnly: [{\n type: Input\n }], selectSingle: [{\n type: Input\n }], showToolbar: [{\n type: Input\n }], treeComponent: [{\n type: ContentChild,\n args: [TreeComponent]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLElBQUksRUFDSixZQUFZLEVBQ1osYUFBYSxHQUdkLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRWxGOzs7OztHQUtHO0FBUUgsTUFBTSxPQUFPLDhCQUE4QjtJQVAzQztRQVFFOzs7O1dBSUc7UUFFSSxhQUFRLEdBQXdCLEtBQUssQ0FBQztRQUU3Qzs7Ozs7V0FLRztRQUVJLHdCQUFtQixHQUF3QixLQUFLLENBQUM7UUFFeEQ7Ozs7O1dBS0c7UUFFSSxpQkFBWSxHQUF3QixLQUFLLENBQUM7UUFFakQ7Ozs7O1dBS0c7UUFFSSxnQkFBVyxHQUF3QixLQUFLLENBQUM7UUFFekMsc0JBQWlCLEdBQTRCLEVBQUUsQ0FBQztLQXlLeEQ7SUFwS1EsZUFBZTtRQUNwQixJQUNFLElBQUksQ0FBQyxZQUFZO1lBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ2pELENBQUM7WUFDRCxPQUFP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TSxXQUN0QyxDQUFDLDhCQUE4QixDQUFDOzhCQVNsQyxRQUFRO3NCQURkLEtBQUs7Z0JBVUMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQVVDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBVUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxhQUFhO3NCQURuQixZQUFZO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEtFWVMsXG4gIFRSRUVfQUNUSU9OUyxcbiAgVHJlZUNvbXBvbmVudCxcbiAgVHJlZU1vZGVsLFxuICBUcmVlTm9kZSxcbn0gZnJvbSAnQGJsYWNrYmF1ZC9hbmd1bGFyLXRyZWUtY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5QW5ndWxhclRyZWVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFdyYXBzIHRoZSBBbmd1bGFyIGB0cmVlLXJvb3RgIGNvbXBvbmVudCBhcyBwYXJ0IG9mIHRoZSBgU2t5QW5ndWxhclRyZWVNb2R1bGVgIHRoYXQgcHJvdmlkZXNcbiAqIFNLWSBVWCBjb21wb25lbnRzIGFuZCBzdHlsZXMgdG8gY29tcGxlbWVudCB0aGUgYGFuZ3VsYXItdHJlZS1jb21wb25lbnRgIGxpYnJhcnkgYW5kIGFwcGx5IFNLWSBVWFxuICogdGhlbWVzIGFuZCBmdW5jdGlvbmFsaXR5IHRvIGhpZXJhcmNoaWNhbCBsaXN0IHZpZXdzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGB0cmVlLXJvb3RgIGNvbXBvbmVudCwgc2VlIHRoZVxuICogW0FuZ3VsYXIgdHJlZSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFuZ3VsYXItdHJlZS13cmFwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtTa3lBbmd1bGFyVHJlZVRvb2xiYXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVuZGVyIHRoZSB0cmVlIHZpZXcgaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqIFRoaXMgbW9kZSBkaXNhYmxlcyBzZWxlY3RlZCBhbmQgYWN0aXZlIHN0YXRlcyBvbiB0aGUgdHJlZSB2aWV3IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIGxlYWYtb25seSBzZWxlY3Rpb24gbW9kZS4gRm9yIHRyZWUgdmlld3Mgd2l0aFxuICAgKiBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKSxcbiAgICogdGhpcyBtb2RlIGxpbWl0cyB1c2VyIHNlbGVjdGlvbnMgdG8gbGVhZiBub2RlcyBhbmQgcHJldmVudHMgdXNlcnMgZnJvbSBzZWxlY3RpbmcgcGFyZW50IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdExlYWZOb2Rlc09ubHk6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2Ugc2luZ2xlLXNlbGVjdCBtb2RlLiBGb3IgdHJlZSB2aWV3cyB3aXRoXG4gICAqIFtjaGVja2JveGVzXShodHRwczovL2FuZ3VsYXIyLXRyZWUucmVhZG1lLmlvL2RvY3MvdHJpLXN0YXRlLWNoZWNrYm94ZXMpLFxuICAgKiB0aGlzIG1vZGUgbGltaXRzIHVzZXIgc2VsZWN0aW9ucyB0byBvbmUgbm9kZSBhdCBhIHRpbWUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0U2luZ2xlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBhIHRvb2xiYXIgd2l0aCBidXR0b25zIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIG5vZGVzIGFuZCBidXR0b25zIHRvIHNlbGVjdCBhbmQgY2xlYXIgYWxsIGNoZWNrYm94ZXMuXG4gICAqIFRoZSBzZWxlY3QgYW5kIGNsZWFyIGJ1dHRvbnMgb25seSBhcHBlYXIgd2hlbiB5b3UgZW5hYmxlIGNoZWNrYm94ZXMuXG4gICAqIFRvIGVuYWJsZSBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93VG9vbGJhcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlTm9kZUlkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBAQ29udGVudENoaWxkKFRyZWVDb21wb25lbnQpXG4gIHB1YmxpYyB0cmVlQ29tcG9uZW50OiBUcmVlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RTaW5nbGUgJiZcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLm9wdGlvbnMudXNlVHJpU3RhdGVcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NpbmdsZSBzZWxlY3QgbW9kZSBzaG91bGQgbm90IGJlIGVuYWJsZWQgd2hpbGUgdGhlIHRyZWUgaXMgaW4gdHJpU3RhdGUgbW9kZSAoY2FzY2FkaW5nIHNlbGVjdGlvbikuICcgK1xuICAgICAgICAgICdQbGVhc2Ugc2V0IFwidXNlVHJpU3RhdGVcIiB0byBcImZhbHNlXCIgaWYgeW91IHdhbnQgdG8gcmVtYWluIGluIHNpbmdsZSBzZWxlY3QgbW9kZS4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy4jb3ZlcnJpZGVBY3Rpb25NYXBwaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgbXVsdGlzZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMudHJlZUNvbXBvbmVudCAmJlxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5vcHRpb25zLnVzZUNoZWNrYm94ICYmXG4gICAgICAhdGhpcy5zZWxlY3RTaW5nbGVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ2xlYXJBbGxDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5zZWxlY3RTaW5nbGUgJiYgdGhpcy50cmVlQ29tcG9uZW50KSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnRyZWVDb21wb25lbnQudHJlZU1vZGVsLmdldFN0YXRlKCk7XG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQuc3RhdGUgPSB7XG4gICAgICAgIC4uLmN1cnJlbnRTdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRMZWFmTm9kZUlkczoge30sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNvbGxhcHNlQWxsQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py50cmVlTW9kZWwuY29sbGFwc2VBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkV4cGFuZEFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLmV4cGFuZEFsbCgpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0QWxsQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuc2VsZWN0U2luZ2xlICYmIHRoaXMudHJlZUNvbXBvbmVudCkge1xuICAgICAgLy8gR2V0IGEgbGlzdCBvZiBhbGwgbm9kZSBpZHMgdGhhdCBhcmUgc2VsZWN0YWJsZS5cbiAgICAgIHRoaXMuc2VsZWN0YWJsZU5vZGVJZHMgPSB7fTtcbiAgICAgIGNvbnN0IGdldFNlbGVjdGFibGVOb2RlSWRzID0gKG5vZGU6IFRyZWVOb2RlKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGFibGUgPVxuICAgICAgICAgIG5vZGUuaXNTZWxlY3RhYmxlKCkgJiZcbiAgICAgICAgICAhKG5vZGUuaGFzQ2hpbGRyZW4gJiYgdGhpcy5zZWxlY3RMZWFmTm9kZXNPbmx5KTtcbiAgICAgICAgaWYgKHNlbGVjdGFibGUgJiYgIW5vZGUuZGF0YS52aXJ0dWFsKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RhYmxlTm9kZUlkc1tub2RlLmlkXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IGdldFNlbGVjdGFibGVOb2RlSWRzKGNoaWxkKSk7XG4gICAgICB9O1xuICAgICAgZ2V0U2VsZWN0YWJsZU5vZGVJZHModGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC52aXJ0dWFsUm9vdCk7XG5cbiAgICAgIC8vIFVwZGF0ZSB0cmVlIHN0YXRlIHdpdGggbmV3IGxpc3Qgb2Ygc2VsZWN0ZWQgbm9kZSBpZHMuXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnRyZWVDb21wb25lbnQudHJlZU1vZGVsLmdldFN0YXRlKCk7XG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQuc3RhdGUgPSB7XG4gICAgICAgIC4uLmN1cnJlbnRTdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRMZWFmTm9kZUlkczogdGhpcy5zZWxlY3RhYmxlTm9kZUlkcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dTZWxlY3RCdXR0b25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMudHJlZUNvbXBvbmVudCAmJlxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5vcHRpb25zLnVzZUNoZWNrYm94ICYmXG4gICAgICAhdGhpcy5zZWxlY3RTaW5nbGVcbiAgICApO1xuICB9XG5cbiAgI2lzU2VsZWN0YWJsZShub2RlOiBUcmVlTm9kZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlLmlzTGVhZiB8fCAhbm9kZS5oYXNDaGlsZHJlbiB8fCAhdGhpcy5zZWxlY3RMZWFmTm9kZXNPbmx5O1xuICB9XG5cbiAgI25vZGVEZWZhdWx0QWN0aW9uKHRyZWU6IFRyZWVNb2RlbCwgbm9kZTogVHJlZU5vZGUsIGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChub2RlLm9wdGlvbnMudXNlQ2hlY2tib3ggJiYgdGhpcy4jaXNTZWxlY3RhYmxlKG5vZGUpKSB7XG4gICAgICB0aGlzLiN0b2dnbGVTZWxlY3RlZChub2RlLCBldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFRSRUVfQUNUSU9OUy5UT0dHTEVfQUNUSVZFKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAjb25LZXlEb3duQWN0aW9uKHRyZWU6IFRyZWVNb2RlbCwgbm9kZTogVHJlZU5vZGUsIGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXROb2RlSWQgPSBldmVudC50YXJnZXQuZ2V0QXR0cmlidXRlKCdkYXRhLW5vZGUtaWQnKTtcblxuICAgIC8vIEtleSBwcmVzcyBkaWQgbm90IGhhcHBlbiBvbiB0aGUgbm9kZS5cbiAgICBpZiAoIW5vZGUgfHwgdGFyZ2V0Tm9kZUlkICE9PSBub2RlLmlkLnRvU3RyaW5nKCkpIHtcbiAgICAgIC8vIGFuZ3VsYXItdHJlZS1jb21wb25lbnQgd2lsbCBwcmV2ZW50RGVmYXVsdCgpIG9uIGFueXRoaW5nIHVzaW5nIGEga2V5IGFjdGlvbiBoYW5kbGVyLFxuICAgICAgLy8gdGh1cyBzdG9wcGluZyBcImVudGVyXCIgYW5kIFwic3BhY2VcIiBrZXlzIHRvIHRocm93IFwiY2xpY2tcIiBldmVudHMgb24gaW50ZXJhY3RpdmUgZWxlbWVudHMuXG4gICAgICAvLyBUaGlzIGxvZ2ljIGVuc3VyZXMgY29tcG9uZW50cyBsb29raW5nIGZvciBcImNsaWNrc1wiIG9uIHRob3NlIGtleXN0cm9rZXMgc3RpbGwgd29yayAoZHJvcGRvd24gY29tcG9uZW50KS5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS81MDB0ZWNoL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvYmxvYi9tYXN0ZXIvbGliL21vZGVscy90cmVlLm1vZGVsLnRzI0wzNDFcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICBldmVudC50YXJnZXQuY2xpY2soKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI25vZGVEZWZhdWx0QWN0aW9uKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgfVxuXG4gICNvdmVycmlkZUFjdGlvbk1hcHBpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdEFjdGlvbk1hcHBpbmcgPVxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50Py50cmVlTW9kZWwub3B0aW9ucy5hY3Rpb25NYXBwaW5nO1xuXG4gICAgaWYgKGRlZmF1bHRBY3Rpb25NYXBwaW5nPy5tb3VzZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBjbGljay9lbnRlci9zcGFjZSBhY3Rpb24gdG8gY2hlY2sgZm9yIHVuc3VwcG9ydGVkIG9wdGlvbnMgKGxlYWYgbm9kZSwgc2luZ2xlLXNlbGVjdCkuXG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5tb3VzZS5jbGljayA9ICh0cmVlLCBub2RlLCBldmVudCk6IHZvaWQgPT5cbiAgICAgICAgdGhpcy4jbm9kZURlZmF1bHRBY3Rpb24odHJlZSwgbm9kZSwgZXZlbnQpO1xuICAgIH1cblxuICAgIGlmIChkZWZhdWx0QWN0aW9uTWFwcGluZz8ua2V5cykge1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLlNQQUNFXSA9ICh0cmVlLCBub2RlLCBldmVudCk6IHZvaWQgPT5cbiAgICAgICAgdGhpcy4jb25LZXlEb3duQWN0aW9uKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5FTlRFUl0gPSAodHJlZSwgbm9kZSwgZXZlbnQpOiB2b2lkID0+XG4gICAgICAgIHRoaXMuI29uS2V5RG93bkFjdGlvbih0cmVlLCBub2RlLCBldmVudCk7XG5cbiAgICAgIC8vIERpc2FibGUgbGVmdC9yaWdodCBhcnJvdyBrZXlzIHRvIHN1cHBvcnQgbmF2aWdhdGluZyB0aHJvdWdoIGludGVyYWN0aXZlIGVsZW1lbnRzIHdpdGgga2V5Ym9hcmQuXG4gICAgICAvLyBTZWUgb25BcnJvd0xlZnQoKSAvIG9uQXJyb3dSaWdodCgpIG1ldGhvZHMgaW5zaWRlIHRoZSBhbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQudHMuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLlJJR0hUXSA9ICh0cmVlLCBub2RlLCAkZXZlbnQpOiB2b2lkID0+XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5rZXlzW0tFWVMuTEVGVF0gPSAodHJlZSwgbm9kZSwgJGV2ZW50KTogdm9pZCA9PlxuICAgICAgICB1bmRlZmluZWQ7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLkRPV05dID0gKHRyZWUsIG5vZGUsICRldmVudCk6IHZvaWQgPT5cbiAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5VUF0gPSAodHJlZSwgbm9kZSwgJGV2ZW50KTogdm9pZCA9PlxuICAgICAgICB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI3RvZ2dsZVNlbGVjdGVkKG5vZGU6IFRyZWVOb2RlLCBldmVudDogYW55KTogdm9pZCB7XG4gICAgLy8gSWYgc2luZ2xlLXNlbGVjdGlvbiBpcyBlbmFibGVkLCBvbmx5IHNlbGVjdCB0aGUgbm9kZSBjbGlja2VkLlxuICAgIGlmICh0aGlzLnNlbGVjdFNpbmdsZSAmJiAhbm9kZS5pc1NlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvbGRTdGF0ZSA9IHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLmdldFN0YXRlKCk7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgZXhwYW5kZWROb2RlSWRzOiBvbGRTdGF0ZT8uZXhwYW5kZWROb2RlSWRzLFxuICAgICAgICBzZWxlY3RlZExlYWZOb2RlSWRzOiBPYmplY3QuYXNzaWduKHt9LCBub2RlLmlkLCB7IFtub2RlLmlkXTogdHJ1ZSB9KSxcbiAgICAgICAgYWN0aXZlTm9kZUlkczogb2xkU3RhdGU/LmFjdGl2ZU5vZGVJZHMsXG4gICAgICAgIGhpZGRlbk5vZGVJZHM6IG9sZFN0YXRlPy5oaWRkZW5Ob2RlSWRzLFxuICAgICAgICBmb2N1c2VkTm9kZUlkOiBub2RlLmlkLFxuICAgICAgfTtcbiAgICAgIC8vIFJlY29uc3RydWN0IHRoZSBzdGF0ZSBpbiBvbmUgZ28sIHNvIHdlIGRvbid0IGNyZWF0ZSBtdWx0aXBsZSBldmVudHMgZm9yIHRoZSBjb25zdW1lci5cbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgVFJFRV9BQ1RJT05TLlRPR0dMRV9TRUxFQ1RFRChub2RlLnRyZWVNb2RlbCwgbm9kZSwgZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1hbmd1bGFyLXRyZWUtd3JhcHBlclwiXG4gIFtjbGFzcy5za3ktYW5ndWxhci10cmVlLXJlYWQtb25seV09XCJyZWFkT25seVwiXG4+XG4gIEBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICA8c2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXG4gICAgICBbc2hvd1NlbGVjdEJ1dHRvbnNdPVwic2hvd1NlbGVjdEJ1dHRvbnMoKVwiXG4gICAgICAoY2xlYXJBbGxDbGljayk9XCJvbkNsZWFyQWxsQ2xpY2soKVwiXG4gICAgICAoY29sbGFwc2VBbGxDbGljayk9XCJvbkNvbGxhcHNlQWxsQ2xpY2soKVwiXG4gICAgICAoZXhwYW5kQWxsQ2xpY2spPVwib25FeHBhbmRBbGxDbGljaygpXCJcbiAgICAgIChzZWxlY3RBbGxDbGljayk9XCJvblNlbGVjdEFsbENsaWNrKClcIlxuICAgIC8+XG4gIH1cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWFuZ3VsYXItdHJlZS1yb290XCJcbiAgICByb2xlPVwidHJlZVwiXG4gICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwibXVsdGlzZWxlY3RhYmxlKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHJlZS1yb290XCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, Input, ViewChild, inject, } from '@angular/core';\nimport { TreeModule, } from '@blackbaud/angular-tree-component';\nimport { SkyContentInfoProvider } from '@skyux/core';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyAngularTreeAdapterService } from './angular-tree-adapter.service';\nimport { SkyAngularTreeContextMenuComponent } from './angular-tree-context-menu.component';\nimport { SkyAngularTreeWrapperComponent } from './angular-tree-wrapper.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@blackbaud/angular-tree-component\";\nimport * as i2 from \"@skyux/forms\";\nimport * as i3 from \"@skyux/help-inline\";\nimport * as i4 from \"@skyux/icon\";\n/**\n * Replaces the default tree node template with a SKY UX node as part of the `SkyAngularTreeModule` that\n * provides SKY UX components and styles to complement the `angular-tree-component` library and apply SKY UX\n * themes and functionality to hierarchical list views. You must wrap this component in an `ng-template`\n * tag with the template reference variable `#treeNodeFullTemplate`. For information about tree node templates,\n * see the [Angular tree component documentation](https://angular2-tree.readme.io/docs/templates).\n * To display context menus with actions for individual items in hierarchical lists, place\n * [dropdowns](https://developer.blackbaud.com/skyux-popovers/docs/dropdown?docs-active-tab=design) inside the\n * Angular tree node component, which automatically handles styling and positioning for context menus.\n */\nexport class SkyAngularTreeNodeComponent {\n set childFocusIndex(value) {\n if (value !== this.#_childFocusIndex) {\n this.#_childFocusIndex = value;\n if (this.#focusableChildren.length > 0 && value !== undefined) {\n this.#focusableChildren[value].focus();\n }\n else {\n this.nodeContentWrapperRef?.nativeElement.focus();\n }\n }\n }\n get childFocusIndex() {\n return this.#_childFocusIndex;\n }\n set focused(value) {\n this.tabIndex = value ? 0 : -1;\n if (value) {\n this.nodeContentWrapperRef?.nativeElement.focus();\n }\n }\n set isPartiallySelected(value) {\n if (value !== this.#_isPartiallySelected) {\n this.#_isPartiallySelected = value;\n this.#changeDetectorRef.markForCheck();\n }\n }\n get isPartiallySelected() {\n return this.#_isPartiallySelected;\n }\n set isSelected(value) {\n if (value !== this.#_isSelected) {\n this.#_isSelected = value;\n this.#changeDetectorRef.markForCheck();\n }\n }\n get isSelected() {\n return this.#_isSelected;\n }\n set tabIndex(value) {\n this.#_tabIndex = value;\n }\n get tabIndex() {\n return this.#_tabIndex;\n }\n set nodeName(value) {\n this.#_nodeName = value;\n this.#contentInfoProvider.patchInfo({\n descriptor: { type: 'text', value },\n });\n }\n get nodeName() {\n return this.#_nodeName;\n }\n #focusableChildren = [];\n #mouseDown = false;\n #_childFocusIndex;\n #_isPartiallySelected = false;\n #_isSelected = false;\n #_tabIndex = -1;\n #_nodeName = '';\n #adapterService = inject(SkyAngularTreeAdapterService);\n #changeDetectorRef = inject(ChangeDetectorRef);\n #contentInfoProvider = inject(SkyContentInfoProvider);\n #skyAngularTreeWrapper = inject(SkyAngularTreeWrapperComponent, {\n optional: true,\n });\n ngOnInit() {\n if (!this.#skyAngularTreeWrapper) {\n console.error(`<sky-angular-tree-node-wrapper> must be wrapped inside a <sky-angular-tree-wrapper> component.`);\n }\n if (this.node) {\n this.nodeName = this.node.data.name;\n // Because we're binding the checkbox to node's children properties, we need to manually control change detection.\n // Here, we listen to the tree's state and force change detection in the setters if the value has changed.\n this.node.treeModel.subscribeToState((state) => {\n if (this.node) {\n this.isSelected = this.node.isSelected;\n this.isPartiallySelected = this.node.isPartiallySelected;\n if (state.focusedNodeId) {\n this.focused = state.focusedNodeId === this.node.id;\n }\n }\n });\n this.node.treeModel.subscribe('updateData', () => {\n if (this.node) {\n this.nodeName = this.node.data.name;\n }\n });\n // Make the first root node tabbable.\n if (this.node.isRoot && this.node.index === 0) {\n this.tabIndex = 0;\n }\n }\n }\n ngAfterViewInit() {\n // Wait 1s for the node to render, then reset all child tabIndexes to -1.\n // Units smaller than 1s may consistently fail if there are many nodes, or multiple trees are on the same screen.\n setTimeout(() => {\n if (this.nodeContentWrapperRef) {\n this.#focusableChildren = this.#adapterService.getFocusableChildren(this.nodeContentWrapperRef.nativeElement);\n this.#adapterService.setTabIndexOfFocusableEls(this.nodeContentWrapperRef.nativeElement, -1);\n }\n }, 1000);\n }\n /**\n * If single-select, set aria-selected=true for the selected node and undefined for all the others.\n * For multiple-select, set aria-selected to either true or false.\n * If node cannot be selected, aria-selected should be undefined (e.g. parent nodes in leaf-select-only mode).\n * @internal\n */\n ariaSelected() {\n if (!this.#skyAngularTreeWrapper) {\n return;\n }\n if (this.#skyAngularTreeWrapper.selectSingle) {\n return this.isSelected ? true : undefined;\n }\n if (!this.#isSelectable()) {\n return;\n }\n return !!this.isSelected;\n }\n showCheckbox() {\n // Check for checkbox mode enabled, but also respect leaf-node and single-select settings.\n return (!!this.node &&\n this.node.options.useCheckbox &&\n this.#isSelectable() &&\n (!this.#skyAngularTreeWrapper ||\n !this.#skyAngularTreeWrapper.selectSingle));\n }\n showSelectedClass() {\n return this.#isSelectable() && this.isSelected && !this.isPartiallySelected;\n }\n showActiveClass() {\n return (!!this.node &&\n this.node.isActive &&\n !this.node.treeModel.options.useCheckbox);\n }\n showTogglePlaceholder() {\n return (!this.node?.hasChildren &&\n !this.#skyAngularTreeWrapper?.selectLeafNodesOnly);\n }\n onFocus() {\n // <tree-node-content> has its own click handler, so we need to check if this focus event\n // is coming from the mouse click or the keyboard to prevent the logic from running twice.\n if (!this.#mouseDown) {\n this.node?.treeModel.setFocus(true);\n this.node?.focus();\n this.childFocusIndex = undefined;\n }\n }\n onMouseDown() {\n this.#mouseDown = true;\n }\n onMouseUp() {\n this.#mouseDown = false;\n }\n onKeyDown(event) {\n /* istanbul ignore else */\n if (document.activeElement === event.target) {\n const key = event.key.toLowerCase();\n switch (key) {\n case 'up':\n case 'arrowup':\n // Focus on previous node.\n this.node?.treeModel.focusPreviousNode();\n break;\n case 'down':\n case 'arrowdown':\n // Focus on next node.\n this.node?.treeModel.focusNextNode();\n break;\n case 'left':\n case 'arrowleft':\n // Cycle backwards through interactive child elements\n // If user reaches the beginning, activate drill up.\n /* istanbul ignore else */\n if (this.childFocusIndex !== undefined) {\n if (this.childFocusIndex === 0) {\n this.childFocusIndex = undefined;\n }\n else {\n this.childFocusIndex--;\n }\n }\n else {\n this.node?.setIsExpanded(false);\n }\n event.stopPropagation();\n event.preventDefault();\n break;\n case 'right':\n case 'arrowright':\n // Cycle forward through interactive child elements.\n // If user reaches the end, activate drill down.\n /* istanbul ignore else */\n if (this.#focusableChildren.length <= 0 ||\n this.childFocusIndex === this.#focusableChildren.length - 1) {\n this.node?.setIsExpanded(true);\n }\n else {\n if (this.childFocusIndex === undefined) {\n this.childFocusIndex = 0;\n }\n else {\n this.childFocusIndex++;\n }\n }\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n }\n #isSelectable() {\n if (this.#skyAngularTreeWrapper) {\n return (!!this.node &&\n (this.node.isLeaf ||\n !this.node.hasChildren ||\n !this.#skyAngularTreeWrapper.selectLeafNodesOnly));\n }\n else {\n return false;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyAngularTreeNodeComponent, isStandalone: true, selector: \"sky-angular-tree-node\", inputs: { index: \"index\", node: \"node\", templates: \"templates\", helpKey: \"helpKey\", helpPopoverContent: \"helpPopoverContent\", helpPopoverTitle: \"helpPopoverTitle\" }, providers: [SkyAngularTreeAdapterService, SkyContentInfoProvider], viewQueries: [{ propertyName: \"nodeContentWrapperRef\", first: true, predicate: [\"nodeContentWrapper\"], descendants: true, read: ElementRef }], ngImport: i0, template: \"@if (node && index !== undefined) {\\n <div\\n [class]=\\\"node.getClass()\\\"\\n [class.tree-node]=\\\"true\\\"\\n [class.tree-node-active]=\\\"node.isActive\\\"\\n [class.tree-node-collapsed]=\\\"node.isCollapsed && node.hasChildren\\\"\\n [class.tree-node-expanded]=\\\"node.isExpanded && node.hasChildren\\\"\\n [class.tree-node-focused]=\\\"node.isFocused\\\"\\n [class.tree-node-leaf]=\\\"node.isLeaf\\\"\\n >\\n @if (index === 0) {\\n <tree-node-drop-slot [dropIndex]=\\\"node.index\\\" [node]=\\\"node.parent\\\" />\\n }\\n\\n <!-- #region <tree-node-wrapper> custom template --->\\n <div\\n #nodeContentWrapper\\n class=\\\"node-wrapper\\\"\\n role=\\\"treeitem\\\"\\n [allowDragoverStyling]=\\\"node.allowDragoverStyling()\\\"\\n [attr.aria-current]=\\\"node.isActive\\\"\\n [attr.aria-expanded]=\\\"node.children?.length ? node.isExpanded : null\\\"\\n [attr.aria-selected]=\\\"ariaSelected()\\\"\\n [attr.data-node-id]=\\\"node.id\\\"\\n [attr.tabindex]=\\\"tabIndex\\\"\\n [class.sky-angular-tree-node-active]=\\\"showActiveClass()\\\"\\n [class.sky-angular-tree-node-has-checkbox]=\\\"showCheckbox()\\\"\\n [class.sky-angular-tree-node-selected]=\\\"showSelectedClass()\\\"\\n [style.--sky-angular-tree-node-padding]=\\\"node.getNodePadding()\\\"\\n [treeAllowDrop]=\\\"node.allowDrop\\\"\\n [treeDrag]=\\\"node\\\"\\n [treeDragEnabled]=\\\"node.allowDrag()\\\"\\n (contextmenu)=\\\"node.mouseAction('contextMenu', $event)\\\"\\n (dblclick)=\\\"node.mouseAction('dblClick', $event)\\\"\\n (focus)=\\\"onFocus()\\\"\\n (mousedown)=\\\"onMouseDown()\\\"\\n (mouseup)=\\\"onMouseUp()\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n (treeDrop)=\\\"node.onDrop($event)\\\"\\n (treeDropDragEnter)=\\\"node.mouseAction('dragEnter', $event)\\\"\\n (treeDropDragLeave)=\\\"node.mouseAction('dragLeave', $event)\\\"\\n (treeDropDragOver)=\\\"node.mouseAction('dragOver', $event)\\\"\\n >\\n <!-- #region <tree-node-expander> custom template --->\\n <div class=\\\"sky-toggle-children-wrapper\\\">\\n @if (node.hasChildren) {\\n <button\\n class=\\\"sky-btn sky-btn-icon-borderless sky-toggle-children\\\"\\n tabindex=\\\"-1\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"nodeName\\\"\\n [class.toggle-children-wrapper-expanded]=\\\"node.isExpanded\\\"\\n [class.toggle-children-wrapper-collapsed]=\\\"node.isCollapsed\\\"\\n (click)=\\\"node.mouseAction('expanderClick', $event)\\\"\\n >\\n <sky-icon\\n [iconName]=\\\"node.isExpanded ? 'chevron-down' : 'chevron-right'\\\"\\n />\\n </button>\\n }\\n @if (showTogglePlaceholder()) {\\n <span class=\\\"toggle-children-placeholder\\\"> </span>\\n }\\n </div>\\n <!-- #endregion <tree-node-expander> --->\\n\\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\\n <div class=\\\"node-content-wrapper\\\">\\n @if (showCheckbox()) {\\n <sky-checkbox\\n [checked]=\\\"isSelected\\\"\\n [id]=\\\"node.data.id\\\"\\n [label]=\\\"nodeName\\\"\\n [indeterminate]=\\\"isPartiallySelected\\\"\\n (change)=\\\"node.mouseAction('checkboxClick', $event)\\\"\\n />\\n }\\n\\n <sky-angular-tree-context-menu>\\n <ng-content select=\\\"sky-dropdown\\\" />\\n </sky-angular-tree-context-menu>\\n\\n <tree-node-content\\n [index]=\\\"index\\\"\\n [node]=\\\"node\\\"\\n [template]=\\\"templates?.treeNodeTemplate\\\"\\n (click)=\\\"node.mouseAction('click', $event)\\\"\\n /><span class=\\\"sky-control-help-container\\\">\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"nodeName\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n } @else {\\n <ng-content select=\\\".sky-control-help\\\" />\\n }\\n </span>\\n </div>\\n </div>\\n\\n <ng-container\\n [ngTemplateOutlet]=\\\"templates?.treeNodeWrapperTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: node,\\n node: node,\\n index: index,\\n templates: templates\\n }\\\"\\n />\\n <!-- #endregion <tree-node-wrapper> -->\\n\\n <tree-node-children role=\\\"group\\\" [node]=\\\"node\\\" [templates]=\\\"templates\\\" />\\n\\n <tree-node-drop-slot [dropIndex]=\\\"node.index + 1\\\" [node]=\\\"node.parent\\\" />\\n </div>\\n}\\n\", dependencies: [{ kind: \"ngmodule\", type: TreeModule }, { kind: \"component\", type: i1.TreeNodeContent, selector: \"tree-node-content\", inputs: [\"node\", \"index\", \"template\"] }, { kind: \"directive\", type: i1.TreeDropDirective, selector: \"[treeDrop]\", inputs: [\"allowDragoverStyling\", \"treeAllowDrop\"], outputs: [\"treeDrop\", \"treeDropDragOver\", \"treeDropDragLeave\", \"treeDropDragEnter\"] }, { kind: \"directive\", type: i1.TreeDragDirective, selector: \"[treeDrag]\", inputs: [\"treeDrag\", \"treeDragEnabled\"] }, { kind: \"component\", type: i1.TreeNodeChildrenComponent, selector: \"tree-node-children\", inputs: [\"node\", \"templates\"] }, { kind: \"component\", type: i1.TreeNodeDropSlot, selector: \"TreeNodeDropSlot, tree-node-drop-slot\", inputs: [\"node\", \"dropIndex\"] }, { kind: \"component\", type: SkyAngularTreeContextMenuComponent, selector: \"sky-angular-tree-context-menu\" }, { kind: \"ngmodule\", type: SkyCheckboxModule }, { kind: \"component\", type: i2.λ3, selector: \"sky-checkbox\", inputs: [\"label\", \"labelledBy\", \"id\", \"disabled\", \"tabindex\", \"name\", \"helpPopoverContent\", \"helpPopoverTitle\", \"iconName\", \"checkboxType\", \"checked\", \"indeterminate\", \"required\", \"labelText\", \"labelHidden\", \"hintText\", \"stacked\", \"helpKey\"], outputs: [\"change\", \"checkedChange\", \"disabledChange\", \"indeterminateChange\"] }, { kind: \"ngmodule\", type: SkyHelpInlineModule }, { kind: \"component\", type: i3.λ1, selector: \"sky-help-inline\", inputs: [\"ariaControls\", \"ariaExpanded\", \"ariaLabel\", \"helpKey\", \"labelledBy\", \"labelText\", \"popoverContent\", \"popoverTitle\"], outputs: [\"actionClick\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i4.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeNodeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-node', providers: [SkyAngularTreeAdapterService, SkyContentInfoProvider], imports: [\n TreeModule,\n SkyAngularTreeContextMenuComponent,\n SkyCheckboxModule,\n SkyHelpInlineModule,\n SkyIconModule,\n NgTemplateOutlet,\n ], template: \"@if (node && index !== undefined) {\\n <div\\n [class]=\\\"node.getClass()\\\"\\n [class.tree-node]=\\\"true\\\"\\n [class.tree-node-active]=\\\"node.isActive\\\"\\n [class.tree-node-collapsed]=\\\"node.isCollapsed && node.hasChildren\\\"\\n [class.tree-node-expanded]=\\\"node.isExpanded && node.hasChildren\\\"\\n [class.tree-node-focused]=\\\"node.isFocused\\\"\\n [class.tree-node-leaf]=\\\"node.isLeaf\\\"\\n >\\n @if (index === 0) {\\n <tree-node-drop-slot [dropIndex]=\\\"node.index\\\" [node]=\\\"node.parent\\\" />\\n }\\n\\n <!-- #region <tree-node-wrapper> custom template --->\\n <div\\n #nodeContentWrapper\\n class=\\\"node-wrapper\\\"\\n role=\\\"treeitem\\\"\\n [allowDragoverStyling]=\\\"node.allowDragoverStyling()\\\"\\n [attr.aria-current]=\\\"node.isActive\\\"\\n [attr.aria-expanded]=\\\"node.children?.length ? node.isExpanded : null\\\"\\n [attr.aria-selected]=\\\"ariaSelected()\\\"\\n [attr.data-node-id]=\\\"node.id\\\"\\n [attr.tabindex]=\\\"tabIndex\\\"\\n [class.sky-angular-tree-node-active]=\\\"showActiveClass()\\\"\\n [class.sky-angular-tree-node-has-checkbox]=\\\"showCheckbox()\\\"\\n [class.sky-angular-tree-node-selected]=\\\"showSelectedClass()\\\"\\n [style.--sky-angular-tree-node-padding]=\\\"node.getNodePadding()\\\"\\n [treeAllowDrop]=\\\"node.allowDrop\\\"\\n [treeDrag]=\\\"node\\\"\\n [treeDragEnabled]=\\\"node.allowDrag()\\\"\\n (contextmenu)=\\\"node.mouseAction('contextMenu', $event)\\\"\\n (dblclick)=\\\"node.mouseAction('dblClick', $event)\\\"\\n (focus)=\\\"onFocus()\\\"\\n (mousedown)=\\\"onMouseDown()\\\"\\n (mouseup)=\\\"onMouseUp()\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n (treeDrop)=\\\"node.onDrop($event)\\\"\\n (treeDropDragEnter)=\\\"node.mouseAction('dragEnter', $event)\\\"\\n (treeDropDragLeave)=\\\"node.mouseAction('dragLeave', $event)\\\"\\n (treeDropDragOver)=\\\"node.mouseAction('dragOver', $event)\\\"\\n >\\n <!-- #region <tree-node-expander> custom template --->\\n <div class=\\\"sky-toggle-children-wrapper\\\">\\n @if (node.hasChildren) {\\n <button\\n class=\\\"sky-btn sky-btn-icon-borderless sky-toggle-children\\\"\\n tabindex=\\\"-1\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"nodeName\\\"\\n [class.toggle-children-wrapper-expanded]=\\\"node.isExpanded\\\"\\n [class.toggle-children-wrapper-collapsed]=\\\"node.isCollapsed\\\"\\n (click)=\\\"node.mouseAction('expanderClick', $event)\\\"\\n >\\n <sky-icon\\n [iconName]=\\\"node.isExpanded ? 'chevron-down' : 'chevron-right'\\\"\\n />\\n </button>\\n }\\n @if (showTogglePlaceholder()) {\\n <span class=\\\"toggle-children-placeholder\\\"> </span>\\n }\\n </div>\\n <!-- #endregion <tree-node-expander> --->\\n\\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\\n <div class=\\\"node-content-wrapper\\\">\\n @if (showCheckbox()) {\\n <sky-checkbox\\n [checked]=\\\"isSelected\\\"\\n [id]=\\\"node.data.id\\\"\\n [label]=\\\"nodeName\\\"\\n [indeterminate]=\\\"isPartiallySelected\\\"\\n (change)=\\\"node.mouseAction('checkboxClick', $event)\\\"\\n />\\n }\\n\\n <sky-angular-tree-context-menu>\\n <ng-content select=\\\"sky-dropdown\\\" />\\n </sky-angular-tree-context-menu>\\n\\n <tree-node-content\\n [index]=\\\"index\\\"\\n [node]=\\\"node\\\"\\n [template]=\\\"templates?.treeNodeTemplate\\\"\\n (click)=\\\"node.mouseAction('click', $event)\\\"\\n /><span class=\\\"sky-control-help-container\\\">\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"nodeName\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n } @else {\\n <ng-content select=\\\".sky-control-help\\\" />\\n }\\n </span>\\n </div>\\n </div>\\n\\n <ng-container\\n [ngTemplateOutlet]=\\\"templates?.treeNodeWrapperTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: node,\\n node: node,\\n index: index,\\n templates: templates\\n }\\\"\\n />\\n <!-- #endregion <tree-node-wrapper> -->\\n\\n <tree-node-children role=\\\"group\\\" [node]=\\\"node\\\" [templates]=\\\"templates\\\" />\\n\\n <tree-node-drop-slot [dropIndex]=\\\"node.index + 1\\\" [node]=\\\"node.parent\\\" />\\n </div>\\n}\\n\" }]\n }], propDecorators: { index: [{\n type: Input\n }], node: [{\n type: Input\n }], templates: [{\n type: Input\n }], helpKey: [{\n type: Input\n }], helpPopoverContent: [{\n type: Input\n }], helpPopoverTitle: [{\n type: Input\n }], nodeContentWrapperRef: [{\n type: ViewChild,\n args: ['nodeContentWrapper', { read: ElementRef }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsVUFBVSxHQUVYLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFFbEY7Ozs7Ozs7OztHQVNHO0FBY0gsTUFBTSxPQUFPLDJCQUEyQjtJQTZDdEMsSUFB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O2tCQWJ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUV0QixDQUFDLDRCQUE0QixFQUFFLHNCQUFzQixDQUFDLFdBQ3hEO3dCQUNQLFVBQVU7d0JBQ1Ysa0NBQWtDO3dCQUNsQyxpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCOzhCQVFNLEtBQUs7c0JBRFgsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQVNDLE9BQU87c0JBRGIsS0FBSztnQkFTQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBUUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQXdEQyxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVRyZWVTdGF0ZSxcbiAgVHJlZU1vZHVsZSxcbiAgVHJlZU5vZGUsXG59IGZyb20gJ0BibGFja2JhdWQvYW5ndWxhci10cmVlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lDb250ZW50SW5mb1Byb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgZGVmYXVsdCB0cmVlIG5vZGUgdGVtcGxhdGUgd2l0aCBhIFNLWSBVWCBub2RlIGFzIHBhcnQgb2YgdGhlIGBTa3lBbmd1bGFyVHJlZU1vZHVsZWAgdGhhdFxuICogcHJvdmlkZXMgU0tZIFVYIGNvbXBvbmVudHMgYW5kIHN0eWxlcyB0byBjb21wbGVtZW50IHRoZSBgYW5ndWxhci10cmVlLWNvbXBvbmVudGAgbGlicmFyeSBhbmQgYXBwbHkgU0tZIFVYXG4gKiB0aGVtZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gaGllcmFyY2hpY2FsIGxpc3Qgdmlld3MuIFlvdSBtdXN0IHdyYXAgdGhpcyBjb21wb25lbnQgaW4gYW4gYG5nLXRlbXBsYXRlYFxuICogdGFnIHdpdGggdGhlIHRlbXBsYXRlIHJlZmVyZW5jZSB2YXJpYWJsZSBgI3RyZWVOb2RlRnVsbFRlbXBsYXRlYC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRyZWUgbm9kZSB0ZW1wbGF0ZXMsXG4gKiBzZWUgdGhlIFtBbmd1bGFyIHRyZWUgY29tcG9uZW50IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vYW5ndWxhcjItdHJlZS5yZWFkbWUuaW8vZG9jcy90ZW1wbGF0ZXMpLlxuICogVG8gZGlzcGxheSBjb250ZXh0IG1lbnVzIHdpdGggYWN0aW9ucyBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiBoaWVyYXJjaGljYWwgbGlzdHMsIHBsYWNlXG4gKiBbZHJvcGRvd25zXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXBvcG92ZXJzL2RvY3MvZHJvcGRvd24/ZG9jcy1hY3RpdmUtdGFiPWRlc2lnbikgaW5zaWRlIHRoZVxuICogQW5ndWxhciB0cmVlIG5vZGUgY29tcG9uZW50LCB3aGljaCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgc3R5bGluZyBhbmQgcG9zaXRpb25pbmcgZm9yIGNvbnRleHQgbWVudXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1NreUFuZ3VsYXJUcmVlQWRhcHRlclNlcnZpY2UsIFNreUNvbnRlbnRJbmZvUHJvdmlkZXJdLFxuICBpbXBvcnRzOiBbXG4gICAgVHJlZU1vZHVsZSxcbiAgICBTa3lBbmd1bGFyVHJlZUNvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAvKipcbiAgICogVGhlIGBpbmRleGAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBgbm9kZWAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuIEZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYFRyZWVOb2RlYCBvYmplY3QsIHNlZSB0aGVcbiAgICogW0FuZ3VsYXIgdHJlZSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL2FwaSkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG5vZGU6IFRyZWVOb2RlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYHRlbXBsYXRlc2AgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGVtcGxhdGVzOiBhbnk7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKVxuICAgKiBidXR0b24gaXMgcGxhY2VkIGJlc2lkZSB0aGUgdHJlZSBub2RlIGxhYmVsLiBDbGlja2luZyB0aGUgYnV0dG9uIGludm9rZXMgW2dsb2JhbCBoZWxwXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2RldmVsb3AvZ2xvYmFsLWhlbHApXG4gICAqIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgdHJlZSBub2RlLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHNldCBjaGlsZEZvY3VzSW5kZXgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX2NoaWxkRm9jdXNJbmRleCkge1xuICAgICAgdGhpcy4jX2NoaWxkRm9jdXNJbmRleCA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuI2ZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLiNmb2N1c2FibGVDaGlsZHJlblt2YWx1ZV0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZEZvY3VzSW5kZXgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoaWxkRm9jdXNJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudGFiSW5kZXggPSB2YWx1ZSA/IDAgOiAtMTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBpc1BhcnRpYWxseVNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfaXNQYXJ0aWFsbHlTZWxlY3RlZCkge1xuICAgICAgdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQYXJ0aWFsbHlTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzU2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuI19pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLiNfaXNTZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICBAVmlld0NoaWxkKCdub2RlQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIG5vZGVDb250ZW50V3JhcHBlclJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgc2V0IG5vZGVOYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNfbm9kZU5hbWUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjb250ZW50SW5mb1Byb3ZpZGVyLnBhdGNoSW5mbyh7XG4gICAgICBkZXNjcmlwdG9yOiB7IHR5cGU6ICd0ZXh0JywgdmFsdWUgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbm9kZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX25vZGVOYW1lO1xuICB9XG5cbiAgI2ZvY3VzYWJsZUNoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgI21vdXNlRG93biA9IGZhbHNlO1xuXG4gICNfY2hpbGRGb2N1c0luZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI19pc1BhcnRpYWxseVNlbGVjdGVkID0gZmFsc2U7XG5cbiAgI19pc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgI190YWJJbmRleCA9IC0xO1xuXG4gICNfbm9kZU5hbWUgPSAnJztcblxuICByZWFkb25seSAjYWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5QW5ndWxhclRyZWVBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNjb250ZW50SW5mb1Byb3ZpZGVyID0gaW5qZWN0KFNreUNvbnRlbnRJbmZvUHJvdmlkZXIpO1xuICByZWFkb25seSAjc2t5QW5ndWxhclRyZWVXcmFwcGVyID0gaW5qZWN0KFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGA8c2t5LWFuZ3VsYXItdHJlZS1ub2RlLXdyYXBwZXI+IG11c3QgYmUgd3JhcHBlZCBpbnNpZGUgYSA8c2t5LWFuZ3VsYXItdHJlZS13cmFwcGVyPiBjb21wb25lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgdGhpcy5ub2RlTmFtZSA9IHRoaXMubm9kZS5kYXRhLm5hbWU7XG4gICAgICAvLyBCZWNhdXNlIHdlJ3JlIGJpbmRpbmcgdGhlIGNoZWNrYm94IHRvIG5vZGUncyBjaGlsZHJlbiBwcm9wZXJ0aWVzLCB3ZSBuZWVkIHRvIG1hbnVhbGx5IGNvbnRyb2wgY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgIC8vIEhlcmUsIHdlIGxpc3RlbiB0byB0aGUgdHJlZSdzIHN0YXRlIGFuZCBmb3JjZSBjaGFuZ2UgZGV0ZWN0aW9uIGluIHRoZSBzZXR0ZXJzIGlmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICAgIHRoaXMubm9kZS50cmVlTW9kZWwuc3Vic2NyaWJlVG9TdGF0ZSgoc3RhdGU6IElUcmVlU3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMubm9kZS5pc1NlbGVjdGVkO1xuICAgICAgICAgIHRoaXMuaXNQYXJ0aWFsbHlTZWxlY3RlZCA9IHRoaXMubm9kZS5pc1BhcnRpYWxseVNlbGVjdGVkO1xuXG4gICAgICAgICAgaWYgKHN0YXRlLmZvY3VzZWROb2RlSWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IHN0YXRlLmZvY3VzZWROb2RlSWQgPT09IHRoaXMubm9kZS5pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5vZGUudHJlZU1vZGVsLnN1YnNjcmliZSgndXBkYXRlRGF0YScsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgICAgIHRoaXMubm9kZU5hbWUgPSB0aGlzLm5vZGUuZGF0YS5uYW1lO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gTWFrZSB0aGUgZmlyc3Qgcm9vdCBub2RlIHRhYmJhYmxlLlxuICAgICAgaWYgKHRoaXMubm9kZS5pc1Jvb3QgJiYgdGhpcy5ub2RlLmluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCAxcyBmb3IgdGhlIG5vZGUgdG8gcmVuZGVyLCB0aGVuIHJlc2V0IGFsbCBjaGlsZCB0YWJJbmRleGVzIHRvIC0xLlxuICAgIC8vIFVuaXRzIHNtYWxsZXIgdGhhbiAxcyBtYXkgY29uc2lzdGVudGx5IGZhaWwgaWYgdGhlcmUgYXJlIG1hbnkgbm9kZXMsIG9yIG11bHRpcGxlIHRyZWVzIGFyZSBvbiB0aGUgc2FtZSBzY3JlZW4uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ub2RlQ29udGVudFdyYXBwZXJSZWYpIHtcbiAgICAgICAgdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4gPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgICAgICB0aGlzLm5vZGVDb250ZW50V3JhcHBlclJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRUYWJJbmRleE9mRm9jdXNhYmxlRWxzKFxuICAgICAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgLTEsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgc2luZ2xlLXNlbGVjdCwgc2V0IGFyaWEtc2VsZWN0ZWQ9dHJ1ZSBmb3IgdGhlIHNlbGVjdGVkIG5vZGUgYW5kIHVuZGVmaW5lZCBmb3IgYWxsIHRoZSBvdGhlcnMuXG4gICAqIEZvciBtdWx0aXBsZS1zZWxlY3QsIHNldCBhcmlhLXNlbGVjdGVkIHRvIGVpdGhlciB0cnVlIG9yIGZhbHNlLlxuICAgKiBJZiBub2RlIGNhbm5vdCBiZSBzZWxlY3RlZCwgYXJpYS1zZWxlY3RlZCBzaG91bGQgYmUgdW5kZWZpbmVkIChlLmcuIHBhcmVudCBub2RlcyBpbiBsZWFmLXNlbGVjdC1vbmx5IG1vZGUpLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBhcmlhU2VsZWN0ZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyLnNlbGVjdFNpbmdsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZCA/IHRydWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLiNpc1NlbGVjdGFibGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMuaXNTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q2hlY2tib3goKTogYm9vbGVhbiB7XG4gICAgLy8gQ2hlY2sgZm9yIGNoZWNrYm94IG1vZGUgZW5hYmxlZCwgYnV0IGFsc28gcmVzcGVjdCBsZWFmLW5vZGUgYW5kIHNpbmdsZS1zZWxlY3Qgc2V0dGluZ3MuXG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5ub2RlICYmXG4gICAgICB0aGlzLm5vZGUub3B0aW9ucy51c2VDaGVja2JveCAmJlxuICAgICAgdGhpcy4jaXNTZWxlY3RhYmxlKCkgJiZcbiAgICAgICghdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyIHx8XG4gICAgICAgICF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIuc2VsZWN0U2luZ2xlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1NlbGVjdGVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2lzU2VsZWN0YWJsZSgpICYmIHRoaXMuaXNTZWxlY3RlZCAmJiAhdGhpcy5pc1BhcnRpYWxseVNlbGVjdGVkO1xuICB9XG5cbiAgcHVibGljIHNob3dBY3RpdmVDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLm5vZGUgJiZcbiAgICAgIHRoaXMubm9kZS5pc0FjdGl2ZSAmJlxuICAgICAgIXRoaXMubm9kZS50cmVlTW9kZWwub3B0aW9ucy51c2VDaGVja2JveFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1RvZ2dsZVBsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5ub2RlPy5oYXNDaGlsZHJlbiAmJlxuICAgICAgIXRoaXMuI3NreUFuZ3VsYXJUcmVlV3JhcHBlcj8uc2VsZWN0TGVhZk5vZGVzT25seVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAvLyA8dHJlZS1ub2RlLWNvbnRlbnQ+IGhhcyBpdHMgb3duIGNsaWNrIGhhbmRsZXIsIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhpcyBmb2N1cyBldmVudFxuICAgIC8vIGlzIGNvbWluZyBmcm9tIHRoZSBtb3VzZSBjbGljayBvciB0aGUga2V5Ym9hcmQgdG8gcHJldmVudCB0aGUgbG9naWMgZnJvbSBydW5uaW5nIHR3aWNlLlxuICAgIGlmICghdGhpcy4jbW91c2VEb3duKSB7XG4gICAgICB0aGlzLm5vZGU/LnRyZWVNb2RlbC5zZXRGb2N1cyh0cnVlKTtcbiAgICAgIHRoaXMubm9kZT8uZm9jdXMoKTtcbiAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlRG93bigpOiB2b2lkIHtcbiAgICB0aGlzLiNtb3VzZURvd24gPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VVcCgpOiB2b2lkIHtcbiAgICB0aGlzLiNtb3VzZURvd24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpIHtcbiAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICBjYXNlICdhcnJvd3VwJzpcbiAgICAgICAgICAvLyBGb2N1cyBvbiBwcmV2aW91cyBub2RlLlxuICAgICAgICAgIHRoaXMubm9kZT8udHJlZU1vZGVsLmZvY3VzUHJldmlvdXNOb2RlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgIGNhc2UgJ2Fycm93ZG93bic6XG4gICAgICAgICAgLy8gRm9jdXMgb24gbmV4dCBub2RlLlxuICAgICAgICAgIHRoaXMubm9kZT8udHJlZU1vZGVsLmZvY3VzTmV4dE5vZGUoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgY2FzZSAnYXJyb3dsZWZ0JzpcbiAgICAgICAgICAvLyBDeWNsZSBiYWNrd2FyZHMgdGhyb3VnaCBpbnRlcmFjdGl2ZSBjaGlsZCBlbGVtZW50c1xuICAgICAgICAgIC8vIElmIHVzZXIgcmVhY2hlcyB0aGUgYmVnaW5uaW5nLCBhY3RpdmF0ZSBkcmlsbCB1cC5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmNoaWxkRm9jdXNJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jaGlsZEZvY3VzSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgdGhpcy5jaGlsZEZvY3VzSW5kZXggPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleC0tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5vZGU/LnNldElzRXhwYW5kZWQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgY2FzZSAnYXJyb3dyaWdodCc6XG4gICAgICAgICAgLy8gQ3ljbGUgZm9yd2FyZCB0aHJvdWdoIGludGVyYWN0aXZlIGNoaWxkIGVsZW1lbnRzLlxuICAgICAgICAgIC8vIElmIHVzZXIgcmVhY2hlcyB0aGUgZW5kLCBhY3RpdmF0ZSBkcmlsbCBkb3duLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoIDw9IDAgfHxcbiAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID09PSB0aGlzLiNmb2N1c2FibGVDaGlsZHJlbi5sZW5ndGggLSAxXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGU/LnNldElzRXhwYW5kZWQodHJ1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkRm9jdXNJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID0gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjaXNTZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICEhdGhpcy5ub2RlICYmXG4gICAgICAgICh0aGlzLm5vZGUuaXNMZWFmIHx8XG4gICAgICAgICAgIXRoaXMubm9kZS5oYXNDaGlsZHJlbiB8fFxuICAgICAgICAgICF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIuc2VsZWN0TGVhZk5vZGVzT25seSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAobm9kZSAmJiBpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gIDxkaXZcbiAgICBbY2xhc3NdPVwibm9kZS5nZXRDbGFzcygpXCJcbiAgICBbY2xhc3MudHJlZS1ub2RlXT1cInRydWVcIlxuICAgIFtjbGFzcy50cmVlLW5vZGUtYWN0aXZlXT1cIm5vZGUuaXNBY3RpdmVcIlxuICAgIFtjbGFzcy50cmVlLW5vZGUtY29sbGFwc2VkXT1cIm5vZGUuaXNDb2xsYXBzZWQgJiYgbm9kZS5oYXNDaGlsZHJlblwiXG4gICAgW2NsYXNzLnRyZWUtbm9kZS1leHBhbmRlZF09XCJub2RlLmlzRXhwYW5kZWQgJiYgbm9kZS5oYXNDaGlsZHJlblwiXG4gICAgW2NsYXNzLnRyZWUtbm9kZS1mb2N1c2VkXT1cIm5vZGUuaXNGb2N1c2VkXCJcbiAgICBbY2xhc3MudHJlZS1ub2RlLWxlYWZdPVwibm9kZS5pc0xlYWZcIlxuICA+XG4gICAgQGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgPHRyZWUtbm9kZS1kcm9wLXNsb3QgW2Ryb3BJbmRleF09XCJub2RlLmluZGV4XCIgW25vZGVdPVwibm9kZS5wYXJlbnRcIiAvPlxuICAgIH1cblxuICAgIDwhLS0gI3JlZ2lvbiA8dHJlZS1ub2RlLXdyYXBwZXI+IGN1c3RvbSB0ZW1wbGF0ZSAtLS0+XG4gICAgPGRpdlxuICAgICAgI25vZGVDb250ZW50V3JhcHBlclxuICAgICAgY2xhc3M9XCJub2RlLXdyYXBwZXJcIlxuICAgICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICAgIFthbGxvd0RyYWdvdmVyU3R5bGluZ109XCJub2RlLmFsbG93RHJhZ292ZXJTdHlsaW5nKClcIlxuICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIm5vZGUuaXNBY3RpdmVcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJub2RlLmNoaWxkcmVuPy5sZW5ndGggPyBub2RlLmlzRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYXJpYVNlbGVjdGVkKClcIlxuICAgICAgW2F0dHIuZGF0YS1ub2RlLWlkXT1cIm5vZGUuaWRcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1hY3RpdmVdPVwic2hvd0FjdGl2ZUNsYXNzKClcIlxuICAgICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1oYXMtY2hlY2tib3hdPVwic2hvd0NoZWNrYm94KClcIlxuICAgICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1zZWxlY3RlZF09XCJzaG93U2VsZWN0ZWRDbGFzcygpXCJcbiAgICAgIFtzdHlsZS4tLXNreS1hbmd1bGFyLXRyZWUtbm9kZS1wYWRkaW5nXT1cIm5vZGUuZ2V0Tm9kZVBhZGRpbmcoKVwiXG4gICAgICBbdHJlZUFsbG93RHJvcF09XCJub2RlLmFsbG93RHJvcFwiXG4gICAgICBbdHJlZURyYWddPVwibm9kZVwiXG4gICAgICBbdHJlZURyYWdFbmFibGVkXT1cIm5vZGUuYWxsb3dEcmFnKClcIlxuICAgICAgKGNvbnRleHRtZW51KT1cIm5vZGUubW91c2VBY3Rpb24oJ2NvbnRleHRNZW51JywgJGV2ZW50KVwiXG4gICAgICAoZGJsY2xpY2spPVwibm9kZS5tb3VzZUFjdGlvbignZGJsQ2xpY2snLCAkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcCk9XCJub2RlLm9uRHJvcCgkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcERyYWdFbnRlcik9XCJub2RlLm1vdXNlQWN0aW9uKCdkcmFnRW50ZXInLCAkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcERyYWdMZWF2ZSk9XCJub2RlLm1vdXNlQWN0aW9uKCdkcmFnTGVhdmUnLCAkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcERyYWdPdmVyKT1cIm5vZGUubW91c2VBY3Rpb24oJ2RyYWdPdmVyJywgJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPCEtLSAjcmVnaW9uIDx0cmVlLW5vZGUtZXhwYW5kZXI+IGN1c3RvbSB0ZW1wbGF0ZSAtLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyXCI+XG4gICAgICAgIEBpZiAobm9kZS5oYXNDaGlsZHJlbikge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktdG9nZ2xlLWNoaWxkcmVuXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm5vZGVOYW1lXCJcbiAgICAgICAgICAgIFtjbGFzcy50b2dnbGUtY2hpbGRyZW4td3JhcHBlci1leHBhbmRlZF09XCJub2RlLmlzRXhwYW5kZWRcIlxuICAgICAgICAgICAgW2NsYXNzLnRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyLWNvbGxhcHNlZF09XCJub2RlLmlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJub2RlLm1vdXNlQWN0aW9uKCdleHBhbmRlckNsaWNrJywgJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJub2RlLmlzRXhwYW5kZWQgPyAnY2hldnJvbi1kb3duJyA6ICdjaGV2cm9uLXJpZ2h0J1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc2hvd1RvZ2dsZVBsYWNlaG9sZGVyKCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1jaGlsZHJlbi1wbGFjZWhvbGRlclwiPiA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSAjZW5kcmVnaW9uIDx0cmVlLW5vZGUtZXhwYW5kZXI+IC0tLT5cblxuICAgICAgPCEtLSBOb3RlOiB3ZSd2ZSBtYWRlIGNoYW5nZXMgdG8gdGhlIGNsaWNrIGV2ZW50LCB0YWJpbmRleCwgYW5kIGNsYXNzZXMgd2hlbiBjb21wYXJlZCB0byB0aGUgb3JpZ2luYWwgdGVtcGxhdGUuIC0tPlxuICAgICAgPCEtLSBodHRwczovL2dpdGh1Yi5jb20vNTAwdGVjaC9hbmd1bGFyLXRyZWUtY29tcG9uZW50L2Jsb2IvbWFzdGVyL2xpYi9jb21wb25lbnRzL3RyZWUtbm9kZS13cmFwcGVyLmNvbXBvbmVudC50cyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICBAaWYgKHNob3dDaGVja2JveCgpKSB7XG4gICAgICAgICAgPHNreS1jaGVja2JveFxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICBbaWRdPVwibm9kZS5kYXRhLmlkXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJub2RlTmFtZVwiXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpc1BhcnRpYWxseVNlbGVjdGVkXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwibm9kZS5tb3VzZUFjdGlvbignY2hlY2tib3hDbGljaycsICRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cblxuICAgICAgICA8c2t5LWFuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnU+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRyb3Bkb3duXCIgLz5cbiAgICAgICAgPC9za3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudT5cblxuICAgICAgICA8dHJlZS1ub2RlLWNvbnRlbnRcbiAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZXM/LnRyZWVOb2RlVGVtcGxhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJub2RlLm1vdXNlQWN0aW9uKCdjbGljaycsICRldmVudClcIlxuICAgICAgICAvPjxzcGFuIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscC1jb250YWluZXJcIj5cbiAgICAgICAgICBAaWYgKGhlbHBLZXkgfHwgaGVscFBvcG92ZXJDb250ZW50KSB7XG4gICAgICAgICAgICA8c2t5LWhlbHAtaW5saW5lXG4gICAgICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgICAgICBbbGFiZWxUZXh0XT1cIm5vZGVOYW1lXCJcbiAgICAgICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZXM/LnRyZWVOb2RlV3JhcHBlclRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICRpbXBsaWNpdDogbm9kZSxcbiAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICB0ZW1wbGF0ZXM6IHRlbXBsYXRlc1xuICAgICAgfVwiXG4gICAgLz5cbiAgICA8IS0tICNlbmRyZWdpb24gPHRyZWUtbm9kZS13cmFwcGVyPiAtLT5cblxuICAgIDx0cmVlLW5vZGUtY2hpbGRyZW4gcm9sZT1cImdyb3VwXCIgW25vZGVdPVwibm9kZVwiIFt0ZW1wbGF0ZXNdPVwidGVtcGxhdGVzXCIgLz5cblxuICAgIDx0cmVlLW5vZGUtZHJvcC1zbG90IFtkcm9wSW5kZXhdPVwibm9kZS5pbmRleCArIDFcIiBbbm9kZV09XCJub2RlLnBhcmVudFwiIC8+XG4gIDwvZGl2PlxufVxuIl19","import { NgModule } from '@angular/core';\nimport { SkyAngularTreeComponentResourcesModule } from '../shared/sky-angular-tree-component-resources.module';\nimport { SkyAngularTreeContextMenuComponent } from './angular-tree-context-menu.component';\nimport { SkyAngularTreeNodeComponent } from './angular-tree-node.component';\nimport { SkyAngularTreeToolbarComponent } from './angular-tree-toolbar.component';\nimport { SkyAngularTreeWrapperComponent } from './angular-tree-wrapper.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyAngularTreeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, imports: [SkyAngularTreeComponentResourcesModule,\n SkyAngularTreeContextMenuComponent,\n SkyAngularTreeNodeComponent,\n SkyAngularTreeToolbarComponent,\n SkyAngularTreeWrapperComponent], exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, imports: [SkyAngularTreeComponentResourcesModule,\n SkyAngularTreeNodeComponent,\n SkyAngularTreeToolbarComponent,\n SkyAngularTreeWrapperComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyAngularTreeComponentResourcesModule,\n SkyAngularTreeContextMenuComponent,\n SkyAngularTreeNodeComponent,\n SkyAngularTreeToolbarComponent,\n SkyAngularTreeWrapperComponent,\n ],\n exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHVEQUF1RCxDQUFDO0FBRS9HLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzVFLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ2xGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQVlsRixNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQVI3QixzQ0FBc0M7WUFDdEMsa0NBQWtDO1lBQ2xDLDJCQUEyQjtZQUMzQiw4QkFBOEI7WUFDOUIsOEJBQThCLGFBRXRCLDJCQUEyQixFQUFFLDhCQUE4QjsrR0FFMUQsb0JBQW9CLFlBUjdCLHNDQUFzQztZQUV0QywyQkFBMkI7WUFDM0IsOEJBQThCO1lBQzlCLDhCQUE4Qjs7MkZBSXJCLG9CQUFvQjtrQkFWaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asc0NBQXNDO3dCQUN0QyxrQ0FBa0M7d0JBQ2xDLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qiw4QkFBOEI7cUJBQy9CO29CQUNELE9BQU8sRUFBRSxDQUFDLDJCQUEyQixFQUFFLDhCQUE4QixDQUFDO2lCQUN2RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlQ29tcG9uZW50UmVzb3VyY2VzTW9kdWxlIH0gZnJvbSAnLi4vc2hhcmVkL3NreS1hbmd1bGFyLXRyZWUtY29tcG9uZW50LXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUNvbnRleHRNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZVRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTa3lBbmd1bGFyVHJlZUNvbXBvbmVudFJlc291cmNlc01vZHVsZSxcbiAgICBTa3lBbmd1bGFyVHJlZUNvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIFNreUFuZ3VsYXJUcmVlTm9kZUNvbXBvbmVudCxcbiAgICBTa3lBbmd1bGFyVHJlZVRvb2xiYXJDb21wb25lbnQsXG4gICAgU2t5QW5ndWxhclRyZWVXcmFwcGVyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbU2t5QW5ndWxhclRyZWVOb2RlQ29tcG9uZW50LCBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZU1vZHVsZSB7fVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtYW5ndWxhci10cmVlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9za3l1eC1hbmd1bGFyLXRyZWUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-angular-tree-component.mjs","sources":["../tmp-esm2022/lib/modules/shared/sky-angular-tree-component-resources.module.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-context-menu.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-adapter.service.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-toolbar.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-wrapper.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree-node.component.js","../tmp-esm2022/lib/modules/angular-tree/angular-tree.module.js","../tmp-esm2022/skyux-angular-tree-component.js"],"sourcesContent":["/* istanbul ignore file */\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-angular-tree-component' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport { SkyI18nModule, SkyLibResourcesService, } from '@skyux/i18n';\nimport * as i0 from \"@angular/core\";\nconst RESOURCES = {\n 'EN-US': {\n skyux_angular_tree_clear_all: { message: 'Clear all' },\n skyux_angular_tree_click_to_expand: { message: 'Click to expand' },\n skyux_angular_tree_collapse_all: { message: 'Collapse' },\n skyux_angular_tree_expand_all: { message: 'Expand' },\n skyux_angular_tree_select_all: { message: 'Select all' },\n },\n 'FR-CA': {\n skyux_angular_tree_clear_all: { message: 'Effacer tout' },\n skyux_angular_tree_click_to_expand: { message: 'Cliquez pour agrandir' },\n skyux_angular_tree_collapse_all: { message: 'Réduire' },\n skyux_angular_tree_expand_all: { message: 'Agrandir' },\n skyux_angular_tree_select_all: { message: 'Sélectionner tout' },\n },\n};\nSkyLibResourcesService.addResources(RESOURCES);\n/**\n * Import into any component library module that needs to use resource strings.\n */\nexport class SkyAngularTreeComponentResourcesModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, exports: [SkyI18nModule] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, imports: [SkyI18nModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeComponentResourcesModule, decorators: [{\n type: NgModule,\n args: [{\n exports: [SkyI18nModule],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9zaGFyZWQvc2t5LWFuZ3VsYXItdHJlZS1jb21wb25lbnQtcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUI7Ozs7O0dBS0c7QUFDSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxhQUFhLEVBRWIsc0JBQXNCLEdBQ3ZCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBb0M7SUFDakQsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFO1FBQ3RELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFO1FBQ2xFLCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRTtRQUN4RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUU7UUFDcEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO0tBQ3pEO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsNEJBQTRCLEVBQUUsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFO1FBQ3pELGtDQUFrQyxFQUFFLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFO1FBQ3hFLCtCQUErQixFQUFFLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRTtRQUN2RCw2QkFBNkIsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDdEQsNkJBQTZCLEVBQUUsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7S0FDaEU7Q0FDRixDQUFDO0FBRUYsc0JBQXNCLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRS9DOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQzs4R0FBdEMsc0NBQXNDOytHQUF0QyxzQ0FBc0MsWUFGdkMsYUFBYTsrR0FFWixzQ0FBc0MsWUFGdkMsYUFBYTs7MkZBRVosc0NBQXNDO2tCQUhsRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBpc3RhbmJ1bCBpZ25vcmUgZmlsZSAqL1xuLyoqXG4gKiBOT1RJQ0U6IERPIE5PVCBNT0RJRlkgVEhJUyBGSUxFIVxuICogVGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSB3ZXJlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJ5XG4gKiB0aGUgJ25nIGdlbmVyYXRlIEBza3l1eC9pMThuOmxpYi1yZXNvdXJjZXMtbW9kdWxlIGxpYi9tb2R1bGVzL3NoYXJlZC9za3ktYW5ndWxhci10cmVlLWNvbXBvbmVudCcgc2NoZW1hdGljLlxuICogVG8gdXBkYXRlIHRoaXMgZmlsZSwgc2ltcGx5IHJlcnVuIHRoZSBjb21tYW5kLlxuICovXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogUmVjb3JkPHN0cmluZywgU2t5TGliUmVzb3VyY2VzPiA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9jbGVhcl9hbGw6IHsgbWVzc2FnZTogJ0NsZWFyIGFsbCcgfSxcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfY2xpY2tfdG9fZXhwYW5kOiB7IG1lc3NhZ2U6ICdDbGljayB0byBleHBhbmQnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2NvbGxhcHNlX2FsbDogeyBtZXNzYWdlOiAnQ29sbGFwc2UnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2V4cGFuZF9hbGw6IHsgbWVzc2FnZTogJ0V4cGFuZCcgfSxcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfc2VsZWN0X2FsbDogeyBtZXNzYWdlOiAnU2VsZWN0IGFsbCcgfSxcbiAgfSxcbiAgJ0ZSLUNBJzoge1xuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9jbGVhcl9hbGw6IHsgbWVzc2FnZTogJ0VmZmFjZXIgdG91dCcgfSxcbiAgICBza3l1eF9hbmd1bGFyX3RyZWVfY2xpY2tfdG9fZXhwYW5kOiB7IG1lc3NhZ2U6ICdDbGlxdWV6IHBvdXIgYWdyYW5kaXInIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2NvbGxhcHNlX2FsbDogeyBtZXNzYWdlOiAnUsOpZHVpcmUnIH0sXG4gICAgc2t5dXhfYW5ndWxhcl90cmVlX2V4cGFuZF9hbGw6IHsgbWVzc2FnZTogJ0FncmFuZGlyJyB9LFxuICAgIHNreXV4X2FuZ3VsYXJfdHJlZV9zZWxlY3RfYWxsOiB7IG1lc3NhZ2U6ICdTw6lsZWN0aW9ubmVyIHRvdXQnIH0sXG4gIH0sXG59O1xuXG5Ta3lMaWJSZXNvdXJjZXNTZXJ2aWNlLmFkZFJlc291cmNlcyhSRVNPVVJDRVMpO1xuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZUNvbXBvbmVudFJlc291cmNlc01vZHVsZSB7fVxuIl19","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyAngularTreeContextMenuComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeContextMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.0\", type: SkyAngularTreeContextMenuComponent, isStandalone: true, selector: \"sky-angular-tree-context-menu\", ngImport: i0, template: \"<div class=\\\"sky-angular-tree-context-menu\\\">\\n <ng-content />\\n</div>\\n\", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeContextMenuComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-context-menu', changeDetection: ChangeDetectionStrategy.OnPush, template: \"<div class=\\\"sky-angular-tree-context-menu\\\">\\n <ng-content />\\n</div>\\n\" }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWNvbnRleHQtbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRW5FOztHQUVHO0FBTUgsTUFBTSxPQUFPLGtDQUFrQzs4R0FBbEMsa0NBQWtDO2tHQUFsQyxrQ0FBa0MseUZDVi9DLDJFQUdBOzsyRkRPYSxrQ0FBa0M7a0JBTDlDLFNBQVM7K0JBQ0UsK0JBQStCLG1CQUV4Qix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtY29udGV4dC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQge31cbiIsIjxkaXYgY2xhc3M9XCJza3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudVwiPlxuICA8bmctY29udGVudCAvPlxuPC9kaXY+XG4iXX0=","import { Injectable, inject } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport * as i0 from \"@angular/core\";\n/**\n * @internal\n */\nexport class SkyAngularTreeAdapterService {\n #coreAdapterService = inject(SkyCoreAdapterService);\n getFocusableChildren(element) {\n return this.#coreAdapterService.getFocusableChildren(element);\n }\n setTabIndexOfFocusableEls(element, tabIndex) {\n const focusableEls = this.#coreAdapterService.getFocusableChildren(element);\n let index = focusableEls.length;\n while (index--) {\n focusableEls[index].tabIndex = tabIndex;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeAdapterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeAdapterService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeAdapterService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBRXBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLDRCQUE0QjtJQUM5QixtQkFBbUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUV0RCxvQkFBb0IsQ0FBQyxPQUFvQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRU0seUJBQXlCLENBQzlCLE9BQW9CLEVBQ3BCLFFBQWdCO1FBRWhCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDO1FBQ2hDLE9BQU8sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUNmLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDOzhHQWhCVSw0QkFBNEI7a0hBQTVCLDRCQUE0Qjs7MkZBQTVCLDRCQUE0QjtrQkFEeEMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVBZGFwdGVyU2VydmljZSB7XG4gIHJlYWRvbmx5ICNjb3JlQWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlKTtcblxuICBwdWJsaWMgZ2V0Rm9jdXNhYmxlQ2hpbGRyZW4oZWxlbWVudDogSFRNTEVsZW1lbnQpOiBIVE1MRWxlbWVudFtdIHtcbiAgICByZXR1cm4gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuICB9XG5cbiAgcHVibGljIHNldFRhYkluZGV4T2ZGb2N1c2FibGVFbHMoXG4gICAgZWxlbWVudDogSFRNTEVsZW1lbnQsXG4gICAgdGFiSW5kZXg6IG51bWJlcixcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgZm9jdXNhYmxlRWxzID0gdGhpcy4jY29yZUFkYXB0ZXJTZXJ2aWNlLmdldEZvY3VzYWJsZUNoaWxkcmVuKGVsZW1lbnQpO1xuICAgIGxldCBpbmRleCA9IGZvY3VzYWJsZUVscy5sZW5ndGg7XG4gICAgd2hpbGUgKGluZGV4LS0pIHtcbiAgICAgIGZvY3VzYWJsZUVsc1tpbmRleF0udGFiSW5kZXggPSB0YWJJbmRleDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==","import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, } from '@angular/core';\nimport { SkyI18nModule } from '@skyux/i18n';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@skyux/icon\";\nimport * as i2 from \"@skyux/layout\";\nimport * as i3 from \"@skyux/i18n\";\n/**\n * @internal\n */\nexport class SkyAngularTreeToolbarComponent {\n constructor() {\n this.clearAllClick = new EventEmitter();\n this.collapseAllClick = new EventEmitter();\n this.expandAllClick = new EventEmitter();\n this.selectAllClick = new EventEmitter();\n }\n onClearAllClick() {\n this.clearAllClick.emit();\n }\n onCollapseAllClick() {\n this.collapseAllClick.emit();\n }\n onExpandAllClick() {\n this.expandAllClick.emit();\n }\n onSelectAllClick() {\n this.selectAllClick.emit();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyAngularTreeToolbarComponent, isStandalone: true, selector: \"sky-angular-tree-toolbar\", inputs: { showSelectButtons: \"showSelectButtons\" }, outputs: { clearAllClick: \"clearAllClick\", collapseAllClick: \"collapseAllClick\", expandAllClick: \"expandAllClick\", selectAllClick: \"selectAllClick\" }, ngImport: i0, template: \"<div class=\\\"sky-angular-tree-toolbar\\\" role=\\\"toolbar\\\">\\n <sky-toolbar>\\n @if (showSelectButtons) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onSelectAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onClearAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n }\\n <sky-toolbar-view-actions>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_expand_all' | skyLibResources\\\"\\n (click)=\\\"onExpandAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-down\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_collapse_all' | skyLibResources\\\"\\n (click)=\\\"onCollapseAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-up\\\" />\\n </button>\\n </sky-toolbar-view-actions>\\n </sky-toolbar>\\n</div>\\n\", dependencies: [{ kind: \"ngmodule\", type: SkyI18nModule }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i1.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"ngmodule\", type: SkyToolbarModule }, { kind: \"component\", type: i2.λ37, selector: \"sky-toolbar\", inputs: [\"listDescriptor\"] }, { kind: \"component\", type: i2.λ39, selector: \"sky-toolbar-item\" }, { kind: \"component\", type: i2.λ40, selector: \"sky-toolbar-view-actions\" }, { kind: \"pipe\", type: i3.SkyLibResourcesPipe, name: \"skyLibResources\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeToolbarComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyI18nModule, SkyIconModule, SkyToolbarModule], template: \"<div class=\\\"sky-angular-tree-toolbar\\\" role=\\\"toolbar\\\">\\n <sky-toolbar>\\n @if (showSelectButtons) {\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-select-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onSelectAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_select_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n <sky-toolbar-item>\\n <button\\n class=\\\"sky-btn sky-btn-link sky-angular-tree-clear-all-btn\\\"\\n type=\\\"button\\\"\\n (click)=\\\"onClearAllClick()\\\"\\n >\\n {{ 'skyux_angular_tree_clear_all' | skyLibResources }}\\n </button>\\n </sky-toolbar-item>\\n }\\n <sky-toolbar-view-actions>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-expand-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_expand_all' | skyLibResources\\\"\\n (click)=\\\"onExpandAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-down\\\" />\\n </button>\\n <button\\n class=\\\"sky-btn sky-btn-default sky-margin-inline-default sky-angular-tree-collapse-all-btn\\\"\\n type=\\\"button\\\"\\n [title]=\\\"'skyux_angular_tree_collapse_all' | skyLibResources\\\"\\n (click)=\\\"onCollapseAllClick()\\\"\\n >\\n <sky-icon iconName=\\\"chevron-double-up\\\" />\\n </button>\\n </sky-toolbar-view-actions>\\n </sky-toolbar>\\n</div>\\n\" }]\n }], propDecorators: { showSelectButtons: [{\n type: Input\n }], clearAllClick: [{\n type: Output\n }], collapseAllClick: [{\n type: Output\n }], expandAllClick: [{\n type: Output\n }], selectAllClick: [{\n type: Output\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXRvb2xiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS10b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBRWpEOztHQUVHO0FBT0gsTUFBTSxPQUFPLDhCQUE4QjtJQU4zQztRQVdTLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUd6QyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzVDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUcxQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0FpQmxEO0lBZlEsZUFBZTtRQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTSxrQkFBa0I7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs4R0E5QlUsOEJBQThCO2tHQUE5Qiw4QkFBOEIsK1JDcEIzQyxzOUNBMENBLDJDRHhCWSxhQUFhLDhCQUFFLGFBQWEscUlBQUUsZ0JBQWdCOzsyRkFFN0MsOEJBQThCO2tCQU4xQyxTQUFTOytCQUNFLDBCQUEwQixtQkFFbkIsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUM7OEJBSWxELGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxhQUFhO3NCQURuQixNQUFNO2dCQUlBLGdCQUFnQjtzQkFEdEIsTUFBTTtnQkFJQSxjQUFjO3NCQURwQixNQUFNO2dCQUlBLGNBQWM7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5STE4bk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pMThuJztcbmltcG9ydCB7IFNreUljb25Nb2R1bGUgfSBmcm9tICdAc2t5dXgvaWNvbic7XG5pbXBvcnQgeyBTa3lUb29sYmFyTW9kdWxlIH0gZnJvbSAnQHNreXV4L2xheW91dCc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtdG9vbGJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbU2t5STE4bk1vZHVsZSwgU2t5SWNvbk1vZHVsZSwgU2t5VG9vbGJhck1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUFuZ3VsYXJUcmVlVG9vbGJhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93U2VsZWN0QnV0dG9uczogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsZWFyQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjb2xsYXBzZUFsbENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgZXhwYW5kQWxsQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RBbGxDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwdWJsaWMgb25DbGVhckFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY2xlYXJBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25Db2xsYXBzZUFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2VBbGxDbGljay5lbWl0KCk7XG4gIH1cblxuICBwdWJsaWMgb25FeHBhbmRBbGxDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZEFsbENsaWNrLmVtaXQoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblNlbGVjdEFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0QWxsQ2xpY2suZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXCIgcm9sZT1cInRvb2xiYXJcIj5cbiAgPHNreS10b29sYmFyPlxuICAgIEBpZiAoc2hvd1NlbGVjdEJ1dHRvbnMpIHtcbiAgICAgIDxza3ktdG9vbGJhci1pdGVtPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tbGluayBza3ktYW5ndWxhci10cmVlLXNlbGVjdC1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25TZWxlY3RBbGxDbGljaygpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdza3l1eF9hbmd1bGFyX3RyZWVfc2VsZWN0X2FsbCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L3NreS10b29sYmFyLWl0ZW0+XG4gICAgICA8c2t5LXRvb2xiYXItaXRlbT5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWFuZ3VsYXItdHJlZS1jbGVhci1hbGwtYnRuXCJcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAoY2xpY2spPVwib25DbGVhckFsbENsaWNrKClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ3NreXV4X2FuZ3VsYXJfdHJlZV9jbGVhcl9hbGwnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9za3ktdG9vbGJhci1pdGVtPlxuICAgIH1cbiAgICA8c2t5LXRvb2xiYXItdmlldy1hY3Rpb25zPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQgc2t5LWFuZ3VsYXItdHJlZS1leHBhbmQtYWxsLWJ0blwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbdGl0bGVdPVwiJ3NreXV4X2FuZ3VsYXJfdHJlZV9leHBhbmRfYWxsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgIChjbGljayk9XCJvbkV4cGFuZEFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLWRvdWJsZS1kb3duXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cInNreS1idG4gc2t5LWJ0bi1kZWZhdWx0IHNreS1tYXJnaW4taW5saW5lLWRlZmF1bHQgc2t5LWFuZ3VsYXItdHJlZS1jb2xsYXBzZS1hbGwtYnRuXCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIFt0aXRsZV09XCInc2t5dXhfYW5ndWxhcl90cmVlX2NvbGxhcHNlX2FsbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgICAoY2xpY2spPVwib25Db2xsYXBzZUFsbENsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbk5hbWU9XCJjaGV2cm9uLWRvdWJsZS11cFwiIC8+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3NreS10b29sYmFyLXZpZXctYWN0aW9ucz5cbiAgPC9za3ktdG9vbGJhcj5cbjwvZGl2PlxuIl19","import { ChangeDetectionStrategy, Component, ContentChild, Input, } from '@angular/core';\nimport { KEYS, TREE_ACTIONS, TreeComponent, } from '@blackbaud/angular-tree-component';\nimport { SkyAngularTreeToolbarComponent } from './angular-tree-toolbar.component';\nimport * as i0 from \"@angular/core\";\n/**\n * Wraps the Angular `tree-root` component as part of the `SkyAngularTreeModule` that provides\n * SKY UX components and styles to complement the `angular-tree-component` library and apply SKY UX\n * themes and functionality to hierarchical list views. For information about the `tree-root` component, see the\n * [Angular tree component documentation](https://angular2-tree.readme.io/docs).\n */\nexport class SkyAngularTreeWrapperComponent {\n constructor() {\n /**\n * Whether to render the tree view in read-only mode.\n * This mode disables selected and active states on the tree view nodes.\n * @default false\n */\n this.readOnly = false;\n /**\n * Whether to use leaf-only selection mode. For tree views with\n * [checkboxes](https://angular2-tree.readme.io/docs/tri-state-checkboxes),\n * this mode limits user selections to leaf nodes and prevents users from selecting parent nodes.\n * @default false\n */\n this.selectLeafNodesOnly = false;\n /**\n * Whether to use single-select mode. For tree views with\n * [checkboxes](https://angular2-tree.readme.io/docs/tri-state-checkboxes),\n * this mode limits user selections to one node at a time.\n * @default false\n */\n this.selectSingle = false;\n /**\n * Whether to display a toolbar with buttons to expand and collapse all nodes and buttons to select and clear all checkboxes.\n * The select and clear buttons only appear when you enable checkboxes.\n * To enable [checkboxes](https://angular2-tree.readme.io/docs/tri-state-checkboxes).\n * @default false\n */\n this.showToolbar = false;\n this.selectableNodeIds = {};\n }\n ngAfterViewInit() {\n if (this.selectSingle &&\n this.treeComponent?.treeModel.options.useTriState) {\n console.warn('Single select mode should not be enabled while the tree is in triState mode (cascading selection). ' +\n 'Please set \"useTriState\" to \"false\" if you want to remain in single select mode.');\n }\n this.#overrideActionMapping();\n }\n multiselectable() {\n return (!!this.treeComponent &&\n this.treeComponent.treeModel.options.useCheckbox &&\n !this.selectSingle);\n }\n onClearAllClick() {\n /* istanbul ignore else */\n if (!this.selectSingle && this.treeComponent) {\n const currentState = this.treeComponent.treeModel.getState();\n this.treeComponent.state = {\n ...currentState,\n selectedLeafNodeIds: {},\n };\n }\n }\n onCollapseAllClick() {\n this.treeComponent?.treeModel.collapseAll();\n }\n onExpandAllClick() {\n this.treeComponent?.treeModel.expandAll();\n }\n onSelectAllClick() {\n /* istanbul ignore else */\n if (!this.selectSingle && this.treeComponent) {\n // Get a list of all node ids that are selectable.\n this.selectableNodeIds = {};\n const getSelectableNodeIds = (node) => {\n const selectable = node.isSelectable() &&\n !(node.hasChildren && this.selectLeafNodesOnly);\n if (selectable && !node.data.virtual) {\n this.selectableNodeIds[node.id] = true;\n }\n if (!node.children) {\n return;\n }\n node.children.forEach((child) => getSelectableNodeIds(child));\n };\n getSelectableNodeIds(this.treeComponent.treeModel.virtualRoot);\n // Update tree state with new list of selected node ids.\n const currentState = this.treeComponent.treeModel.getState();\n this.treeComponent.state = {\n ...currentState,\n selectedLeafNodeIds: this.selectableNodeIds,\n };\n }\n }\n showSelectButtons() {\n return (!!this.treeComponent &&\n this.treeComponent.treeModel.options.useCheckbox &&\n !this.selectSingle);\n }\n #isSelectable(node) {\n return node.isLeaf || !node.hasChildren || !this.selectLeafNodesOnly;\n }\n #nodeDefaultAction(tree, node, event) {\n if (this.readOnly) {\n return;\n }\n if (node.options.useCheckbox && this.#isSelectable(node)) {\n this.#toggleSelected(node, event);\n }\n else {\n TREE_ACTIONS.TOGGLE_ACTIVE(tree, node, event);\n }\n return;\n }\n #onKeyDownAction(tree, node, event) {\n const targetNodeId = event.target.getAttribute('data-node-id');\n // Key press did not happen on the node.\n if (!node || targetNodeId !== node.id.toString()) {\n // angular-tree-component will preventDefault() on anything using a key action handler,\n // thus stopping \"enter\" and \"space\" keys to throw \"click\" events on interactive elements.\n // This logic ensures components looking for \"clicks\" on those keystrokes still work (dropdown component).\n // https://github.com/500tech/angular-tree-component/blob/master/lib/models/tree.model.ts#L341\n /* istanbul ignore else */\n if (event.defaultPrevented) {\n event.target.click();\n }\n return;\n }\n this.#nodeDefaultAction(tree, node, event);\n }\n #overrideActionMapping() {\n const defaultActionMapping = this.treeComponent?.treeModel.options.actionMapping;\n if (defaultActionMapping?.mouse) {\n // Override default click/enter/space action to check for unsupported options (leaf node, single-select).\n defaultActionMapping.mouse.click = (tree, node, event) => this.#nodeDefaultAction(tree, node, event);\n }\n if (defaultActionMapping?.keys) {\n defaultActionMapping.keys[KEYS.SPACE] = (tree, node, event) => this.#onKeyDownAction(tree, node, event);\n defaultActionMapping.keys[KEYS.ENTER] = (tree, node, event) => this.#onKeyDownAction(tree, node, event);\n // Disable left/right arrow keys to support navigating through interactive elements with keyboard.\n // See onArrowLeft() / onArrowRight() methods inside the angular-tree-node.component.ts.\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.RIGHT] = (tree, node, $event) => undefined;\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.LEFT] = (tree, node, $event) => undefined;\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.DOWN] = (tree, node, $event) => undefined;\n /* istanbul ignore next */\n defaultActionMapping.keys[KEYS.UP] = (tree, node, $event) => undefined;\n }\n }\n #toggleSelected(node, event) {\n // If single-selection is enabled, only select the node clicked.\n if (this.selectSingle && !node.isSelected) {\n const oldState = this.treeComponent?.treeModel.getState();\n const newState = {\n expandedNodeIds: oldState?.expandedNodeIds,\n selectedLeafNodeIds: Object.assign({}, node.id, { [node.id]: true }),\n activeNodeIds: oldState?.activeNodeIds,\n hiddenNodeIds: oldState?.hiddenNodeIds,\n focusedNodeId: node.id,\n };\n // Reconstruct the state in one go, so we don't create multiple events for the consumer.\n this.treeComponent?.treeModel.setState(newState);\n }\n else {\n TREE_ACTIONS.TOGGLE_SELECTED(node.treeModel, node, event);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyAngularTreeWrapperComponent, isStandalone: true, selector: \"sky-angular-tree-wrapper\", inputs: { readOnly: \"readOnly\", selectLeafNodesOnly: \"selectLeafNodesOnly\", selectSingle: \"selectSingle\", showToolbar: \"showToolbar\" }, queries: [{ propertyName: \"treeComponent\", first: true, predicate: TreeComponent, descendants: true }], ngImport: i0, template: \"<div\\n class=\\\"sky-angular-tree-wrapper\\\"\\n [class.sky-angular-tree-read-only]=\\\"readOnly\\\"\\n>\\n @if (showToolbar) {\\n <sky-angular-tree-toolbar\\n [showSelectButtons]=\\\"showSelectButtons()\\\"\\n (clearAllClick)=\\\"onClearAllClick()\\\"\\n (collapseAllClick)=\\\"onCollapseAllClick()\\\"\\n (expandAllClick)=\\\"onExpandAllClick()\\\"\\n (selectAllClick)=\\\"onSelectAllClick()\\\"\\n />\\n }\\n <div\\n class=\\\"sky-angular-tree-root\\\"\\n role=\\\"tree\\\"\\n [attr.aria-multiselectable]=\\\"multiselectable()\\\"\\n >\\n <ng-content select=\\\"tree-root\\\" />\\n </div>\\n</div>\\n\", styles: [\".sky-angular-tree-wrapper:not(.sky-theme-modern *){--sky-override-angular-tree-context-menu-margin: 0 10px 0 0;--sky-override-angular-tree-node-active-background-color: #eeeeef;--sky-override-angular-tree-node-border-left-active: 4px solid #00b4f1;--sky-override-angular-tree-node-border-left-selected: 4px solid transparent;--sky-override-angular-tree-node-drop-slot-dragging-background-color: #eeeeef;--sky-override-angular-tree-node-drop-slot-dragging-border: 1px solid #e2e3e4;--sky-override-angular-tree-node-padding-left-base: 0;--sky-override-angular-tree-node-selected-background-color: #f1eef6;--sky-override-angular-tree-node-wrapper-background-color: transparent;--sky-override-angular-tree-node-wrapper-background-color-active: transparent;--sky-override-angular-tree-node-wrapper-background-color-focus: transparent;--sky-override-angular-tree-node-wrapper-background-color-hover: transparent;--sky-override-angular-tree-node-wrapper-border-left: 4px solid transparent;--sky-override-angular-tree-node-wrapper-border-radius: 0;--sky-override-angular-tree-node-wrapper-padding: 4px 5px;--sky-override-tree-children-padding: 30px;--sky-override-angular-tree-node-wrapper-standard-box-shadow-active: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-base: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover: none;--sky-override-angular-tree-node-wrapper-standard-outline-active: auto;--sky-override-angular-tree-node-wrapper-standard-outline-focus: auto;--sky-override-angular-tree-switch-control-margin: 0 8px 0 0;--sky-override-angular-tree-toggle-children-height: 20px;--sky-override-angular-tree-toggle-children-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-padding: 0;--sky-override-angular-tree-toggle-children-placeholder-height: 19px;--sky-override-angular-tree-toggle-children-placeholder-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-placeholder-width: 20px;--sky-override-angular-tree-toggle-children-width: 20px;--sky-override-angular-tree-toggle-color: var(--sky-text-color-deemphasized);--sky-override-angular-tree-wrapper-background-color: transparent}.sky-angular-tree-wrapper{background-color:var(--sky-override-angular-tree-wrapper-background-color, var(--sky-color-background-container-base))}.sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;background-color:var(--sky-override-angular-tree-node-wrapper-background-color, var(--sky-color-background-nav-base));padding:var(--sky-override-angular-tree-node-wrapper-padding, calc(var(--sky-comp-tree-node-space-inset-top) - 1px) var(--sky-comp-tree-node-space-inset-right));padding-left:max(var(--sky-angular-tree-node-padding),var(--sky-override-angular-tree-node-padding-left-base, var(--sky-comp-tree-node-space-inset-left)));border-left:var(--sky-override-angular-tree-node-wrapper-border-left, var(--sky-border-width-selected-m) solid transparent);border-radius:var(--sky-override-angular-tree-node-wrapper-border-radius, var(--sky-border-radius-xs) var(--sky-border-radius-0) var(--sky-border-radius-0) var(--sky-border-radius-xs));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-base, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-nav-base))}.sky-angular-tree-wrapper ::ng-deep .node-wrapper:focus-visible{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-focus, var(--sky-color-background-nav-focus));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-nav-focus));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-focus, none)}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:var(--sky-override-tree-children-padding, var(--sky-comp-tree-child-space-inset-left));overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:var(--sky-override-angular-tree-toggle-color, var(--sky-color-text-deemphasized));margin:var(--sky-override-angular-tree-toggle-children-margin, 0 var(--sky-space-gap-action_group-s) 0 0);height:var(--sky-override-angular-tree-toggle-children-height, \\\"\\\");width:var(--sky-override-angular-tree-toggle-children-width, \\\"\\\");padding:var(--sky-override-angular-tree-toggle-children-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));line-height:1}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:var(--sky-override-angular-tree-toggle-children-placeholder-height, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom)));width:var(--sky-override-angular-tree-toggle-children-placeholder-width, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-left) + var(--sky-comp-button-borderless-space-inset-right)));margin:var(--sky-override-angular-tree-toggle-children-placeholder-margin, 0 var(--sky-space-inline-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:var(--sky-override-angular-tree-node-selected-background-color, var(--sky-color-background-selected-soft))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected:not(.sky-angular-tree-node-has-checkbox){border-left:var(--sky-override-angular-tree-node-border-left-selected, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background:var(--sky-override-angular-tree-node-active-background-color, var(--sky-color-background-selected-soft));border-left:var(--sky-override-angular-tree-node-border-left-active, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:var(--sky-override-angular-tree-switch-control-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:var(--sky-override-angular-tree-context-menu-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:var(--sky-override-angular-tree-node-drop-slot-dragging-background-color, var(--sky-color-background-action-soft));border:var(--sky-override-angular-tree-node-drop-slot-dragging-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base))}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:hover{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-hover, var(--sky-color-background-nav-hover));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-nav-hover))}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:active{background:var(--sky-override-angular-tree-node-wrapper-background-color-active, var(--sky-color-background-nav-active));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-nav-active));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-active, none)}\\n\"], dependencies: [{ kind: \"component\", type: SkyAngularTreeToolbarComponent, selector: \"sky-angular-tree-toolbar\", inputs: [\"showSelectButtons\"], outputs: [\"clearAllClick\", \"collapseAllClick\", \"expandAllClick\", \"selectAllClick\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeWrapperComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyAngularTreeToolbarComponent], template: \"<div\\n class=\\\"sky-angular-tree-wrapper\\\"\\n [class.sky-angular-tree-read-only]=\\\"readOnly\\\"\\n>\\n @if (showToolbar) {\\n <sky-angular-tree-toolbar\\n [showSelectButtons]=\\\"showSelectButtons()\\\"\\n (clearAllClick)=\\\"onClearAllClick()\\\"\\n (collapseAllClick)=\\\"onCollapseAllClick()\\\"\\n (expandAllClick)=\\\"onExpandAllClick()\\\"\\n (selectAllClick)=\\\"onSelectAllClick()\\\"\\n />\\n }\\n <div\\n class=\\\"sky-angular-tree-root\\\"\\n role=\\\"tree\\\"\\n [attr.aria-multiselectable]=\\\"multiselectable()\\\"\\n >\\n <ng-content select=\\\"tree-root\\\" />\\n </div>\\n</div>\\n\", styles: [\".sky-angular-tree-wrapper:not(.sky-theme-modern *){--sky-override-angular-tree-context-menu-margin: 0 10px 0 0;--sky-override-angular-tree-node-active-background-color: #eeeeef;--sky-override-angular-tree-node-border-left-active: 4px solid #00b4f1;--sky-override-angular-tree-node-border-left-selected: 4px solid transparent;--sky-override-angular-tree-node-drop-slot-dragging-background-color: #eeeeef;--sky-override-angular-tree-node-drop-slot-dragging-border: 1px solid #e2e3e4;--sky-override-angular-tree-node-padding-left-base: 0;--sky-override-angular-tree-node-selected-background-color: #f1eef6;--sky-override-angular-tree-node-wrapper-background-color: transparent;--sky-override-angular-tree-node-wrapper-background-color-active: transparent;--sky-override-angular-tree-node-wrapper-background-color-focus: transparent;--sky-override-angular-tree-node-wrapper-background-color-hover: transparent;--sky-override-angular-tree-node-wrapper-border-left: 4px solid transparent;--sky-override-angular-tree-node-wrapper-border-radius: 0;--sky-override-angular-tree-node-wrapper-padding: 4px 5px;--sky-override-tree-children-padding: 30px;--sky-override-angular-tree-node-wrapper-standard-box-shadow-active: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-base: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus: none;--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover: none;--sky-override-angular-tree-node-wrapper-standard-outline-active: auto;--sky-override-angular-tree-node-wrapper-standard-outline-focus: auto;--sky-override-angular-tree-switch-control-margin: 0 8px 0 0;--sky-override-angular-tree-toggle-children-height: 20px;--sky-override-angular-tree-toggle-children-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-padding: 0;--sky-override-angular-tree-toggle-children-placeholder-height: 19px;--sky-override-angular-tree-toggle-children-placeholder-margin: 0 10px 0 0;--sky-override-angular-tree-toggle-children-placeholder-width: 20px;--sky-override-angular-tree-toggle-children-width: 20px;--sky-override-angular-tree-toggle-color: var(--sky-text-color-deemphasized);--sky-override-angular-tree-wrapper-background-color: transparent}.sky-angular-tree-wrapper{background-color:var(--sky-override-angular-tree-wrapper-background-color, var(--sky-color-background-container-base))}.sky-angular-tree-wrapper ::ng-deep .angular-tree-component{cursor:initial;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.sky-angular-tree-wrapper ::ng-deep .node-wrapper{display:flex;align-items:center;background-color:var(--sky-override-angular-tree-node-wrapper-background-color, var(--sky-color-background-nav-base));padding:var(--sky-override-angular-tree-node-wrapper-padding, calc(var(--sky-comp-tree-node-space-inset-top) - 1px) var(--sky-comp-tree-node-space-inset-right));padding-left:max(var(--sky-angular-tree-node-padding),var(--sky-override-angular-tree-node-padding-left-base, var(--sky-comp-tree-node-space-inset-left)));border-left:var(--sky-override-angular-tree-node-wrapper-border-left, var(--sky-border-width-selected-m) solid transparent);border-radius:var(--sky-override-angular-tree-node-wrapper-border-radius, var(--sky-border-radius-xs) var(--sky-border-radius-0) var(--sky-border-radius-0) var(--sky-border-radius-xs));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-base, inset 0 0 0 var(--sky-border-width-action-base) var(--sky-color-border-nav-base))}.sky-angular-tree-wrapper ::ng-deep .node-wrapper:focus-visible{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-focus, var(--sky-color-background-nav-focus));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-focus, inset 0 0 0 var(--sky-border-width-action-focus) var(--sky-color-border-nav-focus));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-focus, none)}.sky-angular-tree-wrapper ::ng-deep .node-content-wrapper{display:flex;align-items:center;padding:0;cursor:pointer}.sky-angular-tree-wrapper ::ng-deep .tree-children{padding-left:var(--sky-override-tree-children-padding, var(--sky-comp-tree-child-space-inset-left));overflow:hidden}.sky-angular-tree-wrapper ::ng-deep .sky-toggle-children{color:var(--sky-override-angular-tree-toggle-color, var(--sky-color-text-deemphasized));margin:var(--sky-override-angular-tree-toggle-children-margin, 0 var(--sky-space-gap-action_group-s) 0 0);height:var(--sky-override-angular-tree-toggle-children-height, \\\"\\\");width:var(--sky-override-angular-tree-toggle-children-width, \\\"\\\");padding:var(--sky-override-angular-tree-toggle-children-padding, var(--sky-comp-button-borderless-space-inset-top) var(--sky-comp-button-borderless-space-inset-right) var(--sky-comp-button-borderless-space-inset-bottom) var(--sky-comp-button-borderless-space-inset-left));line-height:1}.sky-angular-tree-wrapper ::ng-deep .toggle-children-placeholder{display:inline-block;height:var(--sky-override-angular-tree-toggle-children-placeholder-height, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-top) + var(--sky-comp-button-borderless-space-inset-bottom)));width:var(--sky-override-angular-tree-toggle-children-placeholder-width, calc(var(--sky-size-icon-s) + var(--sky-comp-button-borderless-space-inset-left) + var(--sky-comp-button-borderless-space-inset-right)));margin:var(--sky-override-angular-tree-toggle-children-placeholder-margin, 0 var(--sky-space-inline-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected{background:var(--sky-override-angular-tree-node-selected-background-color, var(--sky-color-background-selected-soft))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-selected:not(.sky-angular-tree-node-has-checkbox){border-left:var(--sky-override-angular-tree-node-border-left-selected, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-node-active{background:var(--sky-override-angular-tree-node-active-background-color, var(--sky-color-background-selected-soft));border-left:var(--sky-override-angular-tree-node-border-left-active, var(--sky-border-width-selected-m) solid var(--sky-color-border-selected))}.sky-angular-tree-wrapper ::ng-deep sky-checkbox{display:inline-flex}.sky-angular-tree-wrapper ::ng-deep .sky-switch-control{margin:var(--sky-override-angular-tree-switch-control-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .sky-angular-tree-context-menu{margin:var(--sky-override-angular-tree-context-menu-margin, 0 var(--sky-space-gap-action_group-s) 0 0)}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot{display:block;height:2px}.sky-angular-tree-wrapper ::ng-deep .node-drop-slot.is-dragging-over{height:20px;background:var(--sky-override-angular-tree-node-drop-slot-dragging-background-color, var(--sky-color-background-action-soft));border:var(--sky-override-angular-tree-node-drop-slot-dragging-border, var(--sky-border-width-container-base) solid var(--sky-color-border-container-base))}.sky-angular-tree-wrapper.sky-angular-tree-read-only ::ng-deep .node-content-wrapper{cursor:initial}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:hover{background-color:var(--sky-override-angular-tree-node-wrapper-background-color-hover, var(--sky-color-background-nav-hover));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-hover, inset 0 0 0 var(--sky-border-width-action-hover) var(--sky-color-border-nav-hover))}.sky-angular-tree-wrapper:not(.sky-angular-tree-read-only) ::ng-deep .node-wrapper:active{background:var(--sky-override-angular-tree-node-wrapper-background-color-active, var(--sky-color-background-nav-active));box-shadow:var(--sky-override-angular-tree-node-wrapper-standard-box-shadow-active, inset 0 0 0 var(--sky-border-width-action-active) var(--sky-color-border-nav-active));outline:var(--sky-override-angular-tree-node-wrapper-standard-outline-active, none)}\\n\"] }]\n }], propDecorators: { readOnly: [{\n type: Input\n }], selectLeafNodesOnly: [{\n type: Input\n }], selectSingle: [{\n type: Input\n }], showToolbar: [{\n type: Input\n }], treeComponent: [{\n type: ContentChild,\n args: [TreeComponent]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEdBQ04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLElBQUksRUFDSixZQUFZLEVBQ1osYUFBYSxHQUdkLE1BQU0sbUNBQW1DLENBQUM7QUFFM0MsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBRWxGOzs7OztHQUtHO0FBUUgsTUFBTSxPQUFPLDhCQUE4QjtJQVAzQztRQVFFOzs7O1dBSUc7UUFFSSxhQUFRLEdBQXdCLEtBQUssQ0FBQztRQUU3Qzs7Ozs7V0FLRztRQUVJLHdCQUFtQixHQUF3QixLQUFLLENBQUM7UUFFeEQ7Ozs7O1dBS0c7UUFFSSxpQkFBWSxHQUF3QixLQUFLLENBQUM7UUFFakQ7Ozs7O1dBS0c7UUFFSSxnQkFBVyxHQUF3QixLQUFLLENBQUM7UUFFekMsc0JBQWlCLEdBQTRCLEVBQUUsQ0FBQztLQXlLeEQ7SUFwS1EsZUFBZTtRQUNwQixJQUNFLElBQUksQ0FBQyxZQUFZO1lBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ2pELENBQUM7WUFDRCxPQUFP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TSxXQUN0QyxDQUFDLDhCQUE4QixDQUFDOzhCQVNsQyxRQUFRO3NCQURkLEtBQUs7Z0JBVUMsbUJBQW1CO3NCQUR6QixLQUFLO2dCQVVDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBVUMsV0FBVztzQkFEakIsS0FBSztnQkFNQyxhQUFhO3NCQURuQixZQUFZO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIElucHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEtFWVMsXG4gIFRSRUVfQUNUSU9OUyxcbiAgVHJlZUNvbXBvbmVudCxcbiAgVHJlZU1vZGVsLFxuICBUcmVlTm9kZSxcbn0gZnJvbSAnQGJsYWNrYmF1ZC9hbmd1bGFyLXRyZWUtY29tcG9uZW50JztcblxuaW1wb3J0IHsgU2t5QW5ndWxhclRyZWVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFdyYXBzIHRoZSBBbmd1bGFyIGB0cmVlLXJvb3RgIGNvbXBvbmVudCBhcyBwYXJ0IG9mIHRoZSBgU2t5QW5ndWxhclRyZWVNb2R1bGVgIHRoYXQgcHJvdmlkZXNcbiAqIFNLWSBVWCBjb21wb25lbnRzIGFuZCBzdHlsZXMgdG8gY29tcGxlbWVudCB0aGUgYGFuZ3VsYXItdHJlZS1jb21wb25lbnRgIGxpYnJhcnkgYW5kIGFwcGx5IFNLWSBVWFxuICogdGhlbWVzIGFuZCBmdW5jdGlvbmFsaXR5IHRvIGhpZXJhcmNoaWNhbCBsaXN0IHZpZXdzLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGB0cmVlLXJvb3RgIGNvbXBvbmVudCwgc2VlIHRoZVxuICogW0FuZ3VsYXIgdHJlZSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzKS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWFuZ3VsYXItdHJlZS13cmFwcGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FuZ3VsYXItdHJlZS13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtTa3lBbmd1bGFyVHJlZVRvb2xiYXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZVdyYXBwZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcmVuZGVyIHRoZSB0cmVlIHZpZXcgaW4gcmVhZC1vbmx5IG1vZGUuXG4gICAqIFRoaXMgbW9kZSBkaXNhYmxlcyBzZWxlY3RlZCBhbmQgYWN0aXZlIHN0YXRlcyBvbiB0aGUgdHJlZSB2aWV3IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gdXNlIGxlYWYtb25seSBzZWxlY3Rpb24gbW9kZS4gRm9yIHRyZWUgdmlld3Mgd2l0aFxuICAgKiBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKSxcbiAgICogdGhpcyBtb2RlIGxpbWl0cyB1c2VyIHNlbGVjdGlvbnMgdG8gbGVhZiBub2RlcyBhbmQgcHJldmVudHMgdXNlcnMgZnJvbSBzZWxlY3RpbmcgcGFyZW50IG5vZGVzLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdExlYWZOb2Rlc09ubHk6IGJvb2xlYW4gfCB1bmRlZmluZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1c2Ugc2luZ2xlLXNlbGVjdCBtb2RlLiBGb3IgdHJlZSB2aWV3cyB3aXRoXG4gICAqIFtjaGVja2JveGVzXShodHRwczovL2FuZ3VsYXIyLXRyZWUucmVhZG1lLmlvL2RvY3MvdHJpLXN0YXRlLWNoZWNrYm94ZXMpLFxuICAgKiB0aGlzIG1vZGUgbGltaXRzIHVzZXIgc2VsZWN0aW9ucyB0byBvbmUgbm9kZSBhdCBhIHRpbWUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2VsZWN0U2luZ2xlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gZGlzcGxheSBhIHRvb2xiYXIgd2l0aCBidXR0b25zIHRvIGV4cGFuZCBhbmQgY29sbGFwc2UgYWxsIG5vZGVzIGFuZCBidXR0b25zIHRvIHNlbGVjdCBhbmQgY2xlYXIgYWxsIGNoZWNrYm94ZXMuXG4gICAqIFRoZSBzZWxlY3QgYW5kIGNsZWFyIGJ1dHRvbnMgb25seSBhcHBlYXIgd2hlbiB5b3UgZW5hYmxlIGNoZWNrYm94ZXMuXG4gICAqIFRvIGVuYWJsZSBbY2hlY2tib3hlc10oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL3RyaS1zdGF0ZS1jaGVja2JveGVzKS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93VG9vbGJhcjogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuXG4gIHB1YmxpYyBzZWxlY3RhYmxlTm9kZUlkczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBAQ29udGVudENoaWxkKFRyZWVDb21wb25lbnQpXG4gIHB1YmxpYyB0cmVlQ29tcG9uZW50OiBUcmVlQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5zZWxlY3RTaW5nbGUgJiZcbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLm9wdGlvbnMudXNlVHJpU3RhdGVcbiAgICApIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgJ1NpbmdsZSBzZWxlY3QgbW9kZSBzaG91bGQgbm90IGJlIGVuYWJsZWQgd2hpbGUgdGhlIHRyZWUgaXMgaW4gdHJpU3RhdGUgbW9kZSAoY2FzY2FkaW5nIHNlbGVjdGlvbikuICcgK1xuICAgICAgICAgICdQbGVhc2Ugc2V0IFwidXNlVHJpU3RhdGVcIiB0byBcImZhbHNlXCIgaWYgeW91IHdhbnQgdG8gcmVtYWluIGluIHNpbmdsZSBzZWxlY3QgbW9kZS4nLFxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy4jb3ZlcnJpZGVBY3Rpb25NYXBwaW5nKCk7XG4gIH1cblxuICBwdWJsaWMgbXVsdGlzZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMudHJlZUNvbXBvbmVudCAmJlxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5vcHRpb25zLnVzZUNoZWNrYm94ICYmXG4gICAgICAhdGhpcy5zZWxlY3RTaW5nbGVcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG9uQ2xlYXJBbGxDbGljaygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICghdGhpcy5zZWxlY3RTaW5nbGUgJiYgdGhpcy50cmVlQ29tcG9uZW50KSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnRyZWVDb21wb25lbnQudHJlZU1vZGVsLmdldFN0YXRlKCk7XG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQuc3RhdGUgPSB7XG4gICAgICAgIC4uLmN1cnJlbnRTdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRMZWFmTm9kZUlkczoge30sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkNvbGxhcHNlQWxsQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy50cmVlQ29tcG9uZW50Py50cmVlTW9kZWwuY29sbGFwc2VBbGwoKTtcbiAgfVxuXG4gIHB1YmxpYyBvbkV4cGFuZEFsbENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLmV4cGFuZEFsbCgpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0QWxsQ2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAoIXRoaXMuc2VsZWN0U2luZ2xlICYmIHRoaXMudHJlZUNvbXBvbmVudCkge1xuICAgICAgLy8gR2V0IGEgbGlzdCBvZiBhbGwgbm9kZSBpZHMgdGhhdCBhcmUgc2VsZWN0YWJsZS5cbiAgICAgIHRoaXMuc2VsZWN0YWJsZU5vZGVJZHMgPSB7fTtcbiAgICAgIGNvbnN0IGdldFNlbGVjdGFibGVOb2RlSWRzID0gKG5vZGU6IFRyZWVOb2RlKTogdm9pZCA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGFibGUgPVxuICAgICAgICAgIG5vZGUuaXNTZWxlY3RhYmxlKCkgJiZcbiAgICAgICAgICAhKG5vZGUuaGFzQ2hpbGRyZW4gJiYgdGhpcy5zZWxlY3RMZWFmTm9kZXNPbmx5KTtcbiAgICAgICAgaWYgKHNlbGVjdGFibGUgJiYgIW5vZGUuZGF0YS52aXJ0dWFsKSB7XG4gICAgICAgICAgdGhpcy5zZWxlY3RhYmxlTm9kZUlkc1tub2RlLmlkXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG5vZGUuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IGdldFNlbGVjdGFibGVOb2RlSWRzKGNoaWxkKSk7XG4gICAgICB9O1xuICAgICAgZ2V0U2VsZWN0YWJsZU5vZGVJZHModGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC52aXJ0dWFsUm9vdCk7XG5cbiAgICAgIC8vIFVwZGF0ZSB0cmVlIHN0YXRlIHdpdGggbmV3IGxpc3Qgb2Ygc2VsZWN0ZWQgbm9kZSBpZHMuXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnRyZWVDb21wb25lbnQudHJlZU1vZGVsLmdldFN0YXRlKCk7XG4gICAgICB0aGlzLnRyZWVDb21wb25lbnQuc3RhdGUgPSB7XG4gICAgICAgIC4uLmN1cnJlbnRTdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRMZWFmTm9kZUlkczogdGhpcy5zZWxlY3RhYmxlTm9kZUlkcyxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNob3dTZWxlY3RCdXR0b25zKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhIXRoaXMudHJlZUNvbXBvbmVudCAmJlxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50LnRyZWVNb2RlbC5vcHRpb25zLnVzZUNoZWNrYm94ICYmXG4gICAgICAhdGhpcy5zZWxlY3RTaW5nbGVcbiAgICApO1xuICB9XG5cbiAgI2lzU2VsZWN0YWJsZShub2RlOiBUcmVlTm9kZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlLmlzTGVhZiB8fCAhbm9kZS5oYXNDaGlsZHJlbiB8fCAhdGhpcy5zZWxlY3RMZWFmTm9kZXNPbmx5O1xuICB9XG5cbiAgI25vZGVEZWZhdWx0QWN0aW9uKHRyZWU6IFRyZWVNb2RlbCwgbm9kZTogVHJlZU5vZGUsIGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5yZWFkT25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChub2RlLm9wdGlvbnMudXNlQ2hlY2tib3ggJiYgdGhpcy4jaXNTZWxlY3RhYmxlKG5vZGUpKSB7XG4gICAgICB0aGlzLiN0b2dnbGVTZWxlY3RlZChub2RlLCBldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIFRSRUVfQUNUSU9OUy5UT0dHTEVfQUNUSVZFKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAjb25LZXlEb3duQWN0aW9uKHRyZWU6IFRyZWVNb2RlbCwgbm9kZTogVHJlZU5vZGUsIGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBjb25zdCB0YXJnZXROb2RlSWQgPSBldmVudC50YXJnZXQuZ2V0QXR0cmlidXRlKCdkYXRhLW5vZGUtaWQnKTtcblxuICAgIC8vIEtleSBwcmVzcyBkaWQgbm90IGhhcHBlbiBvbiB0aGUgbm9kZS5cbiAgICBpZiAoIW5vZGUgfHwgdGFyZ2V0Tm9kZUlkICE9PSBub2RlLmlkLnRvU3RyaW5nKCkpIHtcbiAgICAgIC8vIGFuZ3VsYXItdHJlZS1jb21wb25lbnQgd2lsbCBwcmV2ZW50RGVmYXVsdCgpIG9uIGFueXRoaW5nIHVzaW5nIGEga2V5IGFjdGlvbiBoYW5kbGVyLFxuICAgICAgLy8gdGh1cyBzdG9wcGluZyBcImVudGVyXCIgYW5kIFwic3BhY2VcIiBrZXlzIHRvIHRocm93IFwiY2xpY2tcIiBldmVudHMgb24gaW50ZXJhY3RpdmUgZWxlbWVudHMuXG4gICAgICAvLyBUaGlzIGxvZ2ljIGVuc3VyZXMgY29tcG9uZW50cyBsb29raW5nIGZvciBcImNsaWNrc1wiIG9uIHRob3NlIGtleXN0cm9rZXMgc3RpbGwgd29yayAoZHJvcGRvd24gY29tcG9uZW50KS5cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS81MDB0ZWNoL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvYmxvYi9tYXN0ZXIvbGliL21vZGVscy90cmVlLm1vZGVsLnRzI0wzNDFcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICBpZiAoZXZlbnQuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICBldmVudC50YXJnZXQuY2xpY2soKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI25vZGVEZWZhdWx0QWN0aW9uKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgfVxuXG4gICNvdmVycmlkZUFjdGlvbk1hcHBpbmcoKTogdm9pZCB7XG4gICAgY29uc3QgZGVmYXVsdEFjdGlvbk1hcHBpbmcgPVxuICAgICAgdGhpcy50cmVlQ29tcG9uZW50Py50cmVlTW9kZWwub3B0aW9ucy5hY3Rpb25NYXBwaW5nO1xuXG4gICAgaWYgKGRlZmF1bHRBY3Rpb25NYXBwaW5nPy5tb3VzZSkge1xuICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBjbGljay9lbnRlci9zcGFjZSBhY3Rpb24gdG8gY2hlY2sgZm9yIHVuc3VwcG9ydGVkIG9wdGlvbnMgKGxlYWYgbm9kZSwgc2luZ2xlLXNlbGVjdCkuXG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5tb3VzZS5jbGljayA9ICh0cmVlLCBub2RlLCBldmVudCk6IHZvaWQgPT5cbiAgICAgICAgdGhpcy4jbm9kZURlZmF1bHRBY3Rpb24odHJlZSwgbm9kZSwgZXZlbnQpO1xuICAgIH1cblxuICAgIGlmIChkZWZhdWx0QWN0aW9uTWFwcGluZz8ua2V5cykge1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLlNQQUNFXSA9ICh0cmVlLCBub2RlLCBldmVudCk6IHZvaWQgPT5cbiAgICAgICAgdGhpcy4jb25LZXlEb3duQWN0aW9uKHRyZWUsIG5vZGUsIGV2ZW50KTtcbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5FTlRFUl0gPSAodHJlZSwgbm9kZSwgZXZlbnQpOiB2b2lkID0+XG4gICAgICAgIHRoaXMuI29uS2V5RG93bkFjdGlvbih0cmVlLCBub2RlLCBldmVudCk7XG5cbiAgICAgIC8vIERpc2FibGUgbGVmdC9yaWdodCBhcnJvdyBrZXlzIHRvIHN1cHBvcnQgbmF2aWdhdGluZyB0aHJvdWdoIGludGVyYWN0aXZlIGVsZW1lbnRzIHdpdGgga2V5Ym9hcmQuXG4gICAgICAvLyBTZWUgb25BcnJvd0xlZnQoKSAvIG9uQXJyb3dSaWdodCgpIG1ldGhvZHMgaW5zaWRlIHRoZSBhbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQudHMuXG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLlJJR0hUXSA9ICh0cmVlLCBub2RlLCAkZXZlbnQpOiB2b2lkID0+XG4gICAgICAgIHVuZGVmaW5lZDtcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBkZWZhdWx0QWN0aW9uTWFwcGluZy5rZXlzW0tFWVMuTEVGVF0gPSAodHJlZSwgbm9kZSwgJGV2ZW50KTogdm9pZCA9PlxuICAgICAgICB1bmRlZmluZWQ7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgZGVmYXVsdEFjdGlvbk1hcHBpbmcua2V5c1tLRVlTLkRPV05dID0gKHRyZWUsIG5vZGUsICRldmVudCk6IHZvaWQgPT5cbiAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIGRlZmF1bHRBY3Rpb25NYXBwaW5nLmtleXNbS0VZUy5VUF0gPSAodHJlZSwgbm9kZSwgJGV2ZW50KTogdm9pZCA9PlxuICAgICAgICB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgI3RvZ2dsZVNlbGVjdGVkKG5vZGU6IFRyZWVOb2RlLCBldmVudDogYW55KTogdm9pZCB7XG4gICAgLy8gSWYgc2luZ2xlLXNlbGVjdGlvbiBpcyBlbmFibGVkLCBvbmx5IHNlbGVjdCB0aGUgbm9kZSBjbGlja2VkLlxuICAgIGlmICh0aGlzLnNlbGVjdFNpbmdsZSAmJiAhbm9kZS5pc1NlbGVjdGVkKSB7XG4gICAgICBjb25zdCBvbGRTdGF0ZSA9IHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLmdldFN0YXRlKCk7XG4gICAgICBjb25zdCBuZXdTdGF0ZSA9IHtcbiAgICAgICAgZXhwYW5kZWROb2RlSWRzOiBvbGRTdGF0ZT8uZXhwYW5kZWROb2RlSWRzLFxuICAgICAgICBzZWxlY3RlZExlYWZOb2RlSWRzOiBPYmplY3QuYXNzaWduKHt9LCBub2RlLmlkLCB7IFtub2RlLmlkXTogdHJ1ZSB9KSxcbiAgICAgICAgYWN0aXZlTm9kZUlkczogb2xkU3RhdGU/LmFjdGl2ZU5vZGVJZHMsXG4gICAgICAgIGhpZGRlbk5vZGVJZHM6IG9sZFN0YXRlPy5oaWRkZW5Ob2RlSWRzLFxuICAgICAgICBmb2N1c2VkTm9kZUlkOiBub2RlLmlkLFxuICAgICAgfTtcbiAgICAgIC8vIFJlY29uc3RydWN0IHRoZSBzdGF0ZSBpbiBvbmUgZ28sIHNvIHdlIGRvbid0IGNyZWF0ZSBtdWx0aXBsZSBldmVudHMgZm9yIHRoZSBjb25zdW1lci5cbiAgICAgIHRoaXMudHJlZUNvbXBvbmVudD8udHJlZU1vZGVsLnNldFN0YXRlKG5ld1N0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgVFJFRV9BQ1RJT05TLlRPR0dMRV9TRUxFQ1RFRChub2RlLnRyZWVNb2RlbCwgbm9kZSwgZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cInNreS1hbmd1bGFyLXRyZWUtd3JhcHBlclwiXG4gIFtjbGFzcy5za3ktYW5ndWxhci10cmVlLXJlYWQtb25seV09XCJyZWFkT25seVwiXG4+XG4gIEBpZiAoc2hvd1Rvb2xiYXIpIHtcbiAgICA8c2t5LWFuZ3VsYXItdHJlZS10b29sYmFyXG4gICAgICBbc2hvd1NlbGVjdEJ1dHRvbnNdPVwic2hvd1NlbGVjdEJ1dHRvbnMoKVwiXG4gICAgICAoY2xlYXJBbGxDbGljayk9XCJvbkNsZWFyQWxsQ2xpY2soKVwiXG4gICAgICAoY29sbGFwc2VBbGxDbGljayk9XCJvbkNvbGxhcHNlQWxsQ2xpY2soKVwiXG4gICAgICAoZXhwYW5kQWxsQ2xpY2spPVwib25FeHBhbmRBbGxDbGljaygpXCJcbiAgICAgIChzZWxlY3RBbGxDbGljayk9XCJvblNlbGVjdEFsbENsaWNrKClcIlxuICAgIC8+XG4gIH1cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWFuZ3VsYXItdHJlZS1yb290XCJcbiAgICByb2xlPVwidHJlZVwiXG4gICAgW2F0dHIuYXJpYS1tdWx0aXNlbGVjdGFibGVdPVwibXVsdGlzZWxlY3RhYmxlKClcIlxuICA+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwidHJlZS1yb290XCIgLz5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectorRef, Component, ElementRef, Input, ViewChild, inject, } from '@angular/core';\nimport { TreeModule, } from '@blackbaud/angular-tree-component';\nimport { SkyContentInfoProvider } from '@skyux/core';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyHelpInlineModule } from '@skyux/help-inline';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyAngularTreeAdapterService } from './angular-tree-adapter.service';\nimport { SkyAngularTreeContextMenuComponent } from './angular-tree-context-menu.component';\nimport { SkyAngularTreeWrapperComponent } from './angular-tree-wrapper.component';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@blackbaud/angular-tree-component\";\nimport * as i2 from \"@skyux/forms\";\nimport * as i3 from \"@skyux/help-inline\";\nimport * as i4 from \"@skyux/icon\";\n/**\n * Replaces the default tree node template with a SKY UX node as part of the `SkyAngularTreeModule` that\n * provides SKY UX components and styles to complement the `angular-tree-component` library and apply SKY UX\n * themes and functionality to hierarchical list views. You must wrap this component in an `ng-template`\n * tag with the template reference variable `#treeNodeFullTemplate`. For information about tree node templates,\n * see the [Angular tree component documentation](https://angular2-tree.readme.io/docs/templates).\n * To display context menus with actions for individual items in hierarchical lists, place\n * [dropdowns](https://developer.blackbaud.com/skyux-popovers/docs/dropdown?docs-active-tab=design) inside the\n * Angular tree node component, which automatically handles styling and positioning for context menus.\n */\nexport class SkyAngularTreeNodeComponent {\n set childFocusIndex(value) {\n if (value !== this.#_childFocusIndex) {\n this.#_childFocusIndex = value;\n if (this.#focusableChildren.length > 0 && value !== undefined) {\n this.#focusableChildren[value].focus();\n }\n else {\n this.nodeContentWrapperRef?.nativeElement.focus();\n }\n }\n }\n get childFocusIndex() {\n return this.#_childFocusIndex;\n }\n set focused(value) {\n this.tabIndex = value ? 0 : -1;\n if (value) {\n this.nodeContentWrapperRef?.nativeElement.focus();\n }\n }\n set isPartiallySelected(value) {\n if (value !== this.#_isPartiallySelected) {\n this.#_isPartiallySelected = value;\n this.#changeDetectorRef.markForCheck();\n }\n }\n get isPartiallySelected() {\n return this.#_isPartiallySelected;\n }\n set isSelected(value) {\n if (value !== this.#_isSelected) {\n this.#_isSelected = value;\n this.#changeDetectorRef.markForCheck();\n }\n }\n get isSelected() {\n return this.#_isSelected;\n }\n set tabIndex(value) {\n this.#_tabIndex = value;\n }\n get tabIndex() {\n return this.#_tabIndex;\n }\n set nodeName(value) {\n this.#_nodeName = value;\n this.#contentInfoProvider.patchInfo({\n descriptor: { type: 'text', value },\n });\n }\n get nodeName() {\n return this.#_nodeName;\n }\n #focusableChildren = [];\n #mouseDown = false;\n #_childFocusIndex;\n #_isPartiallySelected = false;\n #_isSelected = false;\n #_tabIndex = -1;\n #_nodeName = '';\n #adapterService = inject(SkyAngularTreeAdapterService);\n #changeDetectorRef = inject(ChangeDetectorRef);\n #contentInfoProvider = inject(SkyContentInfoProvider);\n #skyAngularTreeWrapper = inject(SkyAngularTreeWrapperComponent, {\n optional: true,\n });\n ngOnInit() {\n if (!this.#skyAngularTreeWrapper) {\n console.error(`<sky-angular-tree-node-wrapper> must be wrapped inside a <sky-angular-tree-wrapper> component.`);\n }\n if (this.node) {\n this.nodeName = this.node.data.name;\n // Because we're binding the checkbox to node's children properties, we need to manually control change detection.\n // Here, we listen to the tree's state and force change detection in the setters if the value has changed.\n this.node.treeModel.subscribeToState((state) => {\n if (this.node) {\n this.isSelected = this.node.isSelected;\n this.isPartiallySelected = this.node.isPartiallySelected;\n if (state.focusedNodeId) {\n this.focused = state.focusedNodeId === this.node.id;\n }\n }\n });\n this.node.treeModel.subscribe('updateData', () => {\n if (this.node) {\n this.nodeName = this.node.data.name;\n }\n });\n // Make the first root node tabbable.\n if (this.node.isRoot && this.node.index === 0) {\n this.tabIndex = 0;\n }\n }\n }\n ngAfterViewInit() {\n // Wait 1s for the node to render, then reset all child tabIndexes to -1.\n // Units smaller than 1s may consistently fail if there are many nodes, or multiple trees are on the same screen.\n setTimeout(() => {\n if (this.nodeContentWrapperRef) {\n this.#focusableChildren = this.#adapterService.getFocusableChildren(this.nodeContentWrapperRef.nativeElement);\n this.#adapterService.setTabIndexOfFocusableEls(this.nodeContentWrapperRef.nativeElement, -1);\n }\n }, 1000);\n }\n /**\n * If single-select, set aria-selected=true for the selected node and undefined for all the others.\n * For multiple-select, set aria-selected to either true or false.\n * If node cannot be selected, aria-selected should be undefined (e.g. parent nodes in leaf-select-only mode).\n * @internal\n */\n ariaSelected() {\n if (!this.#skyAngularTreeWrapper) {\n return;\n }\n if (this.#skyAngularTreeWrapper.selectSingle) {\n return this.isSelected ? true : undefined;\n }\n if (!this.#isSelectable()) {\n return;\n }\n return !!this.isSelected;\n }\n showCheckbox() {\n // Check for checkbox mode enabled, but also respect leaf-node and single-select settings.\n return (!!this.node &&\n this.node.options.useCheckbox &&\n this.#isSelectable() &&\n (!this.#skyAngularTreeWrapper ||\n !this.#skyAngularTreeWrapper.selectSingle));\n }\n showSelectedClass() {\n return this.#isSelectable() && this.isSelected && !this.isPartiallySelected;\n }\n showActiveClass() {\n return (!!this.node &&\n this.node.isActive &&\n !this.node.treeModel.options.useCheckbox);\n }\n showTogglePlaceholder() {\n return (!this.node?.hasChildren &&\n !this.#skyAngularTreeWrapper?.selectLeafNodesOnly);\n }\n onFocus() {\n // <tree-node-content> has its own click handler, so we need to check if this focus event\n // is coming from the mouse click or the keyboard to prevent the logic from running twice.\n if (!this.#mouseDown) {\n this.node?.treeModel.setFocus(true);\n this.node?.focus();\n this.childFocusIndex = undefined;\n }\n }\n onMouseDown() {\n this.#mouseDown = true;\n }\n onMouseUp() {\n this.#mouseDown = false;\n }\n onKeyDown(event) {\n /* istanbul ignore else */\n if (document.activeElement === event.target) {\n const key = event.key.toLowerCase();\n switch (key) {\n case 'up':\n case 'arrowup':\n // Focus on previous node.\n this.node?.treeModel.focusPreviousNode();\n break;\n case 'down':\n case 'arrowdown':\n // Focus on next node.\n this.node?.treeModel.focusNextNode();\n break;\n case 'left':\n case 'arrowleft':\n // Cycle backwards through interactive child elements\n // If user reaches the beginning, activate drill up.\n /* istanbul ignore else */\n if (this.childFocusIndex !== undefined) {\n if (this.childFocusIndex === 0) {\n this.childFocusIndex = undefined;\n }\n else {\n this.childFocusIndex--;\n }\n }\n else {\n this.node?.setIsExpanded(false);\n }\n event.stopPropagation();\n event.preventDefault();\n break;\n case 'right':\n case 'arrowright':\n // Cycle forward through interactive child elements.\n // If user reaches the end, activate drill down.\n /* istanbul ignore else */\n if (this.#focusableChildren.length <= 0 ||\n this.childFocusIndex === this.#focusableChildren.length - 1) {\n this.node?.setIsExpanded(true);\n }\n else {\n if (this.childFocusIndex === undefined) {\n this.childFocusIndex = 0;\n }\n else {\n this.childFocusIndex++;\n }\n }\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n }\n #isSelectable() {\n if (this.#skyAngularTreeWrapper) {\n return (!!this.node &&\n (this.node.isLeaf ||\n !this.node.hasChildren ||\n !this.#skyAngularTreeWrapper.selectLeafNodesOnly));\n }\n else {\n return false;\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeNodeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.0\", type: SkyAngularTreeNodeComponent, isStandalone: true, selector: \"sky-angular-tree-node\", inputs: { index: \"index\", node: \"node\", templates: \"templates\", helpKey: \"helpKey\", helpPopoverContent: \"helpPopoverContent\", helpPopoverTitle: \"helpPopoverTitle\" }, providers: [SkyAngularTreeAdapterService, SkyContentInfoProvider], viewQueries: [{ propertyName: \"nodeContentWrapperRef\", first: true, predicate: [\"nodeContentWrapper\"], descendants: true, read: ElementRef }], ngImport: i0, template: \"@if (node && index !== undefined) {\\n <div\\n [class]=\\\"node.getClass()\\\"\\n [class.tree-node]=\\\"true\\\"\\n [class.tree-node-active]=\\\"node.isActive\\\"\\n [class.tree-node-collapsed]=\\\"node.isCollapsed && node.hasChildren\\\"\\n [class.tree-node-expanded]=\\\"node.isExpanded && node.hasChildren\\\"\\n [class.tree-node-focused]=\\\"node.isFocused\\\"\\n [class.tree-node-leaf]=\\\"node.isLeaf\\\"\\n >\\n @if (index === 0) {\\n <tree-node-drop-slot [dropIndex]=\\\"node.index\\\" [node]=\\\"node.parent\\\" />\\n }\\n\\n <!-- #region <tree-node-wrapper> custom template --->\\n <div\\n #nodeContentWrapper\\n class=\\\"node-wrapper\\\"\\n role=\\\"treeitem\\\"\\n [allowDragoverStyling]=\\\"node.allowDragoverStyling()\\\"\\n [attr.aria-current]=\\\"node.isActive\\\"\\n [attr.aria-expanded]=\\\"node.children?.length ? node.isExpanded : null\\\"\\n [attr.aria-selected]=\\\"ariaSelected()\\\"\\n [attr.data-node-id]=\\\"node.id\\\"\\n [attr.tabindex]=\\\"tabIndex\\\"\\n [class.sky-angular-tree-node-active]=\\\"showActiveClass()\\\"\\n [class.sky-angular-tree-node-has-checkbox]=\\\"showCheckbox()\\\"\\n [class.sky-angular-tree-node-selected]=\\\"showSelectedClass()\\\"\\n [style.--sky-angular-tree-node-padding]=\\\"node.getNodePadding()\\\"\\n [treeAllowDrop]=\\\"node.allowDrop\\\"\\n [treeDrag]=\\\"node\\\"\\n [treeDragEnabled]=\\\"node.allowDrag()\\\"\\n (contextmenu)=\\\"node.mouseAction('contextMenu', $event)\\\"\\n (dblclick)=\\\"node.mouseAction('dblClick', $event)\\\"\\n (focus)=\\\"onFocus()\\\"\\n (mousedown)=\\\"onMouseDown()\\\"\\n (mouseup)=\\\"onMouseUp()\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n (treeDrop)=\\\"node.onDrop($event)\\\"\\n (treeDropDragEnter)=\\\"node.mouseAction('dragEnter', $event)\\\"\\n (treeDropDragLeave)=\\\"node.mouseAction('dragLeave', $event)\\\"\\n (treeDropDragOver)=\\\"node.mouseAction('dragOver', $event)\\\"\\n >\\n <!-- #region <tree-node-expander> custom template --->\\n <div class=\\\"sky-toggle-children-wrapper\\\">\\n @if (node.hasChildren) {\\n <button\\n class=\\\"sky-btn sky-btn-icon-borderless sky-toggle-children\\\"\\n tabindex=\\\"-1\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"nodeName\\\"\\n [class.toggle-children-wrapper-expanded]=\\\"node.isExpanded\\\"\\n [class.toggle-children-wrapper-collapsed]=\\\"node.isCollapsed\\\"\\n (click)=\\\"node.mouseAction('expanderClick', $event)\\\"\\n >\\n <sky-icon\\n [iconName]=\\\"node.isExpanded ? 'chevron-down' : 'chevron-right'\\\"\\n />\\n </button>\\n }\\n @if (showTogglePlaceholder()) {\\n <span class=\\\"toggle-children-placeholder\\\"> </span>\\n }\\n </div>\\n <!-- #endregion <tree-node-expander> --->\\n\\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\\n <div class=\\\"node-content-wrapper\\\">\\n @if (showCheckbox()) {\\n <sky-checkbox\\n [checked]=\\\"isSelected\\\"\\n [id]=\\\"node.data.id\\\"\\n [label]=\\\"nodeName\\\"\\n [indeterminate]=\\\"isPartiallySelected\\\"\\n (change)=\\\"node.mouseAction('checkboxClick', $event)\\\"\\n />\\n }\\n\\n <sky-angular-tree-context-menu>\\n <ng-content select=\\\"sky-dropdown\\\" />\\n </sky-angular-tree-context-menu>\\n\\n <tree-node-content\\n [index]=\\\"index\\\"\\n [node]=\\\"node\\\"\\n [template]=\\\"templates?.treeNodeTemplate\\\"\\n (click)=\\\"node.mouseAction('click', $event)\\\"\\n /><span class=\\\"sky-control-help-container\\\">\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"nodeName\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n } @else {\\n <ng-content select=\\\".sky-control-help\\\" />\\n }\\n </span>\\n </div>\\n </div>\\n\\n <ng-container\\n [ngTemplateOutlet]=\\\"templates?.treeNodeWrapperTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: node,\\n node: node,\\n index: index,\\n templates: templates\\n }\\\"\\n />\\n <!-- #endregion <tree-node-wrapper> -->\\n\\n <tree-node-children role=\\\"group\\\" [node]=\\\"node\\\" [templates]=\\\"templates\\\" />\\n\\n <tree-node-drop-slot [dropIndex]=\\\"node.index + 1\\\" [node]=\\\"node.parent\\\" />\\n </div>\\n}\\n\", dependencies: [{ kind: \"ngmodule\", type: TreeModule }, { kind: \"component\", type: i1.TreeNodeContent, selector: \"tree-node-content\", inputs: [\"node\", \"index\", \"template\"] }, { kind: \"directive\", type: i1.TreeDropDirective, selector: \"[treeDrop]\", inputs: [\"allowDragoverStyling\", \"treeAllowDrop\"], outputs: [\"treeDrop\", \"treeDropDragOver\", \"treeDropDragLeave\", \"treeDropDragEnter\"] }, { kind: \"directive\", type: i1.TreeDragDirective, selector: \"[treeDrag]\", inputs: [\"treeDrag\", \"treeDragEnabled\"] }, { kind: \"component\", type: i1.TreeNodeChildrenComponent, selector: \"tree-node-children\", inputs: [\"node\", \"templates\"] }, { kind: \"component\", type: i1.TreeNodeDropSlot, selector: \"TreeNodeDropSlot, tree-node-drop-slot\", inputs: [\"node\", \"dropIndex\"] }, { kind: \"component\", type: SkyAngularTreeContextMenuComponent, selector: \"sky-angular-tree-context-menu\" }, { kind: \"ngmodule\", type: SkyCheckboxModule }, { kind: \"component\", type: i2.λ3, selector: \"sky-checkbox\", inputs: [\"label\", \"labelledBy\", \"id\", \"disabled\", \"tabindex\", \"name\", \"helpPopoverContent\", \"helpPopoverTitle\", \"iconName\", \"checkboxType\", \"checked\", \"indeterminate\", \"required\", \"labelText\", \"labelHidden\", \"hintText\", \"stacked\", \"helpKey\"], outputs: [\"change\", \"checkedChange\", \"disabledChange\", \"indeterminateChange\"] }, { kind: \"ngmodule\", type: SkyHelpInlineModule }, { kind: \"component\", type: i3.λ1, selector: \"sky-help-inline\", inputs: [\"ariaControls\", \"ariaExpanded\", \"ariaLabel\", \"helpKey\", \"labelledBy\", \"labelText\", \"popoverContent\", \"popoverTitle\"], outputs: [\"actionClick\"] }, { kind: \"ngmodule\", type: SkyIconModule }, { kind: \"component\", type: i4.λ1, selector: \"sky-icon\", inputs: [\"iconName\", \"variant\", \"iconSize\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeNodeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'sky-angular-tree-node', providers: [SkyAngularTreeAdapterService, SkyContentInfoProvider], imports: [\n TreeModule,\n SkyAngularTreeContextMenuComponent,\n SkyCheckboxModule,\n SkyHelpInlineModule,\n SkyIconModule,\n NgTemplateOutlet,\n ], template: \"@if (node && index !== undefined) {\\n <div\\n [class]=\\\"node.getClass()\\\"\\n [class.tree-node]=\\\"true\\\"\\n [class.tree-node-active]=\\\"node.isActive\\\"\\n [class.tree-node-collapsed]=\\\"node.isCollapsed && node.hasChildren\\\"\\n [class.tree-node-expanded]=\\\"node.isExpanded && node.hasChildren\\\"\\n [class.tree-node-focused]=\\\"node.isFocused\\\"\\n [class.tree-node-leaf]=\\\"node.isLeaf\\\"\\n >\\n @if (index === 0) {\\n <tree-node-drop-slot [dropIndex]=\\\"node.index\\\" [node]=\\\"node.parent\\\" />\\n }\\n\\n <!-- #region <tree-node-wrapper> custom template --->\\n <div\\n #nodeContentWrapper\\n class=\\\"node-wrapper\\\"\\n role=\\\"treeitem\\\"\\n [allowDragoverStyling]=\\\"node.allowDragoverStyling()\\\"\\n [attr.aria-current]=\\\"node.isActive\\\"\\n [attr.aria-expanded]=\\\"node.children?.length ? node.isExpanded : null\\\"\\n [attr.aria-selected]=\\\"ariaSelected()\\\"\\n [attr.data-node-id]=\\\"node.id\\\"\\n [attr.tabindex]=\\\"tabIndex\\\"\\n [class.sky-angular-tree-node-active]=\\\"showActiveClass()\\\"\\n [class.sky-angular-tree-node-has-checkbox]=\\\"showCheckbox()\\\"\\n [class.sky-angular-tree-node-selected]=\\\"showSelectedClass()\\\"\\n [style.--sky-angular-tree-node-padding]=\\\"node.getNodePadding()\\\"\\n [treeAllowDrop]=\\\"node.allowDrop\\\"\\n [treeDrag]=\\\"node\\\"\\n [treeDragEnabled]=\\\"node.allowDrag()\\\"\\n (contextmenu)=\\\"node.mouseAction('contextMenu', $event)\\\"\\n (dblclick)=\\\"node.mouseAction('dblClick', $event)\\\"\\n (focus)=\\\"onFocus()\\\"\\n (mousedown)=\\\"onMouseDown()\\\"\\n (mouseup)=\\\"onMouseUp()\\\"\\n (keydown)=\\\"onKeyDown($event)\\\"\\n (treeDrop)=\\\"node.onDrop($event)\\\"\\n (treeDropDragEnter)=\\\"node.mouseAction('dragEnter', $event)\\\"\\n (treeDropDragLeave)=\\\"node.mouseAction('dragLeave', $event)\\\"\\n (treeDropDragOver)=\\\"node.mouseAction('dragOver', $event)\\\"\\n >\\n <!-- #region <tree-node-expander> custom template --->\\n <div class=\\\"sky-toggle-children-wrapper\\\">\\n @if (node.hasChildren) {\\n <button\\n class=\\\"sky-btn sky-btn-icon-borderless sky-toggle-children\\\"\\n tabindex=\\\"-1\\\"\\n type=\\\"button\\\"\\n [attr.aria-label]=\\\"nodeName\\\"\\n [class.toggle-children-wrapper-expanded]=\\\"node.isExpanded\\\"\\n [class.toggle-children-wrapper-collapsed]=\\\"node.isCollapsed\\\"\\n (click)=\\\"node.mouseAction('expanderClick', $event)\\\"\\n >\\n <sky-icon\\n [iconName]=\\\"node.isExpanded ? 'chevron-down' : 'chevron-right'\\\"\\n />\\n </button>\\n }\\n @if (showTogglePlaceholder()) {\\n <span class=\\\"toggle-children-placeholder\\\"> </span>\\n }\\n </div>\\n <!-- #endregion <tree-node-expander> --->\\n\\n <!-- Note: we've made changes to the click event, tabindex, and classes when compared to the original template. -->\\n <!-- https://github.com/500tech/angular-tree-component/blob/master/lib/components/tree-node-wrapper.component.ts -->\\n <div class=\\\"node-content-wrapper\\\">\\n @if (showCheckbox()) {\\n <sky-checkbox\\n [checked]=\\\"isSelected\\\"\\n [id]=\\\"node.data.id\\\"\\n [label]=\\\"nodeName\\\"\\n [indeterminate]=\\\"isPartiallySelected\\\"\\n (change)=\\\"node.mouseAction('checkboxClick', $event)\\\"\\n />\\n }\\n\\n <sky-angular-tree-context-menu>\\n <ng-content select=\\\"sky-dropdown\\\" />\\n </sky-angular-tree-context-menu>\\n\\n <tree-node-content\\n [index]=\\\"index\\\"\\n [node]=\\\"node\\\"\\n [template]=\\\"templates?.treeNodeTemplate\\\"\\n (click)=\\\"node.mouseAction('click', $event)\\\"\\n /><span class=\\\"sky-control-help-container\\\">\\n @if (helpKey || helpPopoverContent) {\\n <sky-help-inline\\n [helpKey]=\\\"helpKey\\\"\\n [labelText]=\\\"nodeName\\\"\\n [popoverContent]=\\\"helpPopoverContent\\\"\\n [popoverTitle]=\\\"helpPopoverTitle\\\"\\n />\\n } @else {\\n <ng-content select=\\\".sky-control-help\\\" />\\n }\\n </span>\\n </div>\\n </div>\\n\\n <ng-container\\n [ngTemplateOutlet]=\\\"templates?.treeNodeWrapperTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{\\n $implicit: node,\\n node: node,\\n index: index,\\n templates: templates\\n }\\\"\\n />\\n <!-- #endregion <tree-node-wrapper> -->\\n\\n <tree-node-children role=\\\"group\\\" [node]=\\\"node\\\" [templates]=\\\"templates\\\" />\\n\\n <tree-node-drop-slot [dropIndex]=\\\"node.index + 1\\\" [node]=\\\"node.parent\\\" />\\n </div>\\n}\\n\" }]\n }], propDecorators: { index: [{\n type: Input\n }], node: [{\n type: Input\n }], templates: [{\n type: Input\n }], helpKey: [{\n type: Input\n }], helpPopoverContent: [{\n type: Input\n }], helpPopoverTitle: [{\n type: Input\n }], nodeContentWrapperRef: [{\n type: ViewChild,\n args: ['nodeContentWrapper', { read: ElementRef }]\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLW5vZGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2FuZ3VsYXItdHJlZS1jb21wb25lbnQvc3JjL2xpYi9tb2R1bGVzL2FuZ3VsYXItdHJlZS9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYW5ndWxhci10cmVlLWNvbXBvbmVudC9zcmMvbGliL21vZHVsZXMvYW5ndWxhci10cmVlL2FuZ3VsYXItdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFFTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBR0wsU0FBUyxFQUNULE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsVUFBVSxHQUVYLE1BQU0sbUNBQW1DLENBQUM7QUFDM0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTVDLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFFbEY7Ozs7Ozs7OztHQVNHO0FBY0gsTUFBTSxPQUFPLDJCQUEyQjtJQTZDdEMsSUFB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O2tCQWJ2QyxTQUFTOytCQUNFLHVCQUF1QixhQUV0QixDQUFDLDRCQUE0QixFQUFFLHNCQUFzQixDQUFDLFdBQ3hEO3dCQUNQLFVBQVU7d0JBQ1Ysa0NBQWtDO3dCQUNsQyxpQkFBaUI7d0JBQ2pCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixnQkFBZ0I7cUJBQ2pCOzhCQVFNLEtBQUs7c0JBRFgsS0FBSztnQkFTQyxJQUFJO3NCQURWLEtBQUs7Z0JBT0MsU0FBUztzQkFEZixLQUFLO2dCQVNDLE9BQU87c0JBRGIsS0FBSztnQkFTQyxrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBUUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQXdEQyxxQkFBcUI7c0JBRDNCLFNBQVM7dUJBQUMsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgSVRyZWVTdGF0ZSxcbiAgVHJlZU1vZHVsZSxcbiAgVHJlZU5vZGUsXG59IGZyb20gJ0BibGFja2JhdWQvYW5ndWxhci10cmVlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lDb250ZW50SW5mb1Byb3ZpZGVyIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAc2t5dXgvZm9ybXMnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZSc7XG5pbXBvcnQgeyBTa3lJY29uTW9kdWxlIH0gZnJvbSAnQHNreXV4L2ljb24nO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtYWRhcHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlQ29udGV4dE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci10cmVlLXdyYXBwZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBSZXBsYWNlcyB0aGUgZGVmYXVsdCB0cmVlIG5vZGUgdGVtcGxhdGUgd2l0aCBhIFNLWSBVWCBub2RlIGFzIHBhcnQgb2YgdGhlIGBTa3lBbmd1bGFyVHJlZU1vZHVsZWAgdGhhdFxuICogcHJvdmlkZXMgU0tZIFVYIGNvbXBvbmVudHMgYW5kIHN0eWxlcyB0byBjb21wbGVtZW50IHRoZSBgYW5ndWxhci10cmVlLWNvbXBvbmVudGAgbGlicmFyeSBhbmQgYXBwbHkgU0tZIFVYXG4gKiB0aGVtZXMgYW5kIGZ1bmN0aW9uYWxpdHkgdG8gaGllcmFyY2hpY2FsIGxpc3Qgdmlld3MuIFlvdSBtdXN0IHdyYXAgdGhpcyBjb21wb25lbnQgaW4gYW4gYG5nLXRlbXBsYXRlYFxuICogdGFnIHdpdGggdGhlIHRlbXBsYXRlIHJlZmVyZW5jZSB2YXJpYWJsZSBgI3RyZWVOb2RlRnVsbFRlbXBsYXRlYC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IHRyZWUgbm9kZSB0ZW1wbGF0ZXMsXG4gKiBzZWUgdGhlIFtBbmd1bGFyIHRyZWUgY29tcG9uZW50IGRvY3VtZW50YXRpb25dKGh0dHBzOi8vYW5ndWxhcjItdHJlZS5yZWFkbWUuaW8vZG9jcy90ZW1wbGF0ZXMpLlxuICogVG8gZGlzcGxheSBjb250ZXh0IG1lbnVzIHdpdGggYWN0aW9ucyBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiBoaWVyYXJjaGljYWwgbGlzdHMsIHBsYWNlXG4gKiBbZHJvcGRvd25zXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXBvcG92ZXJzL2RvY3MvZHJvcGRvd24/ZG9jcy1hY3RpdmUtdGFiPWRlc2lnbikgaW5zaWRlIHRoZVxuICogQW5ndWxhciB0cmVlIG5vZGUgY29tcG9uZW50LCB3aGljaCBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgc3R5bGluZyBhbmQgcG9zaXRpb25pbmcgZm9yIGNvbnRleHQgbWVudXMuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1hbmd1bGFyLXRyZWUtbm9kZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1NreUFuZ3VsYXJUcmVlQWRhcHRlclNlcnZpY2UsIFNreUNvbnRlbnRJbmZvUHJvdmlkZXJdLFxuICBpbXBvcnRzOiBbXG4gICAgVHJlZU1vZHVsZSxcbiAgICBTa3lBbmd1bGFyVHJlZUNvbnRleHRNZW51Q29tcG9uZW50LFxuICAgIFNreUNoZWNrYm94TW9kdWxlLFxuICAgIFNreUhlbHBJbmxpbmVNb2R1bGUsXG4gICAgU2t5SWNvbk1vZHVsZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQge1xuICAvKipcbiAgICogVGhlIGBpbmRleGAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBgbm9kZWAgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuIEZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYFRyZWVOb2RlYCBvYmplY3QsIHNlZSB0aGVcbiAgICogW0FuZ3VsYXIgdHJlZSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9hbmd1bGFyMi10cmVlLnJlYWRtZS5pby9kb2NzL2FwaSkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIG5vZGU6IFRyZWVOb2RlIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgYHRlbXBsYXRlc2AgcHJvcGVydHkgZnJvbSB0aGUgcGFyZW50IGBuZy10ZW1wbGF0ZWAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgdGVtcGxhdGVzOiBhbnk7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkLCBhIFtoZWxwIGlubGluZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2hlbHAtaW5saW5lKVxuICAgKiBidXR0b24gaXMgcGxhY2VkIGJlc2lkZSB0aGUgdHJlZSBub2RlIGxhYmVsLiBDbGlja2luZyB0aGUgYnV0dG9uIGludm9rZXMgW2dsb2JhbCBoZWxwXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2RldmVsb3AvZ2xvYmFsLWhlbHApXG4gICAqIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgdHJlZSBub2RlLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIHNldCBjaGlsZEZvY3VzSW5kZXgodmFsdWU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy4jX2NoaWxkRm9jdXNJbmRleCkge1xuICAgICAgdGhpcy4jX2NoaWxkRm9jdXNJbmRleCA9IHZhbHVlO1xuICAgICAgaWYgKHRoaXMuI2ZvY3VzYWJsZUNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgdmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLiNmb2N1c2FibGVDaGlsZHJlblt2YWx1ZV0uZm9jdXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBjaGlsZEZvY3VzSW5kZXgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2NoaWxkRm9jdXNJbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZm9jdXNlZCh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMudGFiSW5kZXggPSB2YWx1ZSA/IDAgOiAtMTtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldCBpc1BhcnRpYWxseVNlbGVjdGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLiNfaXNQYXJ0aWFsbHlTZWxlY3RlZCkge1xuICAgICAgdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNQYXJ0aWFsbHlTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzUGFydGlhbGx5U2VsZWN0ZWQ7XG4gIH1cblxuICBwdWJsaWMgc2V0IGlzU2VsZWN0ZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuI19pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLiNfaXNTZWxlY3RlZCA9IHZhbHVlO1xuICAgICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldCBpc1NlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLiNfaXNTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgdGFiSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuI190YWJJbmRleCA9IHZhbHVlO1xuICB9XG5cbiAgcHVibGljIGdldCB0YWJJbmRleCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfdGFiSW5kZXg7XG4gIH1cblxuICBAVmlld0NoaWxkKCdub2RlQ29udGVudFdyYXBwZXInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcHVibGljIG5vZGVDb250ZW50V3JhcHBlclJlZjogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBwcm90ZWN0ZWQgc2V0IG5vZGVOYW1lKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLiNfbm9kZU5hbWUgPSB2YWx1ZTtcbiAgICB0aGlzLiNjb250ZW50SW5mb1Byb3ZpZGVyLnBhdGNoSW5mbyh7XG4gICAgICBkZXNjcmlwdG9yOiB7IHR5cGU6ICd0ZXh0JywgdmFsdWUgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbm9kZU5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jX25vZGVOYW1lO1xuICB9XG5cbiAgI2ZvY3VzYWJsZUNoaWxkcmVuOiBIVE1MRWxlbWVudFtdID0gW107XG5cbiAgI21vdXNlRG93biA9IGZhbHNlO1xuXG4gICNfY2hpbGRGb2N1c0luZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG5cbiAgI19pc1BhcnRpYWxseVNlbGVjdGVkID0gZmFsc2U7XG5cbiAgI19pc1NlbGVjdGVkID0gZmFsc2U7XG5cbiAgI190YWJJbmRleCA9IC0xO1xuXG4gICNfbm9kZU5hbWUgPSAnJztcblxuICByZWFkb25seSAjYWRhcHRlclNlcnZpY2UgPSBpbmplY3QoU2t5QW5ndWxhclRyZWVBZGFwdGVyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNjb250ZW50SW5mb1Byb3ZpZGVyID0gaW5qZWN0KFNreUNvbnRlbnRJbmZvUHJvdmlkZXIpO1xuICByZWFkb25seSAjc2t5QW5ndWxhclRyZWVXcmFwcGVyID0gaW5qZWN0KFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgIGA8c2t5LWFuZ3VsYXItdHJlZS1ub2RlLXdyYXBwZXI+IG11c3QgYmUgd3JhcHBlZCBpbnNpZGUgYSA8c2t5LWFuZ3VsYXItdHJlZS13cmFwcGVyPiBjb21wb25lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgdGhpcy5ub2RlTmFtZSA9IHRoaXMubm9kZS5kYXRhLm5hbWU7XG4gICAgICAvLyBCZWNhdXNlIHdlJ3JlIGJpbmRpbmcgdGhlIGNoZWNrYm94IHRvIG5vZGUncyBjaGlsZHJlbiBwcm9wZXJ0aWVzLCB3ZSBuZWVkIHRvIG1hbnVhbGx5IGNvbnRyb2wgY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgIC8vIEhlcmUsIHdlIGxpc3RlbiB0byB0aGUgdHJlZSdzIHN0YXRlIGFuZCBmb3JjZSBjaGFuZ2UgZGV0ZWN0aW9uIGluIHRoZSBzZXR0ZXJzIGlmIHRoZSB2YWx1ZSBoYXMgY2hhbmdlZC5cbiAgICAgIHRoaXMubm9kZS50cmVlTW9kZWwuc3Vic2NyaWJlVG9TdGF0ZSgoc3RhdGU6IElUcmVlU3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMubm9kZS5pc1NlbGVjdGVkO1xuICAgICAgICAgIHRoaXMuaXNQYXJ0aWFsbHlTZWxlY3RlZCA9IHRoaXMubm9kZS5pc1BhcnRpYWxseVNlbGVjdGVkO1xuXG4gICAgICAgICAgaWYgKHN0YXRlLmZvY3VzZWROb2RlSWQpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNlZCA9IHN0YXRlLmZvY3VzZWROb2RlSWQgPT09IHRoaXMubm9kZS5pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLm5vZGUudHJlZU1vZGVsLnN1YnNjcmliZSgndXBkYXRlRGF0YScsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMubm9kZSkge1xuICAgICAgICAgIHRoaXMubm9kZU5hbWUgPSB0aGlzLm5vZGUuZGF0YS5uYW1lO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gTWFrZSB0aGUgZmlyc3Qgcm9vdCBub2RlIHRhYmJhYmxlLlxuICAgICAgaWYgKHRoaXMubm9kZS5pc1Jvb3QgJiYgdGhpcy5ub2RlLmluZGV4ID09PSAwKSB7XG4gICAgICAgIHRoaXMudGFiSW5kZXggPSAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCAxcyBmb3IgdGhlIG5vZGUgdG8gcmVuZGVyLCB0aGVuIHJlc2V0IGFsbCBjaGlsZCB0YWJJbmRleGVzIHRvIC0xLlxuICAgIC8vIFVuaXRzIHNtYWxsZXIgdGhhbiAxcyBtYXkgY29uc2lzdGVudGx5IGZhaWwgaWYgdGhlcmUgYXJlIG1hbnkgbm9kZXMsIG9yIG11bHRpcGxlIHRyZWVzIGFyZSBvbiB0aGUgc2FtZSBzY3JlZW4uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5ub2RlQ29udGVudFdyYXBwZXJSZWYpIHtcbiAgICAgICAgdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4gPSB0aGlzLiNhZGFwdGVyU2VydmljZS5nZXRGb2N1c2FibGVDaGlsZHJlbihcbiAgICAgICAgICB0aGlzLm5vZGVDb250ZW50V3JhcHBlclJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLiNhZGFwdGVyU2VydmljZS5zZXRUYWJJbmRleE9mRm9jdXNhYmxlRWxzKFxuICAgICAgICAgIHRoaXMubm9kZUNvbnRlbnRXcmFwcGVyUmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgLTEsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgc2luZ2xlLXNlbGVjdCwgc2V0IGFyaWEtc2VsZWN0ZWQ9dHJ1ZSBmb3IgdGhlIHNlbGVjdGVkIG5vZGUgYW5kIHVuZGVmaW5lZCBmb3IgYWxsIHRoZSBvdGhlcnMuXG4gICAqIEZvciBtdWx0aXBsZS1zZWxlY3QsIHNldCBhcmlhLXNlbGVjdGVkIHRvIGVpdGhlciB0cnVlIG9yIGZhbHNlLlxuICAgKiBJZiBub2RlIGNhbm5vdCBiZSBzZWxlY3RlZCwgYXJpYS1zZWxlY3RlZCBzaG91bGQgYmUgdW5kZWZpbmVkIChlLmcuIHBhcmVudCBub2RlcyBpbiBsZWFmLXNlbGVjdC1vbmx5IG1vZGUpLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBhcmlhU2VsZWN0ZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyLnNlbGVjdFNpbmdsZSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNTZWxlY3RlZCA/IHRydWUgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLiNpc1NlbGVjdGFibGUoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHJldHVybiAhIXRoaXMuaXNTZWxlY3RlZDtcbiAgfVxuXG4gIHB1YmxpYyBzaG93Q2hlY2tib3goKTogYm9vbGVhbiB7XG4gICAgLy8gQ2hlY2sgZm9yIGNoZWNrYm94IG1vZGUgZW5hYmxlZCwgYnV0IGFsc28gcmVzcGVjdCBsZWFmLW5vZGUgYW5kIHNpbmdsZS1zZWxlY3Qgc2V0dGluZ3MuXG4gICAgcmV0dXJuIChcbiAgICAgICEhdGhpcy5ub2RlICYmXG4gICAgICB0aGlzLm5vZGUub3B0aW9ucy51c2VDaGVja2JveCAmJlxuICAgICAgdGhpcy4jaXNTZWxlY3RhYmxlKCkgJiZcbiAgICAgICghdGhpcy4jc2t5QW5ndWxhclRyZWVXcmFwcGVyIHx8XG4gICAgICAgICF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIuc2VsZWN0U2luZ2xlKVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1NlbGVjdGVkQ2xhc3MoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2lzU2VsZWN0YWJsZSgpICYmIHRoaXMuaXNTZWxlY3RlZCAmJiAhdGhpcy5pc1BhcnRpYWxseVNlbGVjdGVkO1xuICB9XG5cbiAgcHVibGljIHNob3dBY3RpdmVDbGFzcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgISF0aGlzLm5vZGUgJiZcbiAgICAgIHRoaXMubm9kZS5pc0FjdGl2ZSAmJlxuICAgICAgIXRoaXMubm9kZS50cmVlTW9kZWwub3B0aW9ucy51c2VDaGVja2JveFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc2hvd1RvZ2dsZVBsYWNlaG9sZGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhdGhpcy5ub2RlPy5oYXNDaGlsZHJlbiAmJlxuICAgICAgIXRoaXMuI3NreUFuZ3VsYXJUcmVlV3JhcHBlcj8uc2VsZWN0TGVhZk5vZGVzT25seVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgb25Gb2N1cygpOiB2b2lkIHtcbiAgICAvLyA8dHJlZS1ub2RlLWNvbnRlbnQ+IGhhcyBpdHMgb3duIGNsaWNrIGhhbmRsZXIsIHNvIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhpcyBmb2N1cyBldmVudFxuICAgIC8vIGlzIGNvbWluZyBmcm9tIHRoZSBtb3VzZSBjbGljayBvciB0aGUga2V5Ym9hcmQgdG8gcHJldmVudCB0aGUgbG9naWMgZnJvbSBydW5uaW5nIHR3aWNlLlxuICAgIGlmICghdGhpcy4jbW91c2VEb3duKSB7XG4gICAgICB0aGlzLm5vZGU/LnRyZWVNb2RlbC5zZXRGb2N1cyh0cnVlKTtcbiAgICAgIHRoaXMubm9kZT8uZm9jdXMoKTtcbiAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbk1vdXNlRG93bigpOiB2b2lkIHtcbiAgICB0aGlzLiNtb3VzZURvd24gPSB0cnVlO1xuICB9XG5cbiAgcHVibGljIG9uTW91c2VVcCgpOiB2b2lkIHtcbiAgICB0aGlzLiNtb3VzZURvd24gPSBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBldmVudC50YXJnZXQpIHtcbiAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSAndXAnOlxuICAgICAgICBjYXNlICdhcnJvd3VwJzpcbiAgICAgICAgICAvLyBGb2N1cyBvbiBwcmV2aW91cyBub2RlLlxuICAgICAgICAgIHRoaXMubm9kZT8udHJlZU1vZGVsLmZvY3VzUHJldmlvdXNOb2RlKCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSAnZG93bic6XG4gICAgICAgIGNhc2UgJ2Fycm93ZG93bic6XG4gICAgICAgICAgLy8gRm9jdXMgb24gbmV4dCBub2RlLlxuICAgICAgICAgIHRoaXMubm9kZT8udHJlZU1vZGVsLmZvY3VzTmV4dE5vZGUoKTtcbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgY2FzZSAnYXJyb3dsZWZ0JzpcbiAgICAgICAgICAvLyBDeWNsZSBiYWNrd2FyZHMgdGhyb3VnaCBpbnRlcmFjdGl2ZSBjaGlsZCBlbGVtZW50c1xuICAgICAgICAgIC8vIElmIHVzZXIgcmVhY2hlcyB0aGUgYmVnaW5uaW5nLCBhY3RpdmF0ZSBkcmlsbCB1cC5cbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgICAgIGlmICh0aGlzLmNoaWxkRm9jdXNJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jaGlsZEZvY3VzSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgdGhpcy5jaGlsZEZvY3VzSW5kZXggPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLmNoaWxkRm9jdXNJbmRleC0tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5vZGU/LnNldElzRXhwYW5kZWQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgY2FzZSAnYXJyb3dyaWdodCc6XG4gICAgICAgICAgLy8gQ3ljbGUgZm9yd2FyZCB0aHJvdWdoIGludGVyYWN0aXZlIGNoaWxkIGVsZW1lbnRzLlxuICAgICAgICAgIC8vIElmIHVzZXIgcmVhY2hlcyB0aGUgZW5kLCBhY3RpdmF0ZSBkcmlsbCBkb3duLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy4jZm9jdXNhYmxlQ2hpbGRyZW4ubGVuZ3RoIDw9IDAgfHxcbiAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID09PSB0aGlzLiNmb2N1c2FibGVDaGlsZHJlbi5sZW5ndGggLSAxXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm5vZGU/LnNldElzRXhwYW5kZWQodHJ1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNoaWxkRm9jdXNJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4ID0gMDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMuY2hpbGRGb2N1c0luZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjaXNTZWxlY3RhYmxlKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICEhdGhpcy5ub2RlICYmXG4gICAgICAgICh0aGlzLm5vZGUuaXNMZWFmIHx8XG4gICAgICAgICAgIXRoaXMubm9kZS5oYXNDaGlsZHJlbiB8fFxuICAgICAgICAgICF0aGlzLiNza3lBbmd1bGFyVHJlZVdyYXBwZXIuc2VsZWN0TGVhZk5vZGVzT25seSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiAobm9kZSAmJiBpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gIDxkaXZcbiAgICBbY2xhc3NdPVwibm9kZS5nZXRDbGFzcygpXCJcbiAgICBbY2xhc3MudHJlZS1ub2RlXT1cInRydWVcIlxuICAgIFtjbGFzcy50cmVlLW5vZGUtYWN0aXZlXT1cIm5vZGUuaXNBY3RpdmVcIlxuICAgIFtjbGFzcy50cmVlLW5vZGUtY29sbGFwc2VkXT1cIm5vZGUuaXNDb2xsYXBzZWQgJiYgbm9kZS5oYXNDaGlsZHJlblwiXG4gICAgW2NsYXNzLnRyZWUtbm9kZS1leHBhbmRlZF09XCJub2RlLmlzRXhwYW5kZWQgJiYgbm9kZS5oYXNDaGlsZHJlblwiXG4gICAgW2NsYXNzLnRyZWUtbm9kZS1mb2N1c2VkXT1cIm5vZGUuaXNGb2N1c2VkXCJcbiAgICBbY2xhc3MudHJlZS1ub2RlLWxlYWZdPVwibm9kZS5pc0xlYWZcIlxuICA+XG4gICAgQGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgPHRyZWUtbm9kZS1kcm9wLXNsb3QgW2Ryb3BJbmRleF09XCJub2RlLmluZGV4XCIgW25vZGVdPVwibm9kZS5wYXJlbnRcIiAvPlxuICAgIH1cblxuICAgIDwhLS0gI3JlZ2lvbiA8dHJlZS1ub2RlLXdyYXBwZXI+IGN1c3RvbSB0ZW1wbGF0ZSAtLS0+XG4gICAgPGRpdlxuICAgICAgI25vZGVDb250ZW50V3JhcHBlclxuICAgICAgY2xhc3M9XCJub2RlLXdyYXBwZXJcIlxuICAgICAgcm9sZT1cInRyZWVpdGVtXCJcbiAgICAgIFthbGxvd0RyYWdvdmVyU3R5bGluZ109XCJub2RlLmFsbG93RHJhZ292ZXJTdHlsaW5nKClcIlxuICAgICAgW2F0dHIuYXJpYS1jdXJyZW50XT1cIm5vZGUuaXNBY3RpdmVcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJub2RlLmNoaWxkcmVuPy5sZW5ndGggPyBub2RlLmlzRXhwYW5kZWQgOiBudWxsXCJcbiAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiYXJpYVNlbGVjdGVkKClcIlxuICAgICAgW2F0dHIuZGF0YS1ub2RlLWlkXT1cIm5vZGUuaWRcIlxuICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIlxuICAgICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1hY3RpdmVdPVwic2hvd0FjdGl2ZUNsYXNzKClcIlxuICAgICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1oYXMtY2hlY2tib3hdPVwic2hvd0NoZWNrYm94KClcIlxuICAgICAgW2NsYXNzLnNreS1hbmd1bGFyLXRyZWUtbm9kZS1zZWxlY3RlZF09XCJzaG93U2VsZWN0ZWRDbGFzcygpXCJcbiAgICAgIFtzdHlsZS4tLXNreS1hbmd1bGFyLXRyZWUtbm9kZS1wYWRkaW5nXT1cIm5vZGUuZ2V0Tm9kZVBhZGRpbmcoKVwiXG4gICAgICBbdHJlZUFsbG93RHJvcF09XCJub2RlLmFsbG93RHJvcFwiXG4gICAgICBbdHJlZURyYWddPVwibm9kZVwiXG4gICAgICBbdHJlZURyYWdFbmFibGVkXT1cIm5vZGUuYWxsb3dEcmFnKClcIlxuICAgICAgKGNvbnRleHRtZW51KT1cIm5vZGUubW91c2VBY3Rpb24oJ2NvbnRleHRNZW51JywgJGV2ZW50KVwiXG4gICAgICAoZGJsY2xpY2spPVwibm9kZS5tb3VzZUFjdGlvbignZGJsQ2xpY2snLCAkZXZlbnQpXCJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxuICAgICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigpXCJcbiAgICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgpXCJcbiAgICAgIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcCk9XCJub2RlLm9uRHJvcCgkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcERyYWdFbnRlcik9XCJub2RlLm1vdXNlQWN0aW9uKCdkcmFnRW50ZXInLCAkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcERyYWdMZWF2ZSk9XCJub2RlLm1vdXNlQWN0aW9uKCdkcmFnTGVhdmUnLCAkZXZlbnQpXCJcbiAgICAgICh0cmVlRHJvcERyYWdPdmVyKT1cIm5vZGUubW91c2VBY3Rpb24oJ2RyYWdPdmVyJywgJGV2ZW50KVwiXG4gICAgPlxuICAgICAgPCEtLSAjcmVnaW9uIDx0cmVlLW5vZGUtZXhwYW5kZXI+IGN1c3RvbSB0ZW1wbGF0ZSAtLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwic2t5LXRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyXCI+XG4gICAgICAgIEBpZiAobm9kZS5oYXNDaGlsZHJlbikge1xuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktdG9nZ2xlLWNoaWxkcmVuXCJcbiAgICAgICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm5vZGVOYW1lXCJcbiAgICAgICAgICAgIFtjbGFzcy50b2dnbGUtY2hpbGRyZW4td3JhcHBlci1leHBhbmRlZF09XCJub2RlLmlzRXhwYW5kZWRcIlxuICAgICAgICAgICAgW2NsYXNzLnRvZ2dsZS1jaGlsZHJlbi13cmFwcGVyLWNvbGxhcHNlZF09XCJub2RlLmlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJub2RlLm1vdXNlQWN0aW9uKCdleHBhbmRlckNsaWNrJywgJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNreS1pY29uXG4gICAgICAgICAgICAgIFtpY29uTmFtZV09XCJub2RlLmlzRXhwYW5kZWQgPyAnY2hldnJvbi1kb3duJyA6ICdjaGV2cm9uLXJpZ2h0J1wiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBpZiAoc2hvd1RvZ2dsZVBsYWNlaG9sZGVyKCkpIHtcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1jaGlsZHJlbi1wbGFjZWhvbGRlclwiPiA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSAjZW5kcmVnaW9uIDx0cmVlLW5vZGUtZXhwYW5kZXI+IC0tLT5cblxuICAgICAgPCEtLSBOb3RlOiB3ZSd2ZSBtYWRlIGNoYW5nZXMgdG8gdGhlIGNsaWNrIGV2ZW50LCB0YWJpbmRleCwgYW5kIGNsYXNzZXMgd2hlbiBjb21wYXJlZCB0byB0aGUgb3JpZ2luYWwgdGVtcGxhdGUuIC0tPlxuICAgICAgPCEtLSBodHRwczovL2dpdGh1Yi5jb20vNTAwdGVjaC9hbmd1bGFyLXRyZWUtY29tcG9uZW50L2Jsb2IvbWFzdGVyL2xpYi9jb21wb25lbnRzL3RyZWUtbm9kZS13cmFwcGVyLmNvbXBvbmVudC50cyAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICBAaWYgKHNob3dDaGVja2JveCgpKSB7XG4gICAgICAgICAgPHNreS1jaGVja2JveFxuICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZFwiXG4gICAgICAgICAgICBbaWRdPVwibm9kZS5kYXRhLmlkXCJcbiAgICAgICAgICAgIFtsYWJlbF09XCJub2RlTmFtZVwiXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpc1BhcnRpYWxseVNlbGVjdGVkXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwibm9kZS5tb3VzZUFjdGlvbignY2hlY2tib3hDbGljaycsICRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIH1cblxuICAgICAgICA8c2t5LWFuZ3VsYXItdHJlZS1jb250ZXh0LW1lbnU+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwic2t5LWRyb3Bkb3duXCIgLz5cbiAgICAgICAgPC9za3ktYW5ndWxhci10cmVlLWNvbnRleHQtbWVudT5cblxuICAgICAgICA8dHJlZS1ub2RlLWNvbnRlbnRcbiAgICAgICAgICBbaW5kZXhdPVwiaW5kZXhcIlxuICAgICAgICAgIFtub2RlXT1cIm5vZGVcIlxuICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZXM/LnRyZWVOb2RlVGVtcGxhdGVcIlxuICAgICAgICAgIChjbGljayk9XCJub2RlLm1vdXNlQWN0aW9uKCdjbGljaycsICRldmVudClcIlxuICAgICAgICAvPjxzcGFuIGNsYXNzPVwic2t5LWNvbnRyb2wtaGVscC1jb250YWluZXJcIj5cbiAgICAgICAgICBAaWYgKGhlbHBLZXkgfHwgaGVscFBvcG92ZXJDb250ZW50KSB7XG4gICAgICAgICAgICA8c2t5LWhlbHAtaW5saW5lXG4gICAgICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgICAgICBbbGFiZWxUZXh0XT1cIm5vZGVOYW1lXCJcbiAgICAgICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZW1wbGF0ZXM/LnRyZWVOb2RlV3JhcHBlclRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICRpbXBsaWNpdDogbm9kZSxcbiAgICAgICAgbm9kZTogbm9kZSxcbiAgICAgICAgaW5kZXg6IGluZGV4LFxuICAgICAgICB0ZW1wbGF0ZXM6IHRlbXBsYXRlc1xuICAgICAgfVwiXG4gICAgLz5cbiAgICA8IS0tICNlbmRyZWdpb24gPHRyZWUtbm9kZS13cmFwcGVyPiAtLT5cblxuICAgIDx0cmVlLW5vZGUtY2hpbGRyZW4gcm9sZT1cImdyb3VwXCIgW25vZGVdPVwibm9kZVwiIFt0ZW1wbGF0ZXNdPVwidGVtcGxhdGVzXCIgLz5cblxuICAgIDx0cmVlLW5vZGUtZHJvcC1zbG90IFtkcm9wSW5kZXhdPVwibm9kZS5pbmRleCArIDFcIiBbbm9kZV09XCJub2RlLnBhcmVudFwiIC8+XG4gIDwvZGl2PlxufVxuIl19","import { NgModule } from '@angular/core';\nimport { SkyCoreAdapterService } from '@skyux/core';\nimport { SkyAngularTreeComponentResourcesModule } from '../shared/sky-angular-tree-component-resources.module';\nimport { SkyAngularTreeContextMenuComponent } from './angular-tree-context-menu.component';\nimport { SkyAngularTreeNodeComponent } from './angular-tree-node.component';\nimport { SkyAngularTreeToolbarComponent } from './angular-tree-toolbar.component';\nimport { SkyAngularTreeWrapperComponent } from './angular-tree-wrapper.component';\nimport * as i0 from \"@angular/core\";\nexport class SkyAngularTreeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, imports: [SkyAngularTreeComponentResourcesModule,\n SkyAngularTreeContextMenuComponent,\n SkyAngularTreeNodeComponent,\n SkyAngularTreeToolbarComponent,\n SkyAngularTreeWrapperComponent], exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, providers: [SkyCoreAdapterService], imports: [SkyAngularTreeComponentResourcesModule,\n SkyAngularTreeNodeComponent,\n SkyAngularTreeToolbarComponent,\n SkyAngularTreeWrapperComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.0\", ngImport: i0, type: SkyAngularTreeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [\n SkyAngularTreeComponentResourcesModule,\n SkyAngularTreeContextMenuComponent,\n SkyAngularTreeNodeComponent,\n SkyAngularTreeToolbarComponent,\n SkyAngularTreeWrapperComponent,\n ],\n providers: [SkyCoreAdapterService],\n exports: [SkyAngularTreeNodeComponent, SkyAngularTreeWrapperComponent],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci10cmVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9saWIvbW9kdWxlcy9hbmd1bGFyLXRyZWUvYW5ndWxhci10cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVwRCxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUUvRyxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFhbEYsTUFBTSxPQUFPLG9CQUFvQjs4R0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0IsWUFUN0Isc0NBQXNDO1lBQ3RDLGtDQUFrQztZQUNsQywyQkFBMkI7WUFDM0IsOEJBQThCO1lBQzlCLDhCQUE4QixhQUd0QiwyQkFBMkIsRUFBRSw4QkFBOEI7K0dBRTFELG9CQUFvQixhQUhwQixDQUFDLHFCQUFxQixDQUFDLFlBTmhDLHNDQUFzQztZQUV0QywyQkFBMkI7WUFDM0IsOEJBQThCO1lBQzlCLDhCQUE4Qjs7MkZBS3JCLG9CQUFvQjtrQkFYaEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asc0NBQXNDO3dCQUN0QyxrQ0FBa0M7d0JBQ2xDLDJCQUEyQjt3QkFDM0IsOEJBQThCO3dCQUM5Qiw4QkFBOEI7cUJBQy9CO29CQUNELFNBQVMsRUFBRSxDQUFDLHFCQUFxQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQywyQkFBMkIsRUFBRSw4QkFBOEIsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lBbmd1bGFyVHJlZUNvbXBvbmVudFJlc291cmNlc01vZHVsZSB9IGZyb20gJy4uL3NoYXJlZC9za3ktYW5ndWxhci10cmVlLWNvbXBvbmVudC1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5QW5ndWxhclRyZWVDb250ZXh0TWVudUNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci10cmVlLWNvbnRleHQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QW5ndWxhclRyZWVOb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtbm9kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QW5ndWxhclRyZWVUb29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5QW5ndWxhclRyZWVXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyLXRyZWUtd3JhcHBlci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU2t5QW5ndWxhclRyZWVDb21wb25lbnRSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5QW5ndWxhclRyZWVDb250ZXh0TWVudUNvbXBvbmVudCxcbiAgICBTa3lBbmd1bGFyVHJlZU5vZGVDb21wb25lbnQsXG4gICAgU2t5QW5ndWxhclRyZWVUb29sYmFyQ29tcG9uZW50LFxuICAgIFNreUFuZ3VsYXJUcmVlV3JhcHBlckNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlXSxcbiAgZXhwb3J0czogW1NreUFuZ3VsYXJUcmVlTm9kZUNvbXBvbmVudCwgU2t5QW5ndWxhclRyZWVXcmFwcGVyQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5QW5ndWxhclRyZWVNb2R1bGUge31cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5dXgtYW5ndWxhci10cmVlLWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9hbmd1bGFyLXRyZWUtY29tcG9uZW50L3NyYy9za3l1eC1hbmd1bGFyLXRyZWUtY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":["i1","i2","i3","i4"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skyux/angular-tree-component",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.9.1",
|
|
4
4
|
"author": "Blackbaud, Inc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"blackbaud",
|
|
@@ -19,12 +19,12 @@
|
|
|
19
19
|
"@angular/common": "^20.3.0",
|
|
20
20
|
"@angular/core": "^20.3.0",
|
|
21
21
|
"@blackbaud/angular-tree-component": "^1.0.0",
|
|
22
|
-
"@skyux/core": "13.
|
|
23
|
-
"@skyux/forms": "13.
|
|
24
|
-
"@skyux/help-inline": "13.
|
|
25
|
-
"@skyux/i18n": "13.
|
|
26
|
-
"@skyux/icon": "13.
|
|
27
|
-
"@skyux/layout": "13.
|
|
22
|
+
"@skyux/core": "13.9.1",
|
|
23
|
+
"@skyux/forms": "13.9.1",
|
|
24
|
+
"@skyux/help-inline": "13.9.1",
|
|
25
|
+
"@skyux/i18n": "13.9.1",
|
|
26
|
+
"@skyux/icon": "13.9.1",
|
|
27
|
+
"@skyux/layout": "13.9.1"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"tslib": "^2.8.1"
|