@abp/ng.components 9.3.4 → 10.0.0-rc.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.
- package/chart.js/index.d.ts +2 -3
- package/extensible/index.d.ts +28 -9
- package/fesm2022/abp-ng.components-chart.js.mjs +6 -6
- package/fesm2022/abp-ng.components-chart.js.mjs.map +1 -1
- package/fesm2022/abp-ng.components-extensible.mjs +125 -51
- package/fesm2022/abp-ng.components-extensible.mjs.map +1 -1
- package/fesm2022/abp-ng.components-page.mjs +12 -17
- package/fesm2022/abp-ng.components-page.mjs.map +1 -1
- package/fesm2022/abp-ng.components-tree.mjs +12 -13
- package/fesm2022/abp-ng.components-tree.mjs.map +1 -1
- package/package.json +3 -3
- package/page/index.d.ts +30 -31
- package/tree/index.d.ts +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.components-tree.mjs","sources":["../tmp-esm2022/tree/lib/disable-tree-style-loading.token.js","../tmp-esm2022/tree/lib/templates/tree-node-template.directive.js","../tmp-esm2022/tree/lib/templates/expanded-icon-template.directive.js","../tmp-esm2022/tree/lib/components/tree.component.js","../tmp-esm2022/tree/lib/tree.module.js","../tmp-esm2022/tree/lib/utils/nz-tree-adapter.js","../tmp-esm2022/tree/abp-ng.components-tree.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const DISABLE_TREE_STYLE_LOADING_TOKEN = new InjectionToken('DISABLE_TREE_STYLE_LOADING_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS10cmVlLXN0eWxlLWxvYWRpbmcudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi9kaXNhYmxlLXRyZWUtc3R5bGUtbG9hZGluZy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksY0FBYyxDQUNoRSxrQ0FBa0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgRElTQUJMRV9UUkVFX1NUWUxFX0xPQURJTkdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oXHJcbiAgJ0RJU0FCTEVfVFJFRV9TVFlMRV9MT0FESU5HX1RPS0VOJyxcclxuKTtcclxuIl19","import { Directive, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeNodeTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeNodeTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: TreeNodeTemplateDirective, isStandalone: true, selector: \"[abpTreeNodeTemplate],[abp-tree-node-template]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeNodeTemplateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[abpTreeNodeTemplate],[abp-tree-node-template]',\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9zcmMvbGliL3RlbXBsYXRlcy90cmVlLW5vZGUtdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt2RCxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQW1CLFFBQTBCO1FBQTFCLGFBQVEsR0FBUixRQUFRLENBQWtCO0lBQUcsQ0FBQzs4R0FEdEMseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSHJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdEQUFnRDtpQkFDM0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thYnBUcmVlTm9kZVRlbXBsYXRlXSxbYWJwLXRyZWUtbm9kZS10ZW1wbGF0ZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVUZW1wbGF0ZURpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+KSB7fVxyXG59XHJcbiJdfQ==","import { Directive, TemplateRef } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ExpandedIconTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ExpandedIconTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: ExpandedIconTemplateDirective, isStandalone: true, selector: \"[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ExpandedIconTemplateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]',\n }]\n }], ctorParameters: () => [{ type: i0.TemplateRef }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90ZW1wbGF0ZXMvZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBS3ZELE1BQU0sT0FBTyw2QkFBNkI7SUFDeEMsWUFBbUIsUUFBMEI7UUFBMUIsYUFBUSxHQUFSLFFBQVEsQ0FBa0I7SUFBRyxDQUFDOzhHQUR0Qyw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUVBQWlFO2lCQUM1RSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FicFRyZWVFeHBhbmRlZEljb25UZW1wbGF0ZV0sW2FicC10cmVlLWV4cGFuZGVkLWljb24tdGVtcGxhdGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4pIHt9XHJcbn1cclxuIl19","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, inject, Input, Output, TemplateRef, ViewEncapsulation, } from '@angular/core';\nimport { NgbDropdown, NgbDropdownMenu, NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap';\nimport { NzTreeComponent, } from 'ng-zorro-antd/tree';\nimport { InitDirective, LazyLoadService, LOADING_STRATEGY, SubscriptionService, } from '@abp/ng.core';\nimport { of } from 'rxjs';\nimport { DISABLE_TREE_STYLE_LOADING_TOKEN } from '../disable-tree-style-loading.token';\nimport { TreeNodeTemplateDirective } from '../templates/tree-node-template.directive';\nimport { ExpandedIconTemplateDirective } from '../templates/expanded-icon-template.directive';\nimport { CommonModule } from '@angular/common';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@angular/common\";\nexport class TreeComponent {\n constructor() {\n this.lazyLoadService = inject(LazyLoadService);\n this.subscriptionService = inject(SubscriptionService);\n this.cdr = inject(ChangeDetectorRef);\n this.disableTreeStyleLoading = inject(DISABLE_TREE_STYLE_LOADING_TOKEN, { optional: true });\n this.dropdowns = {};\n this.checkedKeysChange = new EventEmitter();\n this.expandedKeysChange = new EventEmitter();\n this.selectedNodeChange = new EventEmitter();\n this.dropOver = new EventEmitter();\n this.nzExpandChange = new EventEmitter();\n this.noAnimation = true;\n this.checkedKeys = [];\n this.nodes = [];\n this.expandedKeys = [];\n this.isNodeSelected = node => this.selectedNode?.id === node.key;\n this.beforeDrop = (event) => {\n this.dropPosition = event.pos;\n return of(false);\n };\n }\n ngOnInit() {\n this.loadStyle();\n }\n loadStyle() {\n if (this.disableTreeStyleLoading) {\n return;\n }\n const loaded$ = this.lazyLoadService.load(LOADING_STRATEGY.AppendAnonymousStyleToHead('ng-zorro-antd-tree.css'));\n this.subscriptionService.addOne(loaded$);\n }\n findNode(target, nodes) {\n for (const node of nodes) {\n if (node.key === target.id) {\n return node;\n }\n if (node.children) {\n const res = this.findNode(target, node.children);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n onSelectedNodeChange(node) {\n this.selectedNode = node.origin.entity;\n if (this.changeCheckboxWithNode) {\n let newVal;\n if (node.isChecked) {\n newVal = this.checkedKeys.filter(x => x !== node.key);\n }\n else {\n newVal = [...this.checkedKeys, node.key];\n }\n this.selectedNodeChange.emit(node);\n this.checkedKeys = newVal;\n this.checkedKeysChange.emit(newVal);\n }\n else {\n this.selectedNodeChange.emit(node.origin.entity);\n }\n }\n onCheckboxChange(event) {\n this.checkedKeys = [...event.keys];\n this.checkedKeysChange.emit(event.keys);\n }\n onExpandedKeysChange(event) {\n this.expandedKeys = [...event.keys];\n this.expandedKeysChange.emit(event.keys);\n this.nzExpandChange.emit(event);\n }\n onDrop(event) {\n event.event.stopPropagation();\n event.event.preventDefault();\n event.pos = this.dropPosition;\n this.dropOver.emit(event);\n }\n initDropdown(key, dropdown) {\n this.dropdowns[key] = dropdown;\n }\n onContextMenuChange(event) {\n const dropdownKey = event.node?.key;\n Object.entries(this.dropdowns).forEach(([key, dropdown]) => {\n if (key !== dropdownKey && dropdown?.isOpen()) {\n dropdown.close();\n }\n });\n this.dropdowns[dropdownKey]?.toggle();\n }\n setSelectedNode(node) {\n const newSelectedNode = this.findNode(node, this.nodes);\n this.selectedNode = { ...newSelectedNode };\n this.cdr.markForCheck();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: TreeComponent, isStandalone: true, selector: \"abp-tree\", inputs: { noAnimation: \"noAnimation\", draggable: \"draggable\", checkable: \"checkable\", checkStrictly: \"checkStrictly\", checkedKeys: \"checkedKeys\", nodes: \"nodes\", expandedKeys: \"expandedKeys\", selectedNode: \"selectedNode\", changeCheckboxWithNode: \"changeCheckboxWithNode\", isNodeSelected: \"isNodeSelected\", beforeDrop: \"beforeDrop\" }, outputs: { checkedKeysChange: \"checkedKeysChange\", expandedKeysChange: \"expandedKeysChange\", selectedNodeChange: \"selectedNodeChange\", dropOver: \"dropOver\", nzExpandChange: \"nzExpandChange\" }, providers: [SubscriptionService], queries: [{ propertyName: \"menu\", first: true, predicate: [\"menu\"], descendants: true }, { propertyName: \"customNodeTemplate\", first: true, predicate: TreeNodeTemplateDirective, descendants: true }, { propertyName: \"expandedIconTemplate\", first: true, predicate: ExpandedIconTemplateDirective, descendants: true }], ngImport: i0, template: \"<nz-tree\\r\\n [nzBeforeDrop]=\\\"beforeDrop\\\"\\r\\n [nzDraggable]=\\\"draggable\\\"\\r\\n [nzCheckStrictly]=\\\"checkStrictly\\\"\\r\\n [nzCheckable]=\\\"checkable\\\"\\r\\n [nzCheckedKeys]=\\\"checkedKeys\\\"\\r\\n [nzData]=\\\"nodes\\\"\\r\\n [nzTreeTemplate]=\\\"treeTemplate\\\"\\r\\n [nzExpandedKeys]=\\\"expandedKeys\\\"\\r\\n [nzExpandedIcon]=\\\"expandedIconTemplate?.template || defaultIconTemplate\\\"\\r\\n (nzExpandChange)=\\\"onExpandedKeysChange($event)\\\"\\r\\n (nzCheckboxChange)=\\\"onCheckboxChange($event)\\\"\\r\\n (nzOnDrop)=\\\"onDrop($event)\\\"\\r\\n [nzNoAnimation]=\\\"noAnimation\\\"\\r\\n (nzContextMenu)=\\\"onContextMenuChange($event)\\\"\\r\\n/>\\r\\n<ng-template #treeTemplate let-node>\\r\\n <div\\r\\n [class.selected]=\\\"isNodeSelected(node)\\\"\\r\\n [title]=\\\"node.title\\\"\\r\\n (click)=\\\"onSelectedNodeChange(node)\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"nodeTemplate; context: { $implicit: node }\\\" />\\r\\n\\r\\n <ng-template #nodeTemplate let-node>\\r\\n <div class=\\\"d-inline-flex align-items-center abp-ellipsis-inline\\\">\\r\\n <ng-container\\r\\n *ngTemplateOutlet=\\\"\\r\\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\\r\\n context: { $implicit: node }\\r\\n \\\"\\r\\n />\\r\\n </div>\\r\\n\\r\\n @if (menu) {\\r\\n <div\\r\\n #dropdown=\\\"ngbDropdown\\\"\\r\\n class=\\\"d-inline-block ms-1\\\"\\r\\n ngbDropdown\\r\\n placement=\\\"bottom\\\"\\r\\n container=\\\"body\\\"\\r\\n (abpInit)=\\\"initDropdown(node.key, dropdown)\\\"\\r\\n >\\r\\n <i\\r\\n class=\\\"fas fa-caret-down text-muted\\\"\\r\\n ngbDropdownToggle\\r\\n [class.dropdown-toggle]=\\\"false\\\"\\r\\n aria-hidden=\\\"true\\\"\\r\\n ></i>\\r\\n <div ngbDropdownMenu>\\r\\n <ng-template *ngTemplateOutlet=\\\"menu; context: { $implicit: node }\\\" />\\r\\n </div>\\r\\n </div>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #defaultNodeTemplate let-node>\\r\\n <span>{{ node.title }}</span>\\r\\n </ng-template>\\r\\n </div>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #defaultIconTemplate let-node let-origin=\\\"origin\\\">\\r\\n <i aria-hidden=\\\"true\\\">\\r\\n <ng-container *ngTemplateOutlet=\\\"node.isExpanded ? minusIcon : plusIcon\\\"\\r\\n /></i>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #minusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm-6.5 10h13v1h-13v-1z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #plusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm.5 10h6v1h-6v6h-1v-6h-6v-1h6v-6h1v6z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\", styles: [\"abp-tree .ant-tree{color:inherit}abp-tree .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:transparent}abp-tree .ant-tree .ant-tree-switcher{line-height:17px;align-items:center;justify-content:center;display:inline-flex}abp-tree .ant-tree .ant-tree-node-content-wrapper{width:100%;padding:0}abp-tree .ant-tree .ant-tree-node-content-wrapper>div{display:flex;padding-right:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}abp-tree .ant-tree .node-wrapper{width:100%;position:relative;display:inline-block;margin:0;line-height:30px;text-decoration:none;vertical-align:top;border-radius:2px;cursor:pointer;padding:0 5px 0 8px;border:1px solid transparent}abp-tree .ant-tree .ellipsis{position:absolute;right:8px;top:1px;cursor:pointer}\\n\"], dependencies: [{ kind: \"ngmodule\", type: CommonModule }, { kind: \"directive\", type: i1.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: NzTreeComponent, selector: \"nz-tree\", inputs: [\"nzShowIcon\", \"nzHideUnMatched\", \"nzBlockNode\", \"nzExpandAll\", \"nzSelectMode\", \"nzCheckStrictly\", \"nzShowExpand\", \"nzShowLine\", \"nzCheckable\", \"nzAsyncData\", \"nzDraggable\", \"nzMultiple\", \"nzExpandedIcon\", \"nzVirtualItemSize\", \"nzVirtualMaxBufferPx\", \"nzVirtualMinBufferPx\", \"nzVirtualHeight\", \"nzTreeTemplate\", \"nzBeforeDrop\", \"nzData\", \"nzExpandedKeys\", \"nzSelectedKeys\", \"nzCheckedKeys\", \"nzSearchValue\", \"nzSearchFunc\"], outputs: [\"nzExpandedKeysChange\", \"nzSelectedKeysChange\", \"nzCheckedKeysChange\", \"nzSearchValueChange\", \"nzClick\", \"nzDblClick\", \"nzContextMenu\", \"nzCheckboxChange\", \"nzExpandChange\", \"nzOnDragStart\", \"nzOnDragEnter\", \"nzOnDragOver\", \"nzOnDragLeave\", \"nzOnDrop\", \"nzOnDragEnd\"], exportAs: [\"nzTree\"] }, { kind: \"directive\", type: NgbDropdown, selector: \"[ngbDropdown]\", inputs: [\"autoClose\", \"dropdownClass\", \"open\", \"placement\", \"popperOptions\", \"container\", \"display\"], outputs: [\"openChange\"], exportAs: [\"ngbDropdown\"] }, { kind: \"directive\", type: NgbDropdownMenu, selector: \"[ngbDropdownMenu]\" }, { kind: \"directive\", type: NgbDropdownToggle, selector: \"[ngbDropdownToggle]\" }, { kind: \"directive\", type: InitDirective, selector: \"[abpInit]\", outputs: [\"abpInit\"] }, { kind: \"directive\", type: NzNoAnimationDirective, selector: \"[nzNoAnimation]\", inputs: [\"nzNoAnimation\"], exportAs: [\"nzNoAnimation\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-tree', encapsulation: ViewEncapsulation.None, providers: [SubscriptionService], changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n CommonModule,\n NzTreeComponent,\n NgbDropdown,\n NgbDropdownMenu,\n NgbDropdownToggle,\n InitDirective,\n NzNoAnimationDirective,\n ], template: \"<nz-tree\\r\\n [nzBeforeDrop]=\\\"beforeDrop\\\"\\r\\n [nzDraggable]=\\\"draggable\\\"\\r\\n [nzCheckStrictly]=\\\"checkStrictly\\\"\\r\\n [nzCheckable]=\\\"checkable\\\"\\r\\n [nzCheckedKeys]=\\\"checkedKeys\\\"\\r\\n [nzData]=\\\"nodes\\\"\\r\\n [nzTreeTemplate]=\\\"treeTemplate\\\"\\r\\n [nzExpandedKeys]=\\\"expandedKeys\\\"\\r\\n [nzExpandedIcon]=\\\"expandedIconTemplate?.template || defaultIconTemplate\\\"\\r\\n (nzExpandChange)=\\\"onExpandedKeysChange($event)\\\"\\r\\n (nzCheckboxChange)=\\\"onCheckboxChange($event)\\\"\\r\\n (nzOnDrop)=\\\"onDrop($event)\\\"\\r\\n [nzNoAnimation]=\\\"noAnimation\\\"\\r\\n (nzContextMenu)=\\\"onContextMenuChange($event)\\\"\\r\\n/>\\r\\n<ng-template #treeTemplate let-node>\\r\\n <div\\r\\n [class.selected]=\\\"isNodeSelected(node)\\\"\\r\\n [title]=\\\"node.title\\\"\\r\\n (click)=\\\"onSelectedNodeChange(node)\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"nodeTemplate; context: { $implicit: node }\\\" />\\r\\n\\r\\n <ng-template #nodeTemplate let-node>\\r\\n <div class=\\\"d-inline-flex align-items-center abp-ellipsis-inline\\\">\\r\\n <ng-container\\r\\n *ngTemplateOutlet=\\\"\\r\\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\\r\\n context: { $implicit: node }\\r\\n \\\"\\r\\n />\\r\\n </div>\\r\\n\\r\\n @if (menu) {\\r\\n <div\\r\\n #dropdown=\\\"ngbDropdown\\\"\\r\\n class=\\\"d-inline-block ms-1\\\"\\r\\n ngbDropdown\\r\\n placement=\\\"bottom\\\"\\r\\n container=\\\"body\\\"\\r\\n (abpInit)=\\\"initDropdown(node.key, dropdown)\\\"\\r\\n >\\r\\n <i\\r\\n class=\\\"fas fa-caret-down text-muted\\\"\\r\\n ngbDropdownToggle\\r\\n [class.dropdown-toggle]=\\\"false\\\"\\r\\n aria-hidden=\\\"true\\\"\\r\\n ></i>\\r\\n <div ngbDropdownMenu>\\r\\n <ng-template *ngTemplateOutlet=\\\"menu; context: { $implicit: node }\\\" />\\r\\n </div>\\r\\n </div>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #defaultNodeTemplate let-node>\\r\\n <span>{{ node.title }}</span>\\r\\n </ng-template>\\r\\n </div>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #defaultIconTemplate let-node let-origin=\\\"origin\\\">\\r\\n <i aria-hidden=\\\"true\\\">\\r\\n <ng-container *ngTemplateOutlet=\\\"node.isExpanded ? minusIcon : plusIcon\\\"\\r\\n /></i>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #minusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm-6.5 10h13v1h-13v-1z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #plusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm.5 10h6v1h-6v6h-1v-6h-6v-1h6v-6h1v6z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\", styles: [\"abp-tree .ant-tree{color:inherit}abp-tree .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:transparent}abp-tree .ant-tree .ant-tree-switcher{line-height:17px;align-items:center;justify-content:center;display:inline-flex}abp-tree .ant-tree .ant-tree-node-content-wrapper{width:100%;padding:0}abp-tree .ant-tree .ant-tree-node-content-wrapper>div{display:flex;padding-right:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}abp-tree .ant-tree .node-wrapper{width:100%;position:relative;display:inline-block;margin:0;line-height:30px;text-decoration:none;vertical-align:top;border-radius:2px;cursor:pointer;padding:0 5px 0 8px;border:1px solid transparent}abp-tree .ant-tree .ellipsis{position:absolute;right:8px;top:1px;cursor:pointer}\\n\"] }]\n }], propDecorators: { menu: [{\n type: ContentChild,\n args: ['menu']\n }], customNodeTemplate: [{\n type: ContentChild,\n args: [TreeNodeTemplateDirective]\n }], expandedIconTemplate: [{\n type: ContentChild,\n args: [ExpandedIconTemplateDirective]\n }], checkedKeysChange: [{\n type: Output\n }], expandedKeysChange: [{\n type: Output\n }], selectedNodeChange: [{\n type: Output\n }], dropOver: [{\n type: Output\n }], nzExpandChange: [{\n type: Output\n }], noAnimation: [{\n type: Input\n }], draggable: [{\n type: Input\n }], checkable: [{\n type: Input\n }], checkStrictly: [{\n type: Input\n }], checkedKeys: [{\n type: Input\n }], nodes: [{\n type: Input\n }], expandedKeys: [{\n type: Input\n }], selectedNode: [{\n type: Input\n }], changeCheckboxWithNode: [{\n type: Input\n }], isNodeSelected: [{\n type: Input\n }], beforeDrop: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi9jb21wb25lbnRzL3RyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3NyYy9saWIvY29tcG9uZW50cy90cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RixPQUFPLEVBR0wsZUFBZSxHQUVoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQXFCekUsTUFBTSxPQUFPLGFBQWE7SUFqQjFCO1FBa0JVLG9CQUFlLEdBQUcs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Q2YsaUJBQWlCO3dCQUNqQixhQUFhO3dCQUNiLHNCQUFzQjtxQkFDdkI7OEJBWXFCLElBQUk7c0JBQXpCLFlBQVk7dUJBQUMsTUFBTTtnQkFDcUIsa0JBQWtCO3NCQUExRCxZQUFZO3VCQUFDLHlCQUF5QjtnQkFDTSxvQkFBb0I7c0JBQWhFLFlBQVk7dUJBQUMsNkJBQTZCO2dCQUN4QixpQkFBaUI7c0JBQW5DLE1BQU07Z0JBQ1ksa0JBQWtCO3NCQUFwQyxNQUFNO2dCQUNZLGtCQUFrQjtzQkFBcEMsTUFBTTtnQkFDWSxRQUFRO3NCQUExQixNQUFNO2dCQUNZLGNBQWM7c0JBQWhDLE1BQU07Z0JBQ0UsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIENvbnRlbnRDaGlsZCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkRyb3Bkb3duLCBOZ2JEcm9wZG93bk1lbnUsIE5nYkRyb3Bkb3duVG9nZ2xlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQge1xyXG4gIE56Rm9ybWF0QmVmb3JlRHJvcEV2ZW50LFxyXG4gIE56Rm9ybWF0RW1pdEV2ZW50LFxyXG4gIE56VHJlZUNvbXBvbmVudCxcclxuICBOelRyZWVOb2RlLFxyXG59IGZyb20gJ25nLXpvcnJvLWFudGQvdHJlZSc7XHJcbmltcG9ydCB7XHJcbiAgSW5pdERpcmVjdGl2ZSxcclxuICBMYXp5TG9hZFNlcnZpY2UsXHJcbiAgTE9BRElOR19TVFJBVEVHWSxcclxuICBTdWJzY3JpcHRpb25TZXJ2aWNlLFxyXG59IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IERJU0FCTEVfVFJFRV9TVFlMRV9MT0FESU5HX1RPS0VOIH0gZnJvbSAnLi4vZGlzYWJsZS10cmVlLXN0eWxlLWxvYWRpbmcudG9rZW4nO1xyXG5pbXBvcnQgeyBUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi4vdGVtcGxhdGVzL3RyZWUtbm9kZS10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBFeHBhbmRlZEljb25UZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL3RlbXBsYXRlcy9leHBhbmRlZC1pY29uLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE56Tm9BbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvbm8tYW5pbWF0aW9uJztcclxuXHJcbmV4cG9ydCB0eXBlIERyb3BFdmVudCA9IE56Rm9ybWF0RW1pdEV2ZW50ICYgeyBwb3M6IG51bWJlciB9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhYnAtdHJlZScsXHJcbiAgdGVtcGxhdGVVcmw6ICd0cmVlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsndHJlZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJvdmlkZXJzOiBbU3Vic2NyaXB0aW9uU2VydmljZV0sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTnpUcmVlQ29tcG9uZW50LFxyXG4gICAgTmdiRHJvcGRvd24sXHJcbiAgICBOZ2JEcm9wZG93bk1lbnUsXHJcbiAgICBOZ2JEcm9wZG93blRvZ2dsZSxcclxuICAgIEluaXREaXJlY3RpdmUsXHJcbiAgICBOek5vQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGxhenlMb2FkU2VydmljZSA9IGluamVjdChMYXp5TG9hZFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uU2VydmljZSA9IGluamVjdChTdWJzY3JpcHRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSBkaXNhYmxlVHJlZVN0eWxlTG9hZGluZyA9IGluamVjdChESVNBQkxFX1RSRUVfU1RZTEVfTE9BRElOR19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuXHJcbiAgZHJvcFBvc2l0aW9uOiBudW1iZXI7XHJcblxyXG4gIGRyb3Bkb3ducyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogTmdiRHJvcGRvd24gfTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnbWVudScpIG1lbnU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQENvbnRlbnRDaGlsZChUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlKSBjdXN0b21Ob2RlVGVtcGxhdGU6IFRyZWVOb2RlVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChFeHBhbmRlZEljb25UZW1wbGF0ZURpcmVjdGl2ZSkgZXhwYW5kZWRJY29uVGVtcGxhdGU6IEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGVja2VkS2V5c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwYW5kZWRLZXlzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWROb2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkcm9wT3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8RHJvcEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBuekV4cGFuZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TnpGb3JtYXRFbWl0RXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbm9BbmltYXRpb24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRyYWdnYWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjaGVja2FibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2hlY2tTdHJpY3RseTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjaGVja2VkS2V5cyA9IFtdO1xyXG4gIEBJbnB1dCgpIG5vZGVzID0gW107XHJcbiAgQElucHV0KCkgZXhwYW5kZWRLZXlzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkTm9kZTogYW55O1xyXG4gIEBJbnB1dCgpIGNoYW5nZUNoZWNrYm94V2l0aE5vZGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNOb2RlU2VsZWN0ZWQgPSBub2RlID0+IHRoaXMuc2VsZWN0ZWROb2RlPy5pZCA9PT0gbm9kZS5rZXk7XHJcbiAgQElucHV0KCkgYmVmb3JlRHJvcCA9IChldmVudDogTnpGb3JtYXRCZWZvcmVEcm9wRXZlbnQpID0+IHtcclxuICAgIHRoaXMuZHJvcFBvc2l0aW9uID0gZXZlbnQucG9zO1xyXG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZFN0eWxlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVUcmVlU3R5bGVMb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGxvYWRlZCQgPSB0aGlzLmxhenlMb2FkU2VydmljZS5sb2FkKFxyXG4gICAgICBMT0FESU5HX1NUUkFURUdZLkFwcGVuZEFub255bW91c1N0eWxlVG9IZWFkKCduZy16b3Jyby1hbnRkLXRyZWUuY3NzJyksXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TZXJ2aWNlLmFkZE9uZShsb2FkZWQkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZE5vZGUodGFyZ2V0OiBhbnksIG5vZGVzOiBhbnlbXSkge1xyXG4gICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcbiAgICAgIGlmIChub2RlLmtleSA9PT0gdGFyZ2V0LmlkKSB7XHJcbiAgICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmZpbmROb2RlKHRhcmdldCwgbm9kZS5jaGlsZHJlbik7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZE5vZGVDaGFuZ2Uobm9kZTogTnpUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBub2RlLm9yaWdpbi5lbnRpdHk7XHJcbiAgICBpZiAodGhpcy5jaGFuZ2VDaGVja2JveFdpdGhOb2RlKSB7XHJcbiAgICAgIGxldCBuZXdWYWw7XHJcbiAgICAgIGlmIChub2RlLmlzQ2hlY2tlZCkge1xyXG4gICAgICAgIG5ld1ZhbCA9IHRoaXMuY2hlY2tlZEtleXMuZmlsdGVyKHggPT4geCAhPT0gbm9kZS5rZXkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1ZhbCA9IFsuLi50aGlzLmNoZWNrZWRLZXlzLCBub2RlLmtleV07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVDaGFuZ2UuZW1pdChub2RlKTtcclxuICAgICAgdGhpcy5jaGVja2VkS2V5cyA9IG5ld1ZhbDtcclxuICAgICAgdGhpcy5jaGVja2VkS2V5c0NoYW5nZS5lbWl0KG5ld1ZhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZUNoYW5nZS5lbWl0KG5vZGUub3JpZ2luLmVudGl0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrYm94Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmNoZWNrZWRLZXlzID0gWy4uLmV2ZW50LmtleXNdO1xyXG4gICAgdGhpcy5jaGVja2VkS2V5c0NoYW5nZS5lbWl0KGV2ZW50LmtleXMpO1xyXG4gIH1cclxuXHJcbiAgb25FeHBhbmRlZEtleXNDaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZXhwYW5kZWRLZXlzID0gWy4uLmV2ZW50LmtleXNdO1xyXG4gICAgdGhpcy5leHBhbmRlZEtleXNDaGFuZ2UuZW1pdChldmVudC5rZXlzKTtcclxuICAgIHRoaXMubnpFeHBhbmRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkRyb3AoZXZlbnQ6IERyb3BFdmVudCkge1xyXG4gICAgZXZlbnQuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQucG9zID0gdGhpcy5kcm9wUG9zaXRpb247XHJcblxyXG4gICAgdGhpcy5kcm9wT3Zlci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGluaXREcm9wZG93bihrZXk6IHN0cmluZywgZHJvcGRvd246IE5nYkRyb3Bkb3duKSB7XHJcbiAgICB0aGlzLmRyb3Bkb3duc1trZXldID0gZHJvcGRvd247XHJcbiAgfVxyXG5cclxuICBvbkNvbnRleHRNZW51Q2hhbmdlKGV2ZW50OiBOekZvcm1hdEVtaXRFdmVudCkge1xyXG4gICAgY29uc3QgZHJvcGRvd25LZXkgPSBldmVudC5ub2RlPy5rZXk7XHJcblxyXG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5kcm9wZG93bnMpLmZvckVhY2goKFtrZXksIGRyb3Bkb3duXSkgPT4ge1xyXG4gICAgICBpZiAoa2V5ICE9PSBkcm9wZG93bktleSAmJiBkcm9wZG93bj8uaXNPcGVuKCkpIHtcclxuICAgICAgICBkcm9wZG93bi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZHJvcGRvd25zW2Ryb3Bkb3duS2V5XT8udG9nZ2xlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZE5vZGUobm9kZTogYW55KSB7XHJcbiAgICBjb25zdCBuZXdTZWxlY3RlZE5vZGUgPSB0aGlzLmZpbmROb2RlKG5vZGUsIHRoaXMubm9kZXMpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB7IC4uLm5ld1NlbGVjdGVkTm9kZSB9O1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuei10cmVlXHJcbiAgW256QmVmb3JlRHJvcF09XCJiZWZvcmVEcm9wXCJcclxuICBbbnpEcmFnZ2FibGVdPVwiZHJhZ2dhYmxlXCJcclxuICBbbnpDaGVja1N0cmljdGx5XT1cImNoZWNrU3RyaWN0bHlcIlxyXG4gIFtuekNoZWNrYWJsZV09XCJjaGVja2FibGVcIlxyXG4gIFtuekNoZWNrZWRLZXlzXT1cImNoZWNrZWRLZXlzXCJcclxuICBbbnpEYXRhXT1cIm5vZGVzXCJcclxuICBbbnpUcmVlVGVtcGxhdGVdPVwidHJlZVRlbXBsYXRlXCJcclxuICBbbnpFeHBhbmRlZEtleXNdPVwiZXhwYW5kZWRLZXlzXCJcclxuICBbbnpFeHBhbmRlZEljb25dPVwiZXhwYW5kZWRJY29uVGVtcGxhdGU/LnRlbXBsYXRlIHx8IGRlZmF1bHRJY29uVGVtcGxhdGVcIlxyXG4gIChuekV4cGFuZENoYW5nZSk9XCJvbkV4cGFuZGVkS2V5c0NoYW5nZSgkZXZlbnQpXCJcclxuICAobnpDaGVja2JveENoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKCRldmVudClcIlxyXG4gIChuek9uRHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgW256Tm9BbmltYXRpb25dPVwibm9BbmltYXRpb25cIlxyXG4gIChuekNvbnRleHRNZW51KT1cIm9uQ29udGV4dE1lbnVDaGFuZ2UoJGV2ZW50KVwiXHJcbi8+XHJcbjxuZy10ZW1wbGF0ZSAjdHJlZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gIDxkaXZcclxuICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc05vZGVTZWxlY3RlZChub2RlKVwiXHJcbiAgICBbdGl0bGVdPVwibm9kZS50aXRsZVwiXHJcbiAgICAoY2xpY2spPVwib25TZWxlY3RlZE5vZGVDaGFuZ2Uobm9kZSlcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBub2RlIH1cIiAvPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1pbmxpbmUtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWJwLWVsbGlwc2lzLWlubGluZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgIGN1c3RvbU5vZGVUZW1wbGF0ZSA/IGN1c3RvbU5vZGVUZW1wbGF0ZT8udGVtcGxhdGUgOiBkZWZhdWx0Tm9kZVRlbXBsYXRlO1xyXG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogbm9kZSB9XHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgQGlmIChtZW51KSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgI2Ryb3Bkb3duPVwibmdiRHJvcGRvd25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBtcy0xXCJcclxuICAgICAgICAgIG5nYkRyb3Bkb3duXHJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAoYWJwSW5pdCk9XCJpbml0RHJvcGRvd24obm9kZS5rZXksIGRyb3Bkb3duKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlcclxuICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtY2FyZXQtZG93biB0ZXh0LW11dGVkXCJcclxuICAgICAgICAgICAgbmdiRHJvcGRvd25Ub2dnbGVcclxuICAgICAgICAgICAgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBub2RlIH1cIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Tm9kZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gICAgICA8c3Bhbj57eyBub2RlLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEljb25UZW1wbGF0ZSBsZXQtbm9kZSBsZXQtb3JpZ2luPVwib3JpZ2luXCI+XHJcbiAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZS5pc0V4cGFuZGVkID8gbWludXNJY29uIDogcGx1c0ljb25cIlxyXG4gIC8+PC9pPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNtaW51c0ljb24+XHJcbiAgPHN2Z1xyXG4gICAgd2lkdGg9XCIxNVwiXHJcbiAgICBoZWlnaHQ9XCIxNVwiXHJcbiAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICA+XHJcbiAgICA8cGF0aFxyXG4gICAgICBkPVwiTTExLjUgMGM2LjM0NyAwIDExLjUgNS4xNTMgMTEuNSAxMS41cy01LjE1MyAxMS41LTExLjUgMTEuNS0xMS41LTUuMTUzLTExLjUtMTEuNSA1LjE1My0xMS41IDExLjUtMTEuNXptMCAxYzUuNzk1IDAgMTAuNSA0LjcwNSAxMC41IDEwLjVzLTQuNzA1IDEwLjUtMTAuNSAxMC41LTEwLjUtNC43MDUtMTAuNS0xMC41IDQuNzA1LTEwLjUgMTAuNS0xMC41em0tNi41IDEwaDEzdjFoLTEzdi0xelwiXHJcbiAgICAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwbHVzSWNvbj5cclxuICA8c3ZnXHJcbiAgICB3aWR0aD1cIjE1XCJcclxuICAgIGhlaWdodD1cIjE1XCJcclxuICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcclxuICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gID5cclxuICAgIDxwYXRoXHJcbiAgICAgIGQ9XCJNMTEuNSAwYzYuMzQ3IDAgMTEuNSA1LjE1MyAxMS41IDExLjVzLTUuMTUzIDExLjUtMTEuNSAxMS41LTExLjUtNS4xNTMtMTEuNS0xMS41IDUuMTUzLTExLjUgMTEuNS0xMS41em0wIDFjNS43OTUgMCAxMC41IDQuNzA1IDEwLjUgMTAuNXMtNC43MDUgMTAuNS0xMC41IDEwLjUtMTAuNS00LjcwNS0xMC41LTEwLjUgNC43MDUtMTAuNSAxMC41LTEwLjV6bS41IDEwaDZ2MWgtNnY2aC0xdi02aC02di0xaDZ2LTZoMXY2elwiXHJcbiAgICAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=","import { NgModule } from '@angular/core';\nimport { TreeComponent } from './components/tree.component';\nimport { ExpandedIconTemplateDirective } from './templates/expanded-icon-template.directive';\nimport { TreeNodeTemplateDirective } from './templates/tree-node-template.directive';\nimport * as i0 from \"@angular/core\";\nexport class TreeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, imports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective], exports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, imports: [TreeComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective],\n exports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective],\n declarations: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFPckYsTUFBTSxPQUFPLFVBQVU7OEdBQVYsVUFBVTsrR0FBVixVQUFVLFlBSlgsYUFBYSxFQUFFLHlCQUF5QixFQUFFLDZCQUE2QixhQUN2RSxhQUFhLEVBQUUseUJBQXlCLEVBQUUsNkJBQTZCOytHQUd0RSxVQUFVLFlBSlgsYUFBYTs7MkZBSVosVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUseUJBQXlCLEVBQUUsNkJBQTZCLENBQUM7b0JBQ2xGLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSw2QkFBNkIsQ0FBQztvQkFDbEYsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZXMvdHJlZS1ub2RlLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtUcmVlQ29tcG9uZW50LCBUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlLCBFeHBhbmRlZEljb25UZW1wbGF0ZURpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW1RyZWVDb21wb25lbnQsIFRyZWVOb2RlVGVtcGxhdGVEaXJlY3RpdmUsIEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZU1vZHVsZSB7fVxyXG4iXX0=","export class BaseNode {\n constructor(id, parentId) {\n this.id = id;\n this.parentId = parentId;\n }\n}\nexport class TreeNode extends BaseNode {\n constructor(entity, nameResolver = ent => ent.displayName || ent.name) {\n super(entity.id, entity.parentId);\n this.entity = entity;\n this.nameResolver = nameResolver;\n this.icon = null;\n this.children = [];\n this.isLeaf = true;\n this.checked = false;\n this.selected = false;\n this.expanded = false;\n this.selectable = true;\n this.disabled = false;\n this.disableCheckbox = false;\n this.key = entity.id;\n this.title = nameResolver(entity);\n }\n}\nexport class TreeAdapter {\n constructor(list = []) {\n this.list = list;\n this.tree = createTreeFromList(this.list);\n }\n getList() {\n return this.list;\n }\n getTree() {\n return this.tree;\n }\n handleDrop({ key, parentNode }) {\n const index = this.list.findIndex(({ id }) => id === key);\n this.list[index].parentId = parentNode ? parentNode.key : null;\n this.tree = createTreeFromList(this.list);\n }\n handleRemove({ key }) {\n this.updateTreeFromList(this.list.filter(item => item.id !== key));\n }\n handleUpdate({ key, children }) {\n /**\n * When we need to update a node with new children, first we need to remove any descendant nodes.\n * If we remove immediate children and create a new tree, any other descendant nodes will be removed\n * and we won't need to recursively remove sub children.\n * Then, you simply add back the new children and create a new tree.\n */\n const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));\n this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));\n }\n updateTreeFromList(list) {\n this.tree = createTreeFromList(list);\n this.list = createListFromTree(this.tree);\n return this.list;\n }\n}\n// UTILITY FUNCTIONS\nfunction createTreeFromList(list) {\n const map = createMapFromList(list);\n const tree = [];\n list.forEach(row => {\n const parentId = row.parentId;\n const node = map.get(row.id);\n if (parentId) {\n const parent = map.get(parentId);\n if (!parent)\n return;\n parent.children.push(node);\n parent.isLeaf = false;\n }\n else {\n tree.push(node);\n }\n });\n return tree;\n}\nfunction createListFromTree(tree, list = []) {\n tree.forEach(node => {\n list.push({ ...node.entity, parentId: node.parentId });\n if (node.children)\n createListFromTree(node.children, list);\n });\n return list;\n}\nfunction createMapFromList(list, map = new Map()) {\n list.forEach(row => map.set(row.id, new TreeNode(row)));\n return map;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotdHJlZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3NyYy9saWIvdXRpbHMvbnotdHJlZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsUUFBUTtJQUk1QixZQUFtQixFQUFVLEVBQVMsUUFBdUI7UUFBMUMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFBRyxDQUFDO0NBQ2xFO0FBRUQsTUFBTSxPQUFPLFFBQTZCLFNBQVEsUUFBUTtJQWN4RCxZQUFtQixNQUFTLEVBQVUsZUFBZSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUk7UUFDckYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQUc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBcUM7UUFYdkYsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDM0IsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUt0QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBb0IsT0FBWSxFQUFFO1FBQWQsU0FBSSxHQUFKLElBQUksQ0FBVTtRQUNoQyxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVSxDQUFDLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBZTtRQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRCxJQUFJLENBQUMsSUFBSSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFlO1FBQy9CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsWUFBWSxDQUFDLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBa0M7UUFDNUQ7Ozs7O1dBS0c7UUFDSCxNQUFNLDhCQUE4QixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUNoRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGtCQUFrQixDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxJQUFTO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELG9CQUFvQjtBQUVwQixTQUFTLGtCQUFrQixDQUFxQixJQUFTO0lBQ3ZELE1BQU0sR0FBRyxHQUFHLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLE1BQU0sSUFBSSxHQUFrQixFQUFFLENBQUM7SUFFL0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNqQixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQzlCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDcEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUNILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQXFCLElBQW1CLEVBQUUsT0FBWSxFQUFFO0lBQ2pGLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixJQUFTLEVBQ1QsTUFBTSxJQUFJLEdBQUcsRUFBdUI7SUFFcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOb2RlIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6IHN0cmluZywgcHVibGljIHBhcmVudElkOiBzdHJpbmcgfCBudWxsKSB7fVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVHJlZU5vZGU8VCBleHRlbmRzIEJhc2VOb2RlPiBleHRlbmRzIEJhc2VOb2RlIHtcclxuICB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGNoaWxkcmVuOiBUcmVlTm9kZTxUPltdID0gW107XHJcbiAgaXNMZWFmID0gdHJ1ZTtcclxuICBjaGVja2VkID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWQgPSBmYWxzZTtcclxuICBleHBhbmRlZCA9IGZhbHNlO1xyXG4gIHNlbGVjdGFibGUgPSB0cnVlO1xyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgZGlzYWJsZUNoZWNrYm94ID0gZmFsc2U7XHJcbiAgcGFyZW50Tm9kZT86IFRyZWVOb2RlPFQ+IHwgbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVudGl0eTogVCwgcHJpdmF0ZSBuYW1lUmVzb2x2ZXIgPSBlbnQgPT4gZW50LmRpc3BsYXlOYW1lIHx8IGVudC5uYW1lKSB7XHJcbiAgICBzdXBlcihlbnRpdHkuaWQsIGVudGl0eS5wYXJlbnRJZCk7XHJcbiAgICB0aGlzLmtleSA9IGVudGl0eS5pZDtcclxuICAgIHRoaXMudGl0bGUgPSBuYW1lUmVzb2x2ZXIoZW50aXR5KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUcmVlQWRhcHRlcjxUIGV4dGVuZHMgQmFzZU5vZGUgPSBCYXNlTm9kZT4ge1xyXG4gIHByaXZhdGUgdHJlZTogVHJlZU5vZGU8VD5bXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsaXN0OiBUW10gPSBbXSkge1xyXG4gICAgdGhpcy50cmVlID0gY3JlYXRlVHJlZUZyb21MaXN0KHRoaXMubGlzdCk7XHJcbiAgfVxyXG5cclxuICBnZXRMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGlzdDtcclxuICB9XHJcblxyXG4gIGdldFRyZWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmVlO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRHJvcCh7IGtleSwgcGFyZW50Tm9kZSB9OiBUcmVlTm9kZTxUPikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3QuZmluZEluZGV4KCh7IGlkIH0pID0+IGlkID09PSBrZXkpO1xyXG4gICAgdGhpcy5saXN0W2luZGV4XS5wYXJlbnRJZCA9IHBhcmVudE5vZGUgPyBwYXJlbnROb2RlLmtleSA6IG51bGw7XHJcbiAgICB0aGlzLnRyZWUgPSBjcmVhdGVUcmVlRnJvbUxpc3QodGhpcy5saXN0KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVJlbW92ZSh7IGtleSB9OiBUcmVlTm9kZTxUPikge1xyXG4gICAgdGhpcy51cGRhdGVUcmVlRnJvbUxpc3QodGhpcy5saXN0LmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IGtleSkpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlVXBkYXRlKHsga2V5LCBjaGlsZHJlbiB9OiB7IGtleTogc3RyaW5nOyBjaGlsZHJlbjogVFtdIH0pIHtcclxuICAgIC8qKlxyXG4gICAgICogV2hlbiB3ZSBuZWVkIHRvIHVwZGF0ZSBhIG5vZGUgd2l0aCBuZXcgY2hpbGRyZW4sIGZpcnN0IHdlIG5lZWQgdG8gcmVtb3ZlIGFueSBkZXNjZW5kYW50IG5vZGVzLlxyXG4gICAgICogSWYgd2UgcmVtb3ZlIGltbWVkaWF0ZSBjaGlsZHJlbiBhbmQgY3JlYXRlIGEgbmV3IHRyZWUsIGFueSBvdGhlciBkZXNjZW5kYW50IG5vZGVzIHdpbGwgYmUgcmVtb3ZlZFxyXG4gICAgICogYW5kIHdlIHdvbid0IG5lZWQgdG8gcmVjdXJzaXZlbHkgcmVtb3ZlIHN1YiBjaGlsZHJlbi5cclxuICAgICAqIFRoZW4sIHlvdSBzaW1wbHkgYWRkIGJhY2sgdGhlIG5ldyBjaGlsZHJlbiBhbmQgY3JlYXRlIGEgbmV3IHRyZWUuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGxpc3RXaXRoRGVzY2VuZGFudE5vZGVzUmVtb3ZlZCA9IHRoaXMudXBkYXRlVHJlZUZyb21MaXN0KFxyXG4gICAgICB0aGlzLmxpc3QuZmlsdGVyKGl0ZW0gPT4gaXRlbS5wYXJlbnRJZCAhPT0ga2V5KSxcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRyZWVGcm9tTGlzdChsaXN0V2l0aERlc2NlbmRhbnROb2Rlc1JlbW92ZWQuY29uY2F0KGNoaWxkcmVuKSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUcmVlRnJvbUxpc3QobGlzdDogVFtdKSB7XHJcbiAgICB0aGlzLnRyZWUgPSBjcmVhdGVUcmVlRnJvbUxpc3QobGlzdCk7XHJcbiAgICB0aGlzLmxpc3QgPSBjcmVhdGVMaXN0RnJvbVRyZWUodGhpcy50cmVlKTtcclxuICAgIHJldHVybiB0aGlzLmxpc3Q7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVVElMSVRZIEZVTkNUSU9OU1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlVHJlZUZyb21MaXN0PFQgZXh0ZW5kcyBCYXNlTm9kZT4obGlzdDogVFtdKTogVHJlZU5vZGU8VD5bXSB7XHJcbiAgY29uc3QgbWFwID0gY3JlYXRlTWFwRnJvbUxpc3QobGlzdCk7XHJcbiAgY29uc3QgdHJlZTogVHJlZU5vZGU8VD5bXSA9IFtdO1xyXG5cclxuICBsaXN0LmZvckVhY2gocm93ID0+IHtcclxuICAgIGNvbnN0IHBhcmVudElkID0gcm93LnBhcmVudElkO1xyXG4gICAgY29uc3Qgbm9kZSA9IG1hcC5nZXQocm93LmlkKTtcclxuICAgIGlmIChwYXJlbnRJZCkge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBtYXAuZ2V0KHBhcmVudElkKTtcclxuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcclxuICAgICAgcGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSk7XHJcbiAgICAgIHBhcmVudC5pc0xlYWYgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyZWUucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9KTtcclxuICByZXR1cm4gdHJlZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlTGlzdEZyb21UcmVlPFQgZXh0ZW5kcyBCYXNlTm9kZT4odHJlZTogVHJlZU5vZGU8VD5bXSwgbGlzdDogVFtdID0gW10pOiBUW10ge1xyXG4gIHRyZWUuZm9yRWFjaChub2RlID0+IHtcclxuICAgIGxpc3QucHVzaCh7IC4uLm5vZGUuZW50aXR5LCBwYXJlbnRJZDogbm9kZS5wYXJlbnRJZCB9KTtcclxuICAgIGlmIChub2RlLmNoaWxkcmVuKSBjcmVhdGVMaXN0RnJvbVRyZWUobm9kZS5jaGlsZHJlbiwgbGlzdCk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBsaXN0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVNYXBGcm9tTGlzdDxUIGV4dGVuZHMgQmFzZU5vZGU+KFxyXG4gIGxpc3Q6IFRbXSxcclxuICBtYXAgPSBuZXcgTWFwPHN0cmluZywgVHJlZU5vZGU8VD4+KCksXHJcbik6IE1hcDxzdHJpbmcsIFRyZWVOb2RlPFQ+PiB7XHJcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiBtYXAuc2V0KHJvdy5pZCwgbmV3IFRyZWVOb2RlKHJvdykpKTtcclxuXHJcbiAgcmV0dXJuIG1hcDtcclxufVxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvbXBvbmVudHMtdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9zcmMvYWJwLW5nLmNvbXBvbmVudHMtdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.components-tree.mjs","sources":["../tmp-esm2022/tree/lib/disable-tree-style-loading.token.js","../tmp-esm2022/tree/lib/templates/tree-node-template.directive.js","../tmp-esm2022/tree/lib/templates/expanded-icon-template.directive.js","../tmp-esm2022/tree/lib/components/tree.component.js","../tmp-esm2022/tree/lib/tree.module.js","../tmp-esm2022/tree/lib/utils/nz-tree-adapter.js","../tmp-esm2022/tree/abp-ng.components-tree.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const DISABLE_TREE_STYLE_LOADING_TOKEN = new InjectionToken('DISABLE_TREE_STYLE_LOADING_TOKEN');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzYWJsZS10cmVlLXN0eWxlLWxvYWRpbmcudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi9kaXNhYmxlLXRyZWUtc3R5bGUtbG9hZGluZy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLElBQUksY0FBYyxDQUNoRSxrQ0FBa0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgY29uc3QgRElTQUJMRV9UUkVFX1NUWUxFX0xPQURJTkdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oXHJcbiAgJ0RJU0FCTEVfVFJFRV9TVFlMRV9MT0FESU5HX1RPS0VOJyxcclxuKTtcclxuIl19","import { Directive, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class TreeNodeTemplateDirective {\n constructor() {\n this.template = inject(TemplateRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeNodeTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: TreeNodeTemplateDirective, isStandalone: true, selector: \"[abpTreeNodeTemplate],[abp-tree-node-template]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeNodeTemplateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[abpTreeNodeTemplate],[abp-tree-node-template]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLXRlbXBsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9zcmMvbGliL3RlbXBsYXRlcy90cmVlLW5vZGUtdGVtcGxhdGUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUlFLGFBQVEsR0FBRyxNQUFNLENBQW1CLFdBQVcsQ0FBQyxDQUFDO0tBRWxEOzhHQUhZLHlCQUF5QjtrR0FBekIseUJBQXlCOzsyRkFBekIseUJBQXlCO2tCQUhyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnREFBZ0Q7aUJBQzNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBUZW1wbGF0ZVJlZiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1thYnBUcmVlTm9kZVRlbXBsYXRlXSxbYWJwLXRyZWUtbm9kZS10ZW1wbGF0ZV0nLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZU5vZGVUZW1wbGF0ZURpcmVjdGl2ZSB7XHIgIHRlbXBsYXRlID0gaW5qZWN0PFRlbXBsYXRlUmVmPGFueT4+KFRlbXBsYXRlUmVmKTtcblxufVxyXG4iXX0=","import { Directive, TemplateRef, inject } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class ExpandedIconTemplateDirective {\n constructor() {\n this.template = inject(TemplateRef);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ExpandedIconTemplateDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: ExpandedIconTemplateDirective, isStandalone: true, selector: \"[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]\", ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: ExpandedIconTemplateDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]',\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90ZW1wbGF0ZXMvZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUsvRCxNQUFNLE9BQU8sNkJBQTZCO0lBSDFDO1FBSUUsYUFBUSxHQUFHLE1BQU0sQ0FBbUIsV0FBVyxDQUFDLENBQUM7S0FFbEQ7OEdBSFksNkJBQTZCO2tHQUE3Qiw2QkFBNkI7OzJGQUE3Qiw2QkFBNkI7a0JBSHpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlFQUFpRTtpQkFDNUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2FicFRyZWVFeHBhbmRlZEljb25UZW1wbGF0ZV0sW2FicC10cmVlLWV4cGFuZGVkLWljb24tdGVtcGxhdGVdJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlIHtcciAgdGVtcGxhdGUgPSBpbmplY3Q8VGVtcGxhdGVSZWY8YW55Pj4oVGVtcGxhdGVSZWYpO1xuXG59XHJcbiJdfQ==","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, EventEmitter, inject, Input, Output, TemplateRef, ViewEncapsulation, } from '@angular/core';\nimport { NgbDropdown, NgbDropdownMenu, NgbDropdownToggle } from '@ng-bootstrap/ng-bootstrap';\nimport { NzTreeComponent, } from 'ng-zorro-antd/tree';\nimport { InitDirective, LazyLoadService, LOADING_STRATEGY, SubscriptionService, } from '@abp/ng.core';\nimport { of } from 'rxjs';\nimport { DISABLE_TREE_STYLE_LOADING_TOKEN } from '../disable-tree-style-loading.token';\nimport { TreeNodeTemplateDirective } from '../templates/tree-node-template.directive';\nimport { ExpandedIconTemplateDirective } from '../templates/expanded-icon-template.directive';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { NzNoAnimationDirective } from 'ng-zorro-antd/core/no-animation';\nimport * as i0 from \"@angular/core\";\nexport class TreeComponent {\n constructor() {\n this.lazyLoadService = inject(LazyLoadService);\n this.subscriptionService = inject(SubscriptionService);\n this.cdr = inject(ChangeDetectorRef);\n this.disableTreeStyleLoading = inject(DISABLE_TREE_STYLE_LOADING_TOKEN, { optional: true });\n this.dropdowns = {};\n this.checkedKeysChange = new EventEmitter();\n this.expandedKeysChange = new EventEmitter();\n this.selectedNodeChange = new EventEmitter();\n this.dropOver = new EventEmitter();\n this.nzExpandChange = new EventEmitter();\n this.noAnimation = true;\n this.checkedKeys = [];\n this.nodes = [];\n this.expandedKeys = [];\n this.isNodeSelected = node => this.selectedNode?.id === node.key;\n this.beforeDrop = (event) => {\n this.dropPosition = event.pos;\n return of(false);\n };\n }\n ngOnInit() {\n this.loadStyle();\n }\n loadStyle() {\n if (this.disableTreeStyleLoading) {\n return;\n }\n const loaded$ = this.lazyLoadService.load(LOADING_STRATEGY.AppendAnonymousStyleToHead('ng-zorro-antd-tree.css'));\n this.subscriptionService.addOne(loaded$);\n }\n findNode(target, nodes) {\n for (const node of nodes) {\n if (node.key === target.id) {\n return node;\n }\n if (node.children) {\n const res = this.findNode(target, node.children);\n if (res) {\n return res;\n }\n }\n }\n return null;\n }\n onSelectedNodeChange(node) {\n this.selectedNode = node.origin.entity;\n if (this.changeCheckboxWithNode) {\n let newVal;\n if (node.isChecked) {\n newVal = this.checkedKeys.filter(x => x !== node.key);\n }\n else {\n newVal = [...this.checkedKeys, node.key];\n }\n this.selectedNodeChange.emit(node);\n this.checkedKeys = newVal;\n this.checkedKeysChange.emit(newVal);\n }\n else {\n this.selectedNodeChange.emit(node.origin.entity);\n }\n }\n onCheckboxChange(event) {\n this.checkedKeys = [...event.keys];\n this.checkedKeysChange.emit(event.keys);\n }\n onExpandedKeysChange(event) {\n this.expandedKeys = [...event.keys];\n this.expandedKeysChange.emit(event.keys);\n this.nzExpandChange.emit(event);\n }\n onDrop(event) {\n event.event.stopPropagation();\n event.event.preventDefault();\n event.pos = this.dropPosition;\n this.dropOver.emit(event);\n }\n initDropdown(key, dropdown) {\n this.dropdowns[key] = dropdown;\n }\n onContextMenuChange(event) {\n const dropdownKey = event.node?.key;\n Object.entries(this.dropdowns).forEach(([key, dropdown]) => {\n if (key !== dropdownKey && dropdown?.isOpen()) {\n dropdown.close();\n }\n });\n this.dropdowns[dropdownKey]?.toggle();\n }\n setSelectedNode(node) {\n const newSelectedNode = this.findNode(node, this.nodes);\n this.selectedNode = { ...newSelectedNode };\n this.cdr.markForCheck();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.0.7\", type: TreeComponent, isStandalone: true, selector: \"abp-tree\", inputs: { noAnimation: \"noAnimation\", draggable: \"draggable\", checkable: \"checkable\", checkStrictly: \"checkStrictly\", checkedKeys: \"checkedKeys\", nodes: \"nodes\", expandedKeys: \"expandedKeys\", selectedNode: \"selectedNode\", changeCheckboxWithNode: \"changeCheckboxWithNode\", isNodeSelected: \"isNodeSelected\", beforeDrop: \"beforeDrop\" }, outputs: { checkedKeysChange: \"checkedKeysChange\", expandedKeysChange: \"expandedKeysChange\", selectedNodeChange: \"selectedNodeChange\", dropOver: \"dropOver\", nzExpandChange: \"nzExpandChange\" }, providers: [SubscriptionService], queries: [{ propertyName: \"menu\", first: true, predicate: [\"menu\"], descendants: true }, { propertyName: \"customNodeTemplate\", first: true, predicate: TreeNodeTemplateDirective, descendants: true }, { propertyName: \"expandedIconTemplate\", first: true, predicate: ExpandedIconTemplateDirective, descendants: true }], ngImport: i0, template: \"<nz-tree\\r\\n [nzBeforeDrop]=\\\"beforeDrop\\\"\\r\\n [nzDraggable]=\\\"draggable\\\"\\r\\n [nzCheckStrictly]=\\\"checkStrictly\\\"\\r\\n [nzCheckable]=\\\"checkable\\\"\\r\\n [nzCheckedKeys]=\\\"checkedKeys\\\"\\r\\n [nzData]=\\\"nodes\\\"\\r\\n [nzTreeTemplate]=\\\"treeTemplate\\\"\\r\\n [nzExpandedKeys]=\\\"expandedKeys\\\"\\r\\n [nzExpandedIcon]=\\\"expandedIconTemplate?.template || defaultIconTemplate\\\"\\r\\n (nzExpandChange)=\\\"onExpandedKeysChange($event)\\\"\\r\\n (nzCheckboxChange)=\\\"onCheckboxChange($event)\\\"\\r\\n (nzOnDrop)=\\\"onDrop($event)\\\"\\r\\n [nzNoAnimation]=\\\"noAnimation\\\"\\r\\n (nzContextMenu)=\\\"onContextMenuChange($event)\\\"\\r\\n/>\\r\\n<ng-template #treeTemplate let-node>\\r\\n <div\\r\\n [class.selected]=\\\"isNodeSelected(node)\\\"\\r\\n [title]=\\\"node.title\\\"\\r\\n (click)=\\\"onSelectedNodeChange(node)\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"nodeTemplate; context: { $implicit: node }\\\" />\\r\\n\\r\\n <ng-template #nodeTemplate let-node>\\r\\n <div class=\\\"d-inline-flex align-items-center abp-ellipsis-inline\\\">\\r\\n <ng-container\\r\\n *ngTemplateOutlet=\\\"\\r\\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\\r\\n context: { $implicit: node }\\r\\n \\\"\\r\\n />\\r\\n </div>\\r\\n\\r\\n @if (menu) {\\r\\n <div\\r\\n #dropdown=\\\"ngbDropdown\\\"\\r\\n class=\\\"d-inline-block ms-1\\\"\\r\\n ngbDropdown\\r\\n placement=\\\"bottom\\\"\\r\\n container=\\\"body\\\"\\r\\n (abpInit)=\\\"initDropdown(node.key, dropdown)\\\"\\r\\n >\\r\\n <i\\r\\n class=\\\"fas fa-caret-down text-muted\\\"\\r\\n ngbDropdownToggle\\r\\n [class.dropdown-toggle]=\\\"false\\\"\\r\\n aria-hidden=\\\"true\\\"\\r\\n ></i>\\r\\n <div ngbDropdownMenu>\\r\\n <ng-template *ngTemplateOutlet=\\\"menu; context: { $implicit: node }\\\" />\\r\\n </div>\\r\\n </div>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #defaultNodeTemplate let-node>\\r\\n <span>{{ node.title }}</span>\\r\\n </ng-template>\\r\\n </div>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #defaultIconTemplate let-node let-origin=\\\"origin\\\">\\r\\n <i aria-hidden=\\\"true\\\">\\r\\n <ng-container *ngTemplateOutlet=\\\"node.isExpanded ? minusIcon : plusIcon\\\"\\r\\n /></i>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #minusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm-6.5 10h13v1h-13v-1z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #plusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm.5 10h6v1h-6v6h-1v-6h-6v-1h6v-6h1v6z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\", styles: [\"abp-tree .ant-tree{color:inherit}abp-tree .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:transparent}abp-tree .ant-tree .ant-tree-switcher{line-height:17px;align-items:center;justify-content:center;display:inline-flex}abp-tree .ant-tree .ant-tree-node-content-wrapper{width:100%;padding:0}abp-tree .ant-tree .ant-tree-node-content-wrapper>div{display:flex;padding-right:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}abp-tree .ant-tree .node-wrapper{width:100%;position:relative;display:inline-block;margin:0;line-height:30px;text-decoration:none;vertical-align:top;border-radius:2px;cursor:pointer;padding:0 5px 0 8px;border:1px solid transparent}abp-tree .ant-tree .ellipsis{position:absolute;right:8px;top:1px;cursor:pointer}\\n\"], dependencies: [{ kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: NzTreeComponent, selector: \"nz-tree\", inputs: [\"nzShowIcon\", \"nzHideUnMatched\", \"nzBlockNode\", \"nzExpandAll\", \"nzSelectMode\", \"nzCheckStrictly\", \"nzShowExpand\", \"nzShowLine\", \"nzCheckable\", \"nzAsyncData\", \"nzDraggable\", \"nzMultiple\", \"nzExpandedIcon\", \"nzVirtualItemSize\", \"nzVirtualMaxBufferPx\", \"nzVirtualMinBufferPx\", \"nzVirtualHeight\", \"nzTreeTemplate\", \"nzBeforeDrop\", \"nzData\", \"nzExpandedKeys\", \"nzSelectedKeys\", \"nzCheckedKeys\", \"nzSearchValue\", \"nzSearchFunc\"], outputs: [\"nzExpandedKeysChange\", \"nzSelectedKeysChange\", \"nzCheckedKeysChange\", \"nzSearchValueChange\", \"nzClick\", \"nzDblClick\", \"nzContextMenu\", \"nzCheckboxChange\", \"nzExpandChange\", \"nzOnDragStart\", \"nzOnDragEnter\", \"nzOnDragOver\", \"nzOnDragLeave\", \"nzOnDrop\", \"nzOnDragEnd\"], exportAs: [\"nzTree\"] }, { kind: \"directive\", type: NgbDropdown, selector: \"[ngbDropdown]\", inputs: [\"autoClose\", \"dropdownClass\", \"open\", \"placement\", \"popperOptions\", \"container\", \"display\"], outputs: [\"openChange\"], exportAs: [\"ngbDropdown\"] }, { kind: \"directive\", type: NgbDropdownMenu, selector: \"[ngbDropdownMenu]\" }, { kind: \"directive\", type: NgbDropdownToggle, selector: \"[ngbDropdownToggle]\" }, { kind: \"directive\", type: InitDirective, selector: \"[abpInit]\", outputs: [\"abpInit\"] }, { kind: \"directive\", type: NzNoAnimationDirective, selector: \"[nzNoAnimation]\", inputs: [\"nzNoAnimation\"], exportAs: [\"nzNoAnimation\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeComponent, decorators: [{\n type: Component,\n args: [{ selector: 'abp-tree', encapsulation: ViewEncapsulation.None, providers: [SubscriptionService], changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n NgTemplateOutlet,\n NzTreeComponent,\n NgbDropdown,\n NgbDropdownMenu,\n NgbDropdownToggle,\n InitDirective,\n NzNoAnimationDirective,\n ], template: \"<nz-tree\\r\\n [nzBeforeDrop]=\\\"beforeDrop\\\"\\r\\n [nzDraggable]=\\\"draggable\\\"\\r\\n [nzCheckStrictly]=\\\"checkStrictly\\\"\\r\\n [nzCheckable]=\\\"checkable\\\"\\r\\n [nzCheckedKeys]=\\\"checkedKeys\\\"\\r\\n [nzData]=\\\"nodes\\\"\\r\\n [nzTreeTemplate]=\\\"treeTemplate\\\"\\r\\n [nzExpandedKeys]=\\\"expandedKeys\\\"\\r\\n [nzExpandedIcon]=\\\"expandedIconTemplate?.template || defaultIconTemplate\\\"\\r\\n (nzExpandChange)=\\\"onExpandedKeysChange($event)\\\"\\r\\n (nzCheckboxChange)=\\\"onCheckboxChange($event)\\\"\\r\\n (nzOnDrop)=\\\"onDrop($event)\\\"\\r\\n [nzNoAnimation]=\\\"noAnimation\\\"\\r\\n (nzContextMenu)=\\\"onContextMenuChange($event)\\\"\\r\\n/>\\r\\n<ng-template #treeTemplate let-node>\\r\\n <div\\r\\n [class.selected]=\\\"isNodeSelected(node)\\\"\\r\\n [title]=\\\"node.title\\\"\\r\\n (click)=\\\"onSelectedNodeChange(node)\\\"\\r\\n >\\r\\n <ng-container *ngTemplateOutlet=\\\"nodeTemplate; context: { $implicit: node }\\\" />\\r\\n\\r\\n <ng-template #nodeTemplate let-node>\\r\\n <div class=\\\"d-inline-flex align-items-center abp-ellipsis-inline\\\">\\r\\n <ng-container\\r\\n *ngTemplateOutlet=\\\"\\r\\n customNodeTemplate ? customNodeTemplate?.template : defaultNodeTemplate;\\r\\n context: { $implicit: node }\\r\\n \\\"\\r\\n />\\r\\n </div>\\r\\n\\r\\n @if (menu) {\\r\\n <div\\r\\n #dropdown=\\\"ngbDropdown\\\"\\r\\n class=\\\"d-inline-block ms-1\\\"\\r\\n ngbDropdown\\r\\n placement=\\\"bottom\\\"\\r\\n container=\\\"body\\\"\\r\\n (abpInit)=\\\"initDropdown(node.key, dropdown)\\\"\\r\\n >\\r\\n <i\\r\\n class=\\\"fas fa-caret-down text-muted\\\"\\r\\n ngbDropdownToggle\\r\\n [class.dropdown-toggle]=\\\"false\\\"\\r\\n aria-hidden=\\\"true\\\"\\r\\n ></i>\\r\\n <div ngbDropdownMenu>\\r\\n <ng-template *ngTemplateOutlet=\\\"menu; context: { $implicit: node }\\\" />\\r\\n </div>\\r\\n </div>\\r\\n }\\r\\n </ng-template>\\r\\n\\r\\n <ng-template #defaultNodeTemplate let-node>\\r\\n <span>{{ node.title }}</span>\\r\\n </ng-template>\\r\\n </div>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #defaultIconTemplate let-node let-origin=\\\"origin\\\">\\r\\n <i aria-hidden=\\\"true\\\">\\r\\n <ng-container *ngTemplateOutlet=\\\"node.isExpanded ? minusIcon : plusIcon\\\"\\r\\n /></i>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #minusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm-6.5 10h13v1h-13v-1z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\\r\\n<ng-template #plusIcon>\\r\\n <svg\\r\\n width=\\\"15\\\"\\r\\n height=\\\"15\\\"\\r\\n viewBox=\\\"0 0 24 24\\\"\\r\\n xmlns=\\\"http://www.w3.org/2000/svg\\\"\\r\\n fill-rule=\\\"evenodd\\\"\\r\\n clip-rule=\\\"evenodd\\\"\\r\\n >\\r\\n <path\\r\\n d=\\\"M11.5 0c6.347 0 11.5 5.153 11.5 11.5s-5.153 11.5-11.5 11.5-11.5-5.153-11.5-11.5 5.153-11.5 11.5-11.5zm0 1c5.795 0 10.5 4.705 10.5 10.5s-4.705 10.5-10.5 10.5-10.5-4.705-10.5-10.5 4.705-10.5 10.5-10.5zm.5 10h6v1h-6v6h-1v-6h-6v-1h6v-6h1v6z\\\"\\r\\n />\\r\\n </svg>\\r\\n</ng-template>\\r\\n\", styles: [\"abp-tree .ant-tree{color:inherit}abp-tree .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background-color:transparent}abp-tree .ant-tree .ant-tree-switcher{line-height:17px;align-items:center;justify-content:center;display:inline-flex}abp-tree .ant-tree .ant-tree-node-content-wrapper{width:100%;padding:0}abp-tree .ant-tree .ant-tree-node-content-wrapper>div{display:flex;padding-right:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}abp-tree .ant-tree .node-wrapper{width:100%;position:relative;display:inline-block;margin:0;line-height:30px;text-decoration:none;vertical-align:top;border-radius:2px;cursor:pointer;padding:0 5px 0 8px;border:1px solid transparent}abp-tree .ant-tree .ellipsis{position:absolute;right:8px;top:1px;cursor:pointer}\\n\"] }]\n }], propDecorators: { menu: [{\n type: ContentChild,\n args: ['menu']\n }], customNodeTemplate: [{\n type: ContentChild,\n args: [TreeNodeTemplateDirective]\n }], expandedIconTemplate: [{\n type: ContentChild,\n args: [ExpandedIconTemplateDirective]\n }], checkedKeysChange: [{\n type: Output\n }], expandedKeysChange: [{\n type: Output\n }], selectedNodeChange: [{\n type: Output\n }], dropOver: [{\n type: Output\n }], nzExpandChange: [{\n type: Output\n }], noAnimation: [{\n type: Input\n }], draggable: [{\n type: Input\n }], checkable: [{\n type: Input\n }], checkStrictly: [{\n type: Input\n }], checkedKeys: [{\n type: Input\n }], nodes: [{\n type: Input\n }], expandedKeys: [{\n type: Input\n }], selectedNode: [{\n type: Input\n }], changeCheckboxWithNode: [{\n type: Input\n }], isNodeSelected: [{\n type: Input\n }], beforeDrop: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi9jb21wb25lbnRzL3RyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3NyYy9saWIvY29tcG9uZW50cy90cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFDWCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RixPQUFPLEVBR0wsZUFBZSxHQUVoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQixtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM5RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFxQnpFLE1BQU0sT0FBTyxhQUFhO0lBakIxQjtRQWtCVSxvQkFBZSxHQUFH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QUFlO3dCQUNmLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixzQkFBc0I7cUJBQ3ZCOzhCQVlxQixJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBQ3FCLGtCQUFrQjtzQkFBMUQsWUFBWTt1QkFBQyx5QkFBeUI7Z0JBQ00sb0JBQW9CO3NCQUFoRSxZQUFZO3VCQUFDLDZCQUE2QjtnQkFDeEIsaUJBQWlCO3NCQUFuQyxNQUFNO2dCQUNZLGtCQUFrQjtzQkFBcEMsTUFBTTtnQkFDWSxrQkFBa0I7c0JBQXBDLE1BQU07Z0JBQ1ksUUFBUTtzQkFBMUIsTUFBTTtnQkFDWSxjQUFjO3NCQUFoQyxNQUFNO2dCQUNFLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JEcm9wZG93biwgTmdiRHJvcGRvd25NZW51LCBOZ2JEcm9wZG93blRvZ2dsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuaW1wb3J0IHtcclxuICBOekZvcm1hdEJlZm9yZURyb3BFdmVudCxcclxuICBOekZvcm1hdEVtaXRFdmVudCxcclxuICBOelRyZWVDb21wb25lbnQsXHJcbiAgTnpUcmVlTm9kZSxcclxufSBmcm9tICduZy16b3Jyby1hbnRkL3RyZWUnO1xyXG5pbXBvcnQge1xyXG4gIEluaXREaXJlY3RpdmUsXHJcbiAgTGF6eUxvYWRTZXJ2aWNlLFxyXG4gIExPQURJTkdfU1RSQVRFR1ksXHJcbiAgU3Vic2NyaXB0aW9uU2VydmljZSxcclxufSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBESVNBQkxFX1RSRUVfU1RZTEVfTE9BRElOR19UT0tFTiB9IGZyb20gJy4uL2Rpc2FibGUtdHJlZS1zdHlsZS1sb2FkaW5nLnRva2VuJztcclxuaW1wb3J0IHsgVHJlZU5vZGVUZW1wbGF0ZURpcmVjdGl2ZSB9IGZyb20gJy4uL3RlbXBsYXRlcy90cmVlLW5vZGUtdGVtcGxhdGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRXhwYW5kZWRJY29uVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi90ZW1wbGF0ZXMvZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTnpOb0FuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9uby1hbmltYXRpb24nO1xyXG5cclxuZXhwb3J0IHR5cGUgRHJvcEV2ZW50ID0gTnpGb3JtYXRFbWl0RXZlbnQgJiB7IHBvczogbnVtYmVyIH07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC10cmVlJyxcclxuICB0ZW1wbGF0ZVVybDogJ3RyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWyd0cmVlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBwcm92aWRlcnM6IFtTdWJzY3JpcHRpb25TZXJ2aWNlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxyXG4gICAgTnpUcmVlQ29tcG9uZW50LFxyXG4gICAgTmdiRHJvcGRvd24sXHJcbiAgICBOZ2JEcm9wZG93bk1lbnUsXHJcbiAgICBOZ2JEcm9wZG93blRvZ2dsZSxcclxuICAgIEluaXREaXJlY3RpdmUsXHJcbiAgICBOek5vQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmVlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwcml2YXRlIGxhenlMb2FkU2VydmljZSA9IGluamVjdChMYXp5TG9hZFNlcnZpY2UpO1xyXG4gIHByaXZhdGUgc3Vic2NyaXB0aW9uU2VydmljZSA9IGluamVjdChTdWJzY3JpcHRpb25TZXJ2aWNlKTtcclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSBkaXNhYmxlVHJlZVN0eWxlTG9hZGluZyA9IGluamVjdChESVNBQkxFX1RSRUVfU1RZTEVfTE9BRElOR19UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuXHJcbiAgZHJvcFBvc2l0aW9uOiBudW1iZXI7XHJcblxyXG4gIGRyb3Bkb3ducyA9IHt9IGFzIHsgW2tleTogc3RyaW5nXTogTmdiRHJvcGRvd24gfTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnbWVudScpIG1lbnU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQENvbnRlbnRDaGlsZChUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlKSBjdXN0b21Ob2RlVGVtcGxhdGU6IFRyZWVOb2RlVGVtcGxhdGVEaXJlY3RpdmU7XHJcbiAgQENvbnRlbnRDaGlsZChFeHBhbmRlZEljb25UZW1wbGF0ZURpcmVjdGl2ZSkgZXhwYW5kZWRJY29uVGVtcGxhdGU6IEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGVja2VkS2V5c0NoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgZXhwYW5kZWRLZXlzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmdbXT4oKTtcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgc2VsZWN0ZWROb2RlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBkcm9wT3ZlciA9IG5ldyBFdmVudEVtaXR0ZXI8RHJvcEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBuekV4cGFuZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8TnpGb3JtYXRFbWl0RXZlbnQ+KCk7XHJcbiAgQElucHV0KCkgbm9BbmltYXRpb24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRyYWdnYWJsZTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjaGVja2FibGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2hlY2tTdHJpY3RseTogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjaGVja2VkS2V5cyA9IFtdO1xyXG4gIEBJbnB1dCgpIG5vZGVzID0gW107XHJcbiAgQElucHV0KCkgZXhwYW5kZWRLZXlzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNlbGVjdGVkTm9kZTogYW55O1xyXG4gIEBJbnB1dCgpIGNoYW5nZUNoZWNrYm94V2l0aE5vZGU6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNOb2RlU2VsZWN0ZWQgPSBub2RlID0+IHRoaXMuc2VsZWN0ZWROb2RlPy5pZCA9PT0gbm9kZS5rZXk7XHJcbiAgQElucHV0KCkgYmVmb3JlRHJvcCA9IChldmVudDogTnpGb3JtYXRCZWZvcmVEcm9wRXZlbnQpID0+IHtcclxuICAgIHRoaXMuZHJvcFBvc2l0aW9uID0gZXZlbnQucG9zO1xyXG4gICAgcmV0dXJuIG9mKGZhbHNlKTtcclxuICB9O1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZFN0eWxlKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGxvYWRTdHlsZSgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVUcmVlU3R5bGVMb2FkaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGxvYWRlZCQgPSB0aGlzLmxhenlMb2FkU2VydmljZS5sb2FkKFxyXG4gICAgICBMT0FESU5HX1NUUkFURUdZLkFwcGVuZEFub255bW91c1N0eWxlVG9IZWFkKCduZy16b3Jyby1hbnRkLXRyZWUuY3NzJyksXHJcbiAgICApO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25TZXJ2aWNlLmFkZE9uZShsb2FkZWQkKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZE5vZGUodGFyZ2V0OiBhbnksIG5vZGVzOiBhbnlbXSkge1xyXG4gICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XHJcbiAgICAgIGlmIChub2RlLmtleSA9PT0gdGFyZ2V0LmlkKSB7XHJcbiAgICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcclxuICAgICAgICBjb25zdCByZXMgPSB0aGlzLmZpbmROb2RlKHRhcmdldCwgbm9kZS5jaGlsZHJlbik7XHJcbiAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgcmV0dXJuIHJlcztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RlZE5vZGVDaGFuZ2Uobm9kZTogTnpUcmVlTm9kZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSBub2RlLm9yaWdpbi5lbnRpdHk7XHJcbiAgICBpZiAodGhpcy5jaGFuZ2VDaGVja2JveFdpdGhOb2RlKSB7XHJcbiAgICAgIGxldCBuZXdWYWw7XHJcbiAgICAgIGlmIChub2RlLmlzQ2hlY2tlZCkge1xyXG4gICAgICAgIG5ld1ZhbCA9IHRoaXMuY2hlY2tlZEtleXMuZmlsdGVyKHggPT4geCAhPT0gbm9kZS5rZXkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIG5ld1ZhbCA9IFsuLi50aGlzLmNoZWNrZWRLZXlzLCBub2RlLmtleV07XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zZWxlY3RlZE5vZGVDaGFuZ2UuZW1pdChub2RlKTtcclxuICAgICAgdGhpcy5jaGVja2VkS2V5cyA9IG5ld1ZhbDtcclxuICAgICAgdGhpcy5jaGVja2VkS2V5c0NoYW5nZS5lbWl0KG5ld1ZhbCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZUNoYW5nZS5lbWl0KG5vZGUub3JpZ2luLmVudGl0eSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrYm94Q2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmNoZWNrZWRLZXlzID0gWy4uLmV2ZW50LmtleXNdO1xyXG4gICAgdGhpcy5jaGVja2VkS2V5c0NoYW5nZS5lbWl0KGV2ZW50LmtleXMpO1xyXG4gIH1cclxuXHJcbiAgb25FeHBhbmRlZEtleXNDaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZXhwYW5kZWRLZXlzID0gWy4uLmV2ZW50LmtleXNdO1xyXG4gICAgdGhpcy5leHBhbmRlZEtleXNDaGFuZ2UuZW1pdChldmVudC5rZXlzKTtcclxuICAgIHRoaXMubnpFeHBhbmRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBvbkRyb3AoZXZlbnQ6IERyb3BFdmVudCkge1xyXG4gICAgZXZlbnQuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBldmVudC5ldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQucG9zID0gdGhpcy5kcm9wUG9zaXRpb247XHJcblxyXG4gICAgdGhpcy5kcm9wT3Zlci5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGluaXREcm9wZG93bihrZXk6IHN0cmluZywgZHJvcGRvd246IE5nYkRyb3Bkb3duKSB7XHJcbiAgICB0aGlzLmRyb3Bkb3duc1trZXldID0gZHJvcGRvd247XHJcbiAgfVxyXG5cclxuICBvbkNvbnRleHRNZW51Q2hhbmdlKGV2ZW50OiBOekZvcm1hdEVtaXRFdmVudCkge1xyXG4gICAgY29uc3QgZHJvcGRvd25LZXkgPSBldmVudC5ub2RlPy5rZXk7XHJcblxyXG4gICAgT2JqZWN0LmVudHJpZXModGhpcy5kcm9wZG93bnMpLmZvckVhY2goKFtrZXksIGRyb3Bkb3duXSkgPT4ge1xyXG4gICAgICBpZiAoa2V5ICE9PSBkcm9wZG93bktleSAmJiBkcm9wZG93bj8uaXNPcGVuKCkpIHtcclxuICAgICAgICBkcm9wZG93bi5jbG9zZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZHJvcGRvd25zW2Ryb3Bkb3duS2V5XT8udG9nZ2xlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZE5vZGUobm9kZTogYW55KSB7XHJcbiAgICBjb25zdCBuZXdTZWxlY3RlZE5vZGUgPSB0aGlzLmZpbmROb2RlKG5vZGUsIHRoaXMubm9kZXMpO1xyXG4gICAgdGhpcy5zZWxlY3RlZE5vZGUgPSB7IC4uLm5ld1NlbGVjdGVkTm9kZSB9O1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxuei10cmVlXHJcbiAgW256QmVmb3JlRHJvcF09XCJiZWZvcmVEcm9wXCJcclxuICBbbnpEcmFnZ2FibGVdPVwiZHJhZ2dhYmxlXCJcclxuICBbbnpDaGVja1N0cmljdGx5XT1cImNoZWNrU3RyaWN0bHlcIlxyXG4gIFtuekNoZWNrYWJsZV09XCJjaGVja2FibGVcIlxyXG4gIFtuekNoZWNrZWRLZXlzXT1cImNoZWNrZWRLZXlzXCJcclxuICBbbnpEYXRhXT1cIm5vZGVzXCJcclxuICBbbnpUcmVlVGVtcGxhdGVdPVwidHJlZVRlbXBsYXRlXCJcclxuICBbbnpFeHBhbmRlZEtleXNdPVwiZXhwYW5kZWRLZXlzXCJcclxuICBbbnpFeHBhbmRlZEljb25dPVwiZXhwYW5kZWRJY29uVGVtcGxhdGU/LnRlbXBsYXRlIHx8IGRlZmF1bHRJY29uVGVtcGxhdGVcIlxyXG4gIChuekV4cGFuZENoYW5nZSk9XCJvbkV4cGFuZGVkS2V5c0NoYW5nZSgkZXZlbnQpXCJcclxuICAobnpDaGVja2JveENoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKCRldmVudClcIlxyXG4gIChuek9uRHJvcCk9XCJvbkRyb3AoJGV2ZW50KVwiXHJcbiAgW256Tm9BbmltYXRpb25dPVwibm9BbmltYXRpb25cIlxyXG4gIChuekNvbnRleHRNZW51KT1cIm9uQ29udGV4dE1lbnVDaGFuZ2UoJGV2ZW50KVwiXHJcbi8+XHJcbjxuZy10ZW1wbGF0ZSAjdHJlZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gIDxkaXZcclxuICAgIFtjbGFzcy5zZWxlY3RlZF09XCJpc05vZGVTZWxlY3RlZChub2RlKVwiXHJcbiAgICBbdGl0bGVdPVwibm9kZS50aXRsZVwiXHJcbiAgICAoY2xpY2spPVwib25TZWxlY3RlZE5vZGVDaGFuZ2Uobm9kZSlcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBub2RlIH1cIiAvPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbm9kZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1pbmxpbmUtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgYWJwLWVsbGlwc2lzLWlubGluZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXHJcbiAgICAgICAgICAgIGN1c3RvbU5vZGVUZW1wbGF0ZSA/IGN1c3RvbU5vZGVUZW1wbGF0ZT8udGVtcGxhdGUgOiBkZWZhdWx0Tm9kZVRlbXBsYXRlO1xyXG4gICAgICAgICAgICBjb250ZXh0OiB7ICRpbXBsaWNpdDogbm9kZSB9XHJcbiAgICAgICAgICBcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgQGlmIChtZW51KSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgI2Ryb3Bkb3duPVwibmdiRHJvcGRvd25cIlxyXG4gICAgICAgICAgY2xhc3M9XCJkLWlubGluZS1ibG9jayBtcy0xXCJcclxuICAgICAgICAgIG5nYkRyb3Bkb3duXHJcbiAgICAgICAgICBwbGFjZW1lbnQ9XCJib3R0b21cIlxyXG4gICAgICAgICAgY29udGFpbmVyPVwiYm9keVwiXHJcbiAgICAgICAgICAoYWJwSW5pdCk9XCJpbml0RHJvcGRvd24obm9kZS5rZXksIGRyb3Bkb3duKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlcclxuICAgICAgICAgICAgY2xhc3M9XCJmYXMgZmEtY2FyZXQtZG93biB0ZXh0LW11dGVkXCJcclxuICAgICAgICAgICAgbmdiRHJvcGRvd25Ub2dnbGVcclxuICAgICAgICAgICAgW2NsYXNzLmRyb3Bkb3duLXRvZ2dsZV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXHJcbiAgICAgICAgICA+PC9pPlxyXG4gICAgICAgICAgPGRpdiBuZ2JEcm9wZG93bk1lbnU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm1lbnU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBub2RlIH1cIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNkZWZhdWx0Tm9kZVRlbXBsYXRlIGxldC1ub2RlPlxyXG4gICAgICA8c3Bhbj57eyBub2RlLnRpdGxlIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEljb25UZW1wbGF0ZSBsZXQtbm9kZSBsZXQtb3JpZ2luPVwib3JpZ2luXCI+XHJcbiAgPGkgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZS5pc0V4cGFuZGVkID8gbWludXNJY29uIDogcGx1c0ljb25cIlxyXG4gIC8+PC9pPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNtaW51c0ljb24+XHJcbiAgPHN2Z1xyXG4gICAgd2lkdGg9XCIxNVwiXHJcbiAgICBoZWlnaHQ9XCIxNVwiXHJcbiAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgZmlsbC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICA+XHJcbiAgICA8cGF0aFxyXG4gICAgICBkPVwiTTExLjUgMGM2LjM0NyAwIDExLjUgNS4xNTMgMTEuNSAxMS41cy01LjE1MyAxMS41LTExLjUgMTEuNS0xMS41LTUuMTUzLTExLjUtMTEuNSA1LjE1My0xMS41IDExLjUtMTEuNXptMCAxYzUuNzk1IDAgMTAuNSA0LjcwNSAxMC41IDEwLjVzLTQuNzA1IDEwLjUtMTAuNSAxMC41LTEwLjUtNC43MDUtMTAuNS0xMC41IDQuNzA1LTEwLjUgMTAuNS0xMC41em0tNi41IDEwaDEzdjFoLTEzdi0xelwiXHJcbiAgICAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNwbHVzSWNvbj5cclxuICA8c3ZnXHJcbiAgICB3aWR0aD1cIjE1XCJcclxuICAgIGhlaWdodD1cIjE1XCJcclxuICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxyXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICBmaWxsLXJ1bGU9XCJldmVub2RkXCJcclxuICAgIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gID5cclxuICAgIDxwYXRoXHJcbiAgICAgIGQ9XCJNMTEuNSAwYzYuMzQ3IDAgMTEuNSA1LjE1MyAxMS41IDExLjVzLTUuMTUzIDExLjUtMTEuNSAxMS41LTExLjUtNS4xNTMtMTEuNS0xMS41IDUuMTUzLTExLjUgMTEuNS0xMS41em0wIDFjNS43OTUgMCAxMC41IDQuNzA1IDEwLjUgMTAuNXMtNC43MDUgMTAuNS0xMC41IDEwLjUtMTAuNS00LjcwNS0xMC41LTEwLjUgNC43MDUtMTAuNSAxMC41LTEwLjV6bS41IDEwaDZ2MWgtNnY2aC0xdi02aC02di0xaDZ2LTZoMXY2elwiXHJcbiAgICAvPlxyXG4gIDwvc3ZnPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=","import { NgModule } from '@angular/core';\nimport { TreeComponent } from './components/tree.component';\nimport { ExpandedIconTemplateDirective } from './templates/expanded-icon-template.directive';\nimport { TreeNodeTemplateDirective } from './templates/tree-node-template.directive';\nimport * as i0 from \"@angular/core\";\nexport class TreeModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, imports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective], exports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, imports: [TreeComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: TreeModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective],\n exports: [TreeComponent, TreeNodeTemplateDirective, ExpandedIconTemplateDirective],\n declarations: [],\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21wb25lbnRzL3RyZWUvc3JjL2xpYi90cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUM3RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7QUFPckYsTUFBTSxPQUFPLFVBQVU7OEdBQVYsVUFBVTsrR0FBVixVQUFVLFlBSlgsYUFBYSxFQUFFLHlCQUF5QixFQUFFLDZCQUE2QixhQUN2RSxhQUFhLEVBQUUseUJBQXlCLEVBQUUsNkJBQTZCOytHQUd0RSxVQUFVLFlBSlgsYUFBYTs7MkZBSVosVUFBVTtrQkFMdEIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUseUJBQXlCLEVBQUUsNkJBQTZCLENBQUM7b0JBQ2xGLE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSx5QkFBeUIsRUFBRSw2QkFBNkIsQ0FBQztvQkFDbEYsWUFBWSxFQUFFLEVBQUU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJlZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZXMvZXhwYW5kZWQtaWNvbi10ZW1wbGF0ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi90ZW1wbGF0ZXMvdHJlZS1ub2RlLXRlbXBsYXRlLmRpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtUcmVlQ29tcG9uZW50LCBUcmVlTm9kZVRlbXBsYXRlRGlyZWN0aXZlLCBFeHBhbmRlZEljb25UZW1wbGF0ZURpcmVjdGl2ZV0sXHJcbiAgZXhwb3J0czogW1RyZWVDb21wb25lbnQsIFRyZWVOb2RlVGVtcGxhdGVEaXJlY3RpdmUsIEV4cGFuZGVkSWNvblRlbXBsYXRlRGlyZWN0aXZlXSxcclxuICBkZWNsYXJhdGlvbnM6IFtdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZU1vZHVsZSB7fVxyXG4iXX0=","export class BaseNode {\n constructor(id, parentId) {\n this.id = id;\n this.parentId = parentId;\n }\n}\nexport class TreeNode extends BaseNode {\n constructor(entity, nameResolver = ent => ent.displayName || ent.name) {\n super(entity.id, entity.parentId);\n this.entity = entity;\n this.nameResolver = nameResolver;\n this.icon = null;\n this.children = [];\n this.isLeaf = true;\n this.checked = false;\n this.selected = false;\n this.expanded = false;\n this.selectable = true;\n this.disabled = false;\n this.disableCheckbox = false;\n this.key = entity.id;\n this.title = nameResolver(entity);\n }\n}\nexport class TreeAdapter {\n constructor(list = []) {\n this.list = list;\n this.tree = createTreeFromList(this.list);\n }\n getList() {\n return this.list;\n }\n getTree() {\n return this.tree;\n }\n handleDrop({ key, parentNode }) {\n const index = this.list.findIndex(({ id }) => id === key);\n this.list[index].parentId = parentNode ? parentNode.key : null;\n this.tree = createTreeFromList(this.list);\n }\n handleRemove({ key }) {\n this.updateTreeFromList(this.list.filter(item => item.id !== key));\n }\n handleUpdate({ key, children }) {\n /**\n * When we need to update a node with new children, first we need to remove any descendant nodes.\n * If we remove immediate children and create a new tree, any other descendant nodes will be removed\n * and we won't need to recursively remove sub children.\n * Then, you simply add back the new children and create a new tree.\n */\n const listWithDescendantNodesRemoved = this.updateTreeFromList(this.list.filter(item => item.parentId !== key));\n this.updateTreeFromList(listWithDescendantNodesRemoved.concat(children));\n }\n updateTreeFromList(list) {\n this.tree = createTreeFromList(list);\n this.list = createListFromTree(this.tree);\n return this.list;\n }\n}\n// UTILITY FUNCTIONS\nfunction createTreeFromList(list) {\n const map = createMapFromList(list);\n const tree = [];\n list.forEach(row => {\n const parentId = row.parentId;\n const node = map.get(row.id);\n if (parentId) {\n const parent = map.get(parentId);\n if (!parent)\n return;\n parent.children.push(node);\n parent.isLeaf = false;\n }\n else {\n tree.push(node);\n }\n });\n return tree;\n}\nfunction createListFromTree(tree, list = []) {\n tree.forEach(node => {\n list.push({ ...node.entity, parentId: node.parentId });\n if (node.children)\n createListFromTree(node.children, list);\n });\n return list;\n}\nfunction createMapFromList(list, map = new Map()) {\n list.forEach(row => map.set(row.id, new TreeNode(row)));\n return map;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotdHJlZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcG9uZW50cy90cmVlL3NyYy9saWIvdXRpbHMvbnotdHJlZS1hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBZ0IsUUFBUTtJQUk1QixZQUFtQixFQUFVLEVBQVMsUUFBdUI7UUFBMUMsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWU7SUFBRyxDQUFDO0NBQ2xFO0FBRUQsTUFBTSxPQUFPLFFBQTZCLFNBQVEsUUFBUTtJQWN4RCxZQUFtQixNQUFTLEVBQVUsZUFBZSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUk7UUFDckYsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRGpCLFdBQU0sR0FBTixNQUFNLENBQUc7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBcUM7UUFYdkYsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDM0IsYUFBUSxHQUFrQixFQUFFLENBQUM7UUFDN0IsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNkLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUt0QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFHdEIsWUFBb0IsT0FB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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDbEIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsUUFBUTtZQUFFLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUN4QixJQUFTLEVBQ1QsTUFBTSxJQUFJLEdBQUcsRUFBdUI7SUFFcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFeEQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJhc2VOb2RlIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6IHN0cmluZywgcHVibGljIHBhcmVudElkOiBzdHJpbmcgfCBudWxsKSB7fVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVHJlZU5vZGU8VCBleHRlbmRzIEJhc2VOb2RlPiBleHRlbmRzIEJhc2VOb2RlIHtcclxuICB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIGNoaWxkcmVuOiBUcmVlTm9kZTxUPltdID0gW107XHJcbiAgaXNMZWFmID0gdHJ1ZTtcclxuICBjaGVja2VkID0gZmFsc2U7XHJcbiAgc2VsZWN0ZWQgPSBmYWxzZTtcclxuICBleHBhbmRlZCA9IGZhbHNlO1xyXG4gIHNlbGVjdGFibGUgPSB0cnVlO1xyXG4gIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgZGlzYWJsZUNoZWNrYm94ID0gZmFsc2U7XHJcbiAgcGFyZW50Tm9kZT86IFRyZWVOb2RlPFQ+IHwgbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGVudGl0eTogVCwgcHJpdmF0ZSBuYW1lUmVzb2x2ZXIgPSBlbnQgPT4gZW50LmRpc3BsYXlOYW1lIHx8IGVudC5uYW1lKSB7XHJcbiAgICBzdXBlcihlbnRpdHkuaWQsIGVudGl0eS5wYXJlbnRJZCk7XHJcbiAgICB0aGlzLmtleSA9IGVudGl0eS5pZDtcclxuICAgIHRoaXMudGl0bGUgPSBuYW1lUmVzb2x2ZXIoZW50aXR5KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUcmVlQWRhcHRlcjxUIGV4dGVuZHMgQmFzZU5vZGUgPSBCYXNlTm9kZT4ge1xyXG4gIHByaXZhdGUgdHJlZTogVHJlZU5vZGU8VD5bXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsaXN0OiBUW10gPSBbXSkge1xyXG4gICAgdGhpcy50cmVlID0gY3JlYXRlVHJlZUZyb21MaXN0KHRoaXMubGlzdCk7XHJcbiAgfVxyXG5cclxuICBnZXRMaXN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGlzdDtcclxuICB9XHJcblxyXG4gIGdldFRyZWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy50cmVlO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRHJvcCh7IGtleSwgcGFyZW50Tm9kZSB9OiBUcmVlTm9kZTxUPikge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3QuZmluZEluZGV4KCh7IGlkIH0pID0+IGlkID09PSBrZXkpO1xyXG4gICAgdGhpcy5saXN0W2luZGV4XS5wYXJlbnRJZCA9IHBhcmVudE5vZGUgPyBwYXJlbnROb2RlLmtleSA6IG51bGw7XHJcbiAgICB0aGlzLnRyZWUgPSBjcmVhdGVUcmVlRnJvbUxpc3QodGhpcy5saXN0KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVJlbW92ZSh7IGtleSB9OiBUcmVlTm9kZTxUPikge1xyXG4gICAgdGhpcy51cGRhdGVUcmVlRnJvbUxpc3QodGhpcy5saXN0LmZpbHRlcihpdGVtID0+IGl0ZW0uaWQgIT09IGtleSkpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlVXBkYXRlKHsga2V5LCBjaGlsZHJlbiB9OiB7IGtleTogc3RyaW5nOyBjaGlsZHJlbjogVFtdIH0pIHtcclxuICAgIC8qKlxyXG4gICAgICogV2hlbiB3ZSBuZWVkIHRvIHVwZGF0ZSBhIG5vZGUgd2l0aCBuZXcgY2hpbGRyZW4sIGZpcnN0IHdlIG5lZWQgdG8gcmVtb3ZlIGFueSBkZXNjZW5kYW50IG5vZGVzLlxyXG4gICAgICogSWYgd2UgcmVtb3ZlIGltbWVkaWF0ZSBjaGlsZHJlbiBhbmQgY3JlYXRlIGEgbmV3IHRyZWUsIGFueSBvdGhlciBkZXNjZW5kYW50IG5vZGVzIHdpbGwgYmUgcmVtb3ZlZFxyXG4gICAgICogYW5kIHdlIHdvbid0IG5lZWQgdG8gcmVjdXJzaXZlbHkgcmVtb3ZlIHN1YiBjaGlsZHJlbi5cclxuICAgICAqIFRoZW4sIHlvdSBzaW1wbHkgYWRkIGJhY2sgdGhlIG5ldyBjaGlsZHJlbiBhbmQgY3JlYXRlIGEgbmV3IHRyZWUuXHJcbiAgICAgKi9cclxuICAgIGNvbnN0IGxpc3RXaXRoRGVzY2VuZGFudE5vZGVzUmVtb3ZlZCA9IHRoaXMudXBkYXRlVHJlZUZyb21MaXN0KFxyXG4gICAgICB0aGlzLmxpc3QuZmlsdGVyKGl0ZW0gPT4gaXRlbS5wYXJlbnRJZCAhPT0ga2V5KSxcclxuICAgICk7XHJcbiAgICB0aGlzLnVwZGF0ZVRyZWVGcm9tTGlzdChsaXN0V2l0aERlc2NlbmRhbnROb2Rlc1JlbW92ZWQuY29uY2F0KGNoaWxkcmVuKSk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVUcmVlRnJvbUxpc3QobGlzdDogVFtdKSB7XHJcbiAgICB0aGlzLnRyZWUgPSBjcmVhdGVUcmVlRnJvbUxpc3QobGlzdCk7XHJcbiAgICB0aGlzLmxpc3QgPSBjcmVhdGVMaXN0RnJvbVRyZWUodGhpcy50cmVlKTtcclxuICAgIHJldHVybiB0aGlzLmxpc3Q7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBVVElMSVRZIEZVTkNUSU9OU1xyXG5cclxuZnVuY3Rpb24gY3JlYXRlVHJlZUZyb21MaXN0PFQgZXh0ZW5kcyBCYXNlTm9kZT4obGlzdDogVFtdKTogVHJlZU5vZGU8VD5bXSB7XHJcbiAgY29uc3QgbWFwID0gY3JlYXRlTWFwRnJvbUxpc3QobGlzdCk7XHJcbiAgY29uc3QgdHJlZTogVHJlZU5vZGU8VD5bXSA9IFtdO1xyXG5cclxuICBsaXN0LmZvckVhY2gocm93ID0+IHtcclxuICAgIGNvbnN0IHBhcmVudElkID0gcm93LnBhcmVudElkO1xyXG4gICAgY29uc3Qgbm9kZSA9IG1hcC5nZXQocm93LmlkKTtcclxuICAgIGlmIChwYXJlbnRJZCkge1xyXG4gICAgICBjb25zdCBwYXJlbnQgPSBtYXAuZ2V0KHBhcmVudElkKTtcclxuICAgICAgaWYgKCFwYXJlbnQpIHJldHVybjtcclxuICAgICAgcGFyZW50LmNoaWxkcmVuLnB1c2gobm9kZSk7XHJcbiAgICAgIHBhcmVudC5pc0xlYWYgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRyZWUucHVzaChub2RlKTtcclxuICAgIH1cclxuICB9KTtcclxuICByZXR1cm4gdHJlZTtcclxufVxyXG5cclxuZnVuY3Rpb24gY3JlYXRlTGlzdEZyb21UcmVlPFQgZXh0ZW5kcyBCYXNlTm9kZT4odHJlZTogVHJlZU5vZGU8VD5bXSwgbGlzdDogVFtdID0gW10pOiBUW10ge1xyXG4gIHRyZWUuZm9yRWFjaChub2RlID0+IHtcclxuICAgIGxpc3QucHVzaCh7IC4uLm5vZGUuZW50aXR5LCBwYXJlbnRJZDogbm9kZS5wYXJlbnRJZCB9KTtcclxuICAgIGlmIChub2RlLmNoaWxkcmVuKSBjcmVhdGVMaXN0RnJvbVRyZWUobm9kZS5jaGlsZHJlbiwgbGlzdCk7XHJcbiAgfSk7XHJcblxyXG4gIHJldHVybiBsaXN0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBjcmVhdGVNYXBGcm9tTGlzdDxUIGV4dGVuZHMgQmFzZU5vZGU+KFxyXG4gIGxpc3Q6IFRbXSxcclxuICBtYXAgPSBuZXcgTWFwPHN0cmluZywgVHJlZU5vZGU8VD4+KCksXHJcbik6IE1hcDxzdHJpbmcsIFRyZWVOb2RlPFQ+PiB7XHJcbiAgbGlzdC5mb3JFYWNoKHJvdyA9PiBtYXAuc2V0KHJvdy5pZCwgbmV3IFRyZWVOb2RlKHJvdykpKTtcclxuXHJcbiAgcmV0dXJuIG1hcDtcclxufVxyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './public-api';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJwLW5nLmNvbXBvbmVudHMtdHJlZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBvbmVudHMvdHJlZS9zcmMvYWJwLW5nLmNvbXBvbmVudHMtdHJlZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19"],"names":[],"mappings":";;;;;;;;;AACY,MAAC,gCAAgC,GAAG,IAAI,cAAc,CAAC,kCAAkC;;ACC9F,MAAM,yBAAyB,CAAC;AACvC,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AAC3C,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC3L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,gDAAgD,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAC7N;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,UAAU,EAAE,CAAC;AACnI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,gDAAgD;AAC9E,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACZN,MAAM,6BAA6B,CAAC;AAC3C,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AAC3C,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/L,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,iEAAiE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;AAClP;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,UAAU,EAAE,CAAC;AACvI,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,QAAQ,EAAE,iEAAiE;AAC/F,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACHN,MAAM,aAAa,CAAC;AAC3B,IAAI,WAAW,GAAG;AAClB,QAAQ,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;AACtD,QAAQ,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;AAC9D,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC5C,QAAQ,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,gCAAgC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACnG,QAAQ,IAAI,CAAC,SAAS,GAAG,EAAE;AAC3B,QAAQ,IAAI,CAAC,iBAAiB,GAAG,IAAI,YAAY,EAAE;AACnD,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI,YAAY,EAAE;AACpD,QAAQ,IAAI,CAAC,kBAAkB,GAAG,IAAI,YAAY,EAAE;AACpD,QAAQ,IAAI,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE;AAC1C,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,YAAY,EAAE;AAChD,QAAQ,IAAI,CAAC,WAAW,GAAG,IAAI;AAC/B,QAAQ,IAAI,CAAC,WAAW,GAAG,EAAE;AAC7B,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE;AACvB,QAAQ,IAAI,CAAC,YAAY,GAAG,EAAE;AAC9B,QAAQ,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG;AACxE,QAAQ,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AACrC,YAAY,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,GAAG;AACzC,YAAY,OAAO,EAAE,CAAC,KAAK,CAAC;AAC5B,QAAQ,CAAC;AACT,IAAI;AACJ,IAAI,QAAQ,GAAG;AACf,QAAQ,IAAI,CAAC,SAAS,EAAE;AACxB,IAAI;AACJ,IAAI,SAAS,GAAG;AAChB,QAAQ,IAAI,IAAI,CAAC,uBAAuB,EAAE;AAC1C,YAAY;AACZ,QAAQ;AACR,QAAQ,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,wBAAwB,CAAC,CAAC;AACxH,QAAQ,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;AAChD,IAAI;AACJ,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE;AAC5B,QAAQ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAClC,YAAY,IAAI,IAAI,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,EAAE;AACxC,gBAAgB,OAAO,IAAI;AAC3B,YAAY;AACZ,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE;AAC/B,gBAAgB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;AAChE,gBAAgB,IAAI,GAAG,EAAE;AACzB,oBAAoB,OAAO,GAAG;AAC9B,gBAAgB;AAChB,YAAY;AACZ,QAAQ;AACR,QAAQ,OAAO,IAAI;AACnB,IAAI;AACJ,IAAI,oBAAoB,CAAC,IAAI,EAAE;AAC/B,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;AAC9C,QAAQ,IAAI,IAAI,CAAC,sBAAsB,EAAE;AACzC,YAAY,IAAI,MAAM;AACtB,YAAY,IAAI,IAAI,CAAC,SAAS,EAAE;AAChC,gBAAgB,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC;AACrE,YAAY;AACZ,iBAAiB;AACjB,gBAAgB,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC;AACxD,YAAY;AACZ,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AAC9C,YAAY,IAAI,CAAC,WAAW,GAAG,MAAM;AACrC,YAAY,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;AAC/C,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAC5D,QAAQ;AACR,IAAI;AACJ,IAAI,gBAAgB,CAAC,KAAK,EAAE;AAC5B,QAAQ,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;AAC1C,QAAQ,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAC/C,IAAI;AACJ,IAAI,oBAAoB,CAAC,KAAK,EAAE;AAChC,QAAQ,IAAI,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC;AAC3C,QAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;AAChD,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;AACvC,IAAI;AACJ,IAAI,MAAM,CAAC,KAAK,EAAE;AAClB,QAAQ,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE;AACrC,QAAQ,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE;AACpC,QAAQ,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,YAAY;AACrC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACjC,IAAI;AACJ,IAAI,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE;AAChC,QAAQ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,QAAQ;AACtC,IAAI;AACJ,IAAI,mBAAmB,CAAC,KAAK,EAAE;AAC/B,QAAQ,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG;AAC3C,QAAQ,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK;AACpE,YAAY,IAAI,GAAG,KAAK,WAAW,IAAI,QAAQ,EAAE,MAAM,EAAE,EAAE;AAC3D,gBAAgB,QAAQ,CAAC,KAAK,EAAE;AAChC,YAAY;AACZ,QAAQ,CAAC,CAAC;AACV,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE;AAC7C,IAAI;AACJ,IAAI,eAAe,CAAC,IAAI,EAAE;AAC1B,QAAQ,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC;AAC/D,QAAQ,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,eAAe,EAAE;AAClD,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AAC/B,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC;AAC/K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,cAAc,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,EAAE,SAAS,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,qwGAAqwG,EAAE,MAAM,EAAE,CAAC,+wBAA+wB,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,yBAAyB,EAAE,kBAAkB,EAAE,0BAA0B,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,SAAS,EAAE,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,mBAAmB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;AACvtN;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvH,YAAY,IAAI,EAAE,SAAS;AAC3B,YAAY,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,mBAAmB,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC,MAAM,EAAE,OAAO,EAAE;AAC9K,wBAAwB,gBAAgB;AACxC,wBAAwB,eAAe;AACvC,wBAAwB,WAAW;AACnC,wBAAwB,eAAe;AACvC,wBAAwB,iBAAiB;AACzC,wBAAwB,aAAa;AACrC,wBAAwB,sBAAsB;AAC9C,qBAAqB,EAAE,QAAQ,EAAE,qwGAAqwG,EAAE,MAAM,EAAE,CAAC,+wBAA+wB,CAAC,EAAE;AACnkI,SAAS,CAAC,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;AACrC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,MAAM;AAC7B,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;AACrC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,yBAAyB;AAChD,aAAa,CAAC,EAAE,oBAAoB,EAAE,CAAC;AACvC,gBAAgB,IAAI,EAAE,YAAY;AAClC,gBAAgB,IAAI,EAAE,CAAC,6BAA6B;AACpD,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;AACpC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;AACrC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,kBAAkB,EAAE,CAAC;AACrC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC3B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;AACjC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;AAC5B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,aAAa,EAAE,CAAC;AAChC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,WAAW,EAAE,CAAC;AAC9B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC;AACxB,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;AAC/B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,sBAAsB,EAAE,CAAC;AACzC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC;AACjC,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;AAC7B,gBAAgB,IAAI,EAAE;AACtB,aAAa,CAAC,EAAE,EAAE,CAAC;;AC7JZ,MAAM,UAAU,CAAC;AACxB,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC3K,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,yBAAyB,EAAE,6BAA6B,CAAC,EAAE,OAAO,EAAE,CAAC,aAAa,EAAE,yBAAyB,EAAE,6BAA6B,CAAC,EAAE,CAAC,CAAC;AACrS,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,mBAAmB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;AACvJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AACpH,YAAY,IAAI,EAAE,QAAQ;AAC1B,YAAY,IAAI,EAAE,CAAC;AACnB,oBAAoB,OAAO,EAAE,CAAC,aAAa,EAAE,yBAAyB,EAAE,6BAA6B,CAAC;AACtG,oBAAoB,OAAO,EAAE,CAAC,aAAa,EAAE,yBAAyB,EAAE,6BAA6B,CAAC;AACtG,oBAAoB,YAAY,EAAE,EAAE;AACpC,iBAAiB;AACjB,SAAS,CAAC,EAAE,CAAC;;ACjBN,MAAM,QAAQ,CAAC;AACtB,IAAI,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC9B,QAAQ,IAAI,CAAC,EAAE,GAAG,EAAE;AACpB,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,IAAI;AACJ;AACO,MAAM,QAAQ,SAAS,QAAQ,CAAC;AACvC,IAAI,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI,EAAE;AAC3E,QAAQ,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC;AACzC,QAAQ,IAAI,CAAC,MAAM,GAAG,MAAM;AAC5B,QAAQ,IAAI,CAAC,YAAY,GAAG,YAAY;AACxC,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,QAAQ,GAAG,EAAE;AAC1B,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI;AAC1B,QAAQ,IAAI,CAAC,OAAO,GAAG,KAAK;AAC5B,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B,QAAQ,IAAI,CAAC,UAAU,GAAG,IAAI;AAC9B,QAAQ,IAAI,CAAC,QAAQ,GAAG,KAAK;AAC7B,QAAQ,IAAI,CAAC,eAAe,GAAG,KAAK;AACpC,QAAQ,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE;AAC5B,QAAQ,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC;AACzC,IAAI;AACJ;AACO,MAAM,WAAW,CAAC;AACzB,IAAI,WAAW,CAAC,IAAI,GAAG,EAAE,EAAE;AAC3B,QAAQ,IAAI,CAAC,IAAI,GAAG,IAAI;AACxB,QAAQ,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,IAAI;AACxB,IAAI;AACJ,IAAI,OAAO,GAAG;AACd,QAAQ,OAAO,IAAI,CAAC,IAAI;AACxB,IAAI;AACJ,IAAI,UAAU,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE;AACpC,QAAQ,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC;AACjE,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC,GAAG,GAAG,IAAI;AACtE,QAAQ,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,IAAI;AACJ,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,EAAE;AAC1B,QAAQ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;AAC1E,IAAI;AACJ,IAAI,YAAY,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,MAAM,8BAA8B,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC;AACvH,QAAQ,IAAI,CAAC,kBAAkB,CAAC,8BAA8B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChF,IAAI;AACJ,IAAI,kBAAkB,CAAC,IAAI,EAAE;AAC7B,QAAQ,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC;AAC5C,QAAQ,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;AACjD,QAAQ,OAAO,IAAI,CAAC,IAAI;AACxB,IAAI;AACJ;AACA;AACA,SAAS,kBAAkB,CAAC,IAAI,EAAE;AAClC,IAAI,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,CAAC;AACvC,IAAI,MAAM,IAAI,GAAG,EAAE;AACnB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI;AACxB,QAAQ,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ;AACrC,QAAQ,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AACpC,QAAQ,IAAI,QAAQ,EAAE;AACtB,YAAY,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC5C,YAAY,IAAI,CAAC,MAAM;AACvB,gBAAgB;AAChB,YAAY,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,YAAY,MAAM,CAAC,MAAM,GAAG,KAAK;AACjC,QAAQ;AACR,aAAa;AACb,YAAY,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AAC3B,QAAQ;AACR,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,IAAI;AACf;AACA,SAAS,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE;AAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI;AACzB,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9D,QAAQ,IAAI,IAAI,CAAC,QAAQ;AACzB,YAAY,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;AACnD,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,IAAI;AACf;AACA,SAAS,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE;AAClD,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3D,IAAI,OAAO,GAAG;AACd;;AC1FA;AACA;AACA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abp/ng.components",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0-rc.1",
|
|
4
4
|
"homepage": "https://abp.io",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/abpframework/abp.git"
|
|
8
8
|
},
|
|
9
9
|
"peerDependencies": {
|
|
10
|
-
"@abp/ng.core": ">=
|
|
11
|
-
"@abp/ng.theme.shared": ">=
|
|
10
|
+
"@abp/ng.core": ">=10.0.0-rc.1",
|
|
11
|
+
"@abp/ng.theme.shared": ">=10.0.0-rc.1"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"chart.js": "^3.5.1",
|
package/page/index.d.ts
CHANGED
|
@@ -1,36 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { OnInit, OnDestroy, OnChanges,
|
|
2
|
+
import { OnInit, OnDestroy, OnChanges, SimpleChanges, Injector, SimpleChange, InjectionToken } from '@angular/core';
|
|
3
3
|
import { Subscription, Observable } from 'rxjs';
|
|
4
4
|
|
|
5
|
-
interface PageRenderStrategy {
|
|
6
|
-
shouldRender(type?: string): boolean | Observable<boolean>;
|
|
7
|
-
onInit?(type?: string, injector?: Injector, context?: any): void;
|
|
8
|
-
onDestroy?(type?: string, injector?: Injector, context?: any): void;
|
|
9
|
-
onContextUpdate?(change?: SimpleChange): void;
|
|
10
|
-
}
|
|
11
|
-
declare const PAGE_RENDER_STRATEGY: InjectionToken<PageRenderStrategy>;
|
|
12
|
-
declare class PagePartDirective implements OnInit, OnDestroy, OnChanges {
|
|
13
|
-
private templateRef;
|
|
14
|
-
private viewContainer;
|
|
15
|
-
private renderLogic;
|
|
16
|
-
private injector;
|
|
17
|
-
hasRendered: boolean;
|
|
18
|
-
type: string;
|
|
19
|
-
subscription: Subscription;
|
|
20
|
-
context: any;
|
|
21
|
-
set abpPagePart(type: string);
|
|
22
|
-
render: (shouldRender: boolean) => void;
|
|
23
|
-
constructor(templateRef: TemplateRef<any>, viewContainer: ViewContainerRef, renderLogic: PageRenderStrategy, injector: Injector);
|
|
24
|
-
ngOnChanges({ context }: SimpleChanges): void;
|
|
25
|
-
ngOnInit(): void;
|
|
26
|
-
ngOnDestroy(): void;
|
|
27
|
-
shouldRender(type: string): Observable<boolean>;
|
|
28
|
-
protected createRenderStream(type: string): void;
|
|
29
|
-
protected clearSubscription(): void;
|
|
30
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PagePartDirective, [null, null, { optional: true; }, null]>;
|
|
31
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<PagePartDirective, "[abpPagePart]", never, { "context": { "alias": "abpPagePartContext"; "required": false; }; "abpPagePart": { "alias": "abpPagePart"; "required": false; }; }, {}, never, never, true, never>;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
5
|
declare enum PageParts {
|
|
35
6
|
title = "PageTitleContainerComponent",
|
|
36
7
|
breadcrumb = "PageBreadcrumbContainerComponent",
|
|
@@ -69,7 +40,35 @@ declare class PageComponent {
|
|
|
69
40
|
static ɵcmp: i0.ɵɵComponentDeclaration<PageComponent, "abp-page", never, { "title": { "alias": "title"; "required": false; }; "toolbar": { "alias": "toolbar"; "required": false; }; "breadcrumb": { "alias": "breadcrumb"; "required": false; }; }, {}, ["customTitle", "customBreadcrumb", "customToolbar"], ["abp-page-title-container", "abp-page-breadcrumb-container", "abp-page-toolbar-container", "*"], true, never>;
|
|
70
41
|
}
|
|
71
42
|
|
|
72
|
-
|
|
43
|
+
interface PageRenderStrategy {
|
|
44
|
+
shouldRender(type?: string): boolean | Observable<boolean>;
|
|
45
|
+
onInit?(type?: string, injector?: Injector, context?: any): void;
|
|
46
|
+
onDestroy?(type?: string, injector?: Injector, context?: any): void;
|
|
47
|
+
onContextUpdate?(change?: SimpleChange): void;
|
|
48
|
+
}
|
|
49
|
+
declare const PAGE_RENDER_STRATEGY: InjectionToken<PageRenderStrategy>;
|
|
50
|
+
declare class PagePartDirective implements OnInit, OnDestroy, OnChanges {
|
|
51
|
+
private templateRef;
|
|
52
|
+
private viewContainer;
|
|
53
|
+
private renderLogic;
|
|
54
|
+
private injector;
|
|
55
|
+
hasRendered: boolean;
|
|
56
|
+
type: string;
|
|
57
|
+
subscription: Subscription;
|
|
58
|
+
context: any;
|
|
59
|
+
set abpPagePart(type: string);
|
|
60
|
+
render: (shouldRender: boolean) => void;
|
|
61
|
+
ngOnChanges({ context }: SimpleChanges): void;
|
|
62
|
+
ngOnInit(): void;
|
|
63
|
+
ngOnDestroy(): void;
|
|
64
|
+
shouldRender(type: string): Observable<boolean>;
|
|
65
|
+
protected createRenderStream(type: string): void;
|
|
66
|
+
protected clearSubscription(): void;
|
|
67
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PagePartDirective, never>;
|
|
68
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<PagePartDirective, "[abpPagePart]", never, { "context": { "alias": "abpPagePartContext"; "required": false; }; "abpPagePart": { "alias": "abpPagePart"; "required": false; }; }, {}, never, never, true, never>;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
declare const PAGE_EXPORTS: (typeof PageTitleContainerComponent)[];
|
|
73
72
|
declare class PageModule {
|
|
74
73
|
static ɵfac: i0.ɵɵFactoryDeclaration<PageModule, never>;
|
|
75
74
|
static ɵmod: i0.ɵɵNgModuleDeclaration<PageModule, never, [typeof PageComponent, typeof PageTitleContainerComponent, typeof PageBreadcrumbContainerComponent, typeof PageToolbarContainerComponent, typeof PagePartDirective], [typeof PageComponent, typeof PageTitleContainerComponent, typeof PageBreadcrumbContainerComponent, typeof PageToolbarContainerComponent, typeof PagePartDirective]>;
|
package/tree/index.d.ts
CHANGED
|
@@ -6,14 +6,12 @@ import { NzFormatEmitEvent, NzFormatBeforeDropEvent, NzTreeNode } from 'ng-zorro
|
|
|
6
6
|
|
|
7
7
|
declare class TreeNodeTemplateDirective {
|
|
8
8
|
template: TemplateRef<any>;
|
|
9
|
-
constructor(template: TemplateRef<any>);
|
|
10
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<TreeNodeTemplateDirective, never>;
|
|
11
10
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TreeNodeTemplateDirective, "[abpTreeNodeTemplate],[abp-tree-node-template]", never, {}, {}, never, never, true, never>;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
declare class ExpandedIconTemplateDirective {
|
|
15
14
|
template: TemplateRef<any>;
|
|
16
|
-
constructor(template: TemplateRef<any>);
|
|
17
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<ExpandedIconTemplateDirective, never>;
|
|
18
16
|
static ɵdir: i0.ɵɵDirectiveDeclaration<ExpandedIconTemplateDirective, "[abpTreeExpandedIconTemplate],[abp-tree-expanded-icon-template]", never, {}, {}, never, never, true, never>;
|
|
19
17
|
}
|