@acorex/components 19.14.4 → 19.14.5
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/conversation/lib/conversation-input/conversation-input.component.d.ts +2 -0
- package/fesm2022/acorex-components-conversation.mjs +21 -2
- package/fesm2022/acorex-components-conversation.mjs.map +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs +1 -1
- package/fesm2022/acorex-components-file-explorer.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +3 -9
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-image-editor.mjs +3 -3
- package/fesm2022/acorex-components-image-editor.mjs.map +1 -1
- package/fesm2022/acorex-components-paint.mjs +1 -1
- package/fesm2022/acorex-components-paint.mjs.map +1 -1
- package/fesm2022/acorex-components-password-box.mjs +17 -7
- package/fesm2022/acorex-components-password-box.mjs.map +1 -1
- package/fesm2022/acorex-components-scheduler.mjs +23 -16
- package/fesm2022/acorex-components-scheduler.mjs.map +1 -1
- package/fesm2022/acorex-components-tooltip.mjs +28 -1
- package/fesm2022/acorex-components-tooltip.mjs.map +1 -1
- package/fesm2022/acorex-components-tree-view.mjs +12 -5
- package/fesm2022/acorex-components-tree-view.mjs.map +1 -1
- package/form/lib/form.component.d.ts +2 -3
- package/package.json +15 -15
- package/password-box/lib/password-strength-validation/password-strength-validation.component.d.ts +5 -5
- package/scheduler/lib/scheduler.component.d.ts +3 -3
- package/tooltip/lib/tooltip.directive.d.ts +7 -1
- package/tree-view/lib/tree-view.class.d.ts +1 -0
- package/tree-view/lib/tree-view.component.d.ts +4 -2
@@ -32,6 +32,25 @@ class AXTooltipDirective {
|
|
32
32
|
this.popupRef.placement = v;
|
33
33
|
}
|
34
34
|
}
|
35
|
+
get offsetX() {
|
36
|
+
return this._offsetX;
|
37
|
+
}
|
38
|
+
set offsetX(v) {
|
39
|
+
this._offsetX = v;
|
40
|
+
if (this.popupRef) {
|
41
|
+
this.popupRef.offsetX = v;
|
42
|
+
}
|
43
|
+
}
|
44
|
+
get offsetY() {
|
45
|
+
return this._offsetY;
|
46
|
+
}
|
47
|
+
set offsetY(v) {
|
48
|
+
this._offsetY = v;
|
49
|
+
``;
|
50
|
+
if (this.popupRef) {
|
51
|
+
this.popupRef.offsetY = v;
|
52
|
+
}
|
53
|
+
}
|
35
54
|
get openAfter() {
|
36
55
|
return this._openAfter;
|
37
56
|
}
|
@@ -55,6 +74,8 @@ class AXTooltipDirective {
|
|
55
74
|
this.vc = vc;
|
56
75
|
this.ngzone = inject(NgZone);
|
57
76
|
this._placement = convertToPlacement('top');
|
77
|
+
this._offsetX = 0;
|
78
|
+
this._offsetY = 0;
|
58
79
|
this._openAfter = 100;
|
59
80
|
this._closeAfter = 100;
|
60
81
|
this.popupRef = this.vc.createComponent(AXPopoverComponent).instance;
|
@@ -79,7 +100,7 @@ class AXTooltipDirective {
|
|
79
100
|
});
|
80
101
|
}
|
81
102
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTooltipDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
82
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: AXTooltipDirective, isStandalone: true, selector: "[axTooltip]", inputs: { content: ["axTooltip", "content"], placement: ["axTooltipPlacement", "placement"], openAfter: ["axTooltipOpenAfter", "openAfter"], closeAfter: ["axTooltipCloseAfter", "closeAfter"] }, ngImport: i0 }); }
|
103
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.11", type: AXTooltipDirective, isStandalone: true, selector: "[axTooltip]", inputs: { content: ["axTooltip", "content"], placement: ["axTooltipPlacement", "placement"], offsetX: ["axTooltipOffsetX", "offsetX"], offsetY: ["axTooltipOffsetY", "offsetY"], openAfter: ["axTooltipOpenAfter", "openAfter"], closeAfter: ["axTooltipCloseAfter", "closeAfter"] }, ngImport: i0 }); }
|
83
104
|
}
|
84
105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTooltipDirective, decorators: [{
|
85
106
|
type: Directive,
|
@@ -90,6 +111,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
90
111
|
}], placement: [{
|
91
112
|
type: Input,
|
92
113
|
args: ['axTooltipPlacement']
|
114
|
+
}], offsetX: [{
|
115
|
+
type: Input,
|
116
|
+
args: ['axTooltipOffsetX']
|
117
|
+
}], offsetY: [{
|
118
|
+
type: Input,
|
119
|
+
args: ['axTooltipOffsetY']
|
93
120
|
}], openAfter: [{
|
94
121
|
type: Input,
|
95
122
|
args: ['axTooltipOpenAfter']
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-tooltip.mjs","sources":["../../../../packages/components/tooltip/src/lib/tooltip.component.ts","../../../../packages/components/tooltip/src/lib/tooltip.component.html","../../../../packages/components/tooltip/src/lib/tooltip.directive.ts","../../../../packages/components/tooltip/src/lib/tooltip.module.ts","../../../../packages/components/tooltip/src/acorex-components-tooltip.ts"],"sourcesContent":["import { AXComponent, AXPlacement, MXBaseComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying tooltips with additional information or context when hovering over elements.\n * @category Components\n */\n@Component({\n selector: 'ax-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXTooltipComponent }],\n})\nexport class AXTooltipComponent extends MXBaseComponent {\n /**\n * The text content displayed in the tooltip.\n * @defaultValue 'string'\n */\n @Input()\n text: string;\n\n /**\n * Specifies the position of the tooltip relative to the target element.\n *\n * @type {AXPlacement}\n */\n @Input()\n position: AXPlacement;\n}\n","<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>","import { AXPlacementType, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { Directive, ElementRef, inject, Input, NgZone, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\n\n@Directive({ selector: '[axTooltip]' })\nexport class AXTooltipDirective implements OnInit {\n @Input('axTooltip')\n public content: string | TemplateRef<unknown>;\n ngzone = inject(NgZone);\n\n private _placement: AXPlacementType = convertToPlacement('top');\n @Input('axTooltipPlacement')\n public get placement(): AXPlacementType {\n return this._placement;\n }\n public set placement(v: AXPlacementType) {\n this._placement = v;\n if (this.popupRef) {\n this.popupRef.placement = v;\n }\n }\n\n private _openAfter = 100;\n @Input('axTooltipOpenAfter')\n public get openAfter(): number {\n return this._openAfter;\n }\n public set openAfter(v: number) {\n this._openAfter = v;\n if (this.popupRef) {\n this.popupRef.openAfter = v;\n }\n }\n\n private _closeAfter = 100;\n @Input('axTooltipCloseAfter')\n public get closeAfter(): number {\n return this._closeAfter;\n }\n public set closeAfter(v: number) {\n this._closeAfter = v;\n if (this.popupRef) {\n this.popupRef.closeAfter = v;\n }\n }\n\n private popupRef: AXPopoverComponent;\n\n constructor(\n private elementRef: ElementRef,\n private vc: ViewContainerRef,\n ) {\n this.popupRef = this.vc.createComponent(AXPopoverComponent).instance;\n this.popupRef.target = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.ngzone.runOutsideAngular(() => {\n this.popupRef.target = this.elementRef.nativeElement;\n this.popupRef.openOn = 'hover';\n this.popupRef.closeOn = 'leave';\n this.popupRef.placement = this.placement;\n this.popupRef.openAfter = this.openAfter;\n this.popupRef.closeAfter = this.closeAfter;\n if (typeof this.content === 'string' && this.content) {\n this.popupRef.content = AXTooltipComponent;\n this.popupRef.context = { text: this.content };\n } else if (this.content instanceof TemplateRef) {\n this.popupRef.content = this.content;\n //this.popupRef.context = { text: this.content };\n }\n });\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\nimport { AXTooltipDirective } from './tooltip.directive';\n\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\nconst MODULES = [CommonModule, OverlayModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAGA;;;AAGG;AASG,MAAO,kBAAmB,SAAQ,eAAe,CAAA;+GAA1C,kBAAkB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EAFlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,iDCbxE,6LAKM,EAAA,MAAA,EAAA,CAAA,2kBAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDUO,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAR9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,iBAGP,iBAAiB,CAAC,IAAI,EACpB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,kBAAoB,EAAE,CAAC,EAAA,QAAA,EAAA,6LAAA,EAAA,MAAA,EAAA,CAAA,2kBAAA,CAAA,EAAA;8BAQtE,IAAI,EAAA,CAAA;sBADH;gBASD,QAAQ,EAAA,CAAA;sBADP;;;MEtBU,kBAAkB,CAAA;AAM7B,IAAA,IACW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;;IAExB,IAAW,SAAS,CAAC,CAAkB,EAAA;AACrC,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC;;;AAK/B,IAAA,IACW,SAAS,GAAA;QAClB,OAAO,IAAI,CAAC,UAAU;;IAExB,IAAW,SAAS,CAAC,CAAS,EAAA;AAC5B,QAAA,IAAI,CAAC,UAAU,GAAG,CAAC;AACnB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC;;;AAK/B,IAAA,IACW,UAAU,GAAA;QACnB,OAAO,IAAI,CAAC,WAAW;;IAEzB,IAAW,UAAU,CAAC,CAAS,EAAA;AAC7B,QAAA,IAAI,CAAC,WAAW,GAAG,CAAC;AACpB,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,CAAC;;;IAMhC,WACU,CAAA,UAAsB,EACtB,EAAoB,EAAA;QADpB,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAE,CAAA,EAAA,GAAF,EAAE;
|
1
|
+
{"version":3,"file":"acorex-components-tooltip.mjs","sources":["../../../../packages/components/tooltip/src/lib/tooltip.component.ts","../../../../packages/components/tooltip/src/lib/tooltip.component.html","../../../../packages/components/tooltip/src/lib/tooltip.directive.ts","../../../../packages/components/tooltip/src/lib/tooltip.module.ts","../../../../packages/components/tooltip/src/acorex-components-tooltip.ts"],"sourcesContent":["import { AXComponent, AXPlacement, MXBaseComponent } from '@acorex/cdk/common';\nimport { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';\n\n/**\n * A component for displaying tooltips with additional information or context when hovering over elements.\n * @category Components\n */\n@Component({\n selector: 'ax-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: AXComponent, useExisting: AXTooltipComponent }],\n})\nexport class AXTooltipComponent extends MXBaseComponent {\n /**\n * The text content displayed in the tooltip.\n * @defaultValue 'string'\n */\n @Input()\n text: string;\n\n /**\n * Specifies the position of the tooltip relative to the target element.\n *\n * @type {AXPlacement}\n */\n @Input()\n position: AXPlacement;\n}\n","<div class=\"ax-tooltip-container\">\n <div class=\"ax-tooltip\">\n {{ text }}\n </div>\n <!-- <div class=\"ax-tooltip-tringle ax-tooltip-tringle-{{ position }}\"></div> -->\n</div>","import { AXPlacementType, convertToPlacement } from '@acorex/cdk/common';\nimport { AXPopoverComponent } from '@acorex/components/popover';\nimport { Directive, ElementRef, inject, Input, NgZone, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\n\n@Directive({ selector: '[axTooltip]' })\nexport class AXTooltipDirective implements OnInit {\n @Input('axTooltip')\n public content: string | TemplateRef<unknown>;\n ngzone = inject(NgZone);\n\n private _placement: AXPlacementType = convertToPlacement('top');\n @Input('axTooltipPlacement')\n public get placement(): AXPlacementType {\n return this._placement;\n }\n public set placement(v: AXPlacementType) {\n this._placement = v;\n if (this.popupRef) {\n this.popupRef.placement = v;\n }\n }\n\n private _offsetX = 0;\n @Input('axTooltipOffsetX')\n public get offsetX(): number {\n return this._offsetX;\n }\n public set offsetX(v: number) {\n this._offsetX = v;\n if (this.popupRef) {\n this.popupRef.offsetX = v;\n }\n }\n\n private _offsetY = 0;\n @Input('axTooltipOffsetY')\n public get offsetY(): number {\n return this._offsetY;\n }\n public set offsetY(v: number) {\n this._offsetY = v;\n ``;\n if (this.popupRef) {\n this.popupRef.offsetY = v;\n }\n }\n\n private _openAfter = 100;\n @Input('axTooltipOpenAfter')\n public get openAfter(): number {\n return this._openAfter;\n }\n public set openAfter(v: number) {\n this._openAfter = v;\n if (this.popupRef) {\n this.popupRef.openAfter = v;\n }\n }\n\n private _closeAfter = 100;\n @Input('axTooltipCloseAfter')\n public get closeAfter(): number {\n return this._closeAfter;\n }\n public set closeAfter(v: number) {\n this._closeAfter = v;\n if (this.popupRef) {\n this.popupRef.closeAfter = v;\n }\n }\n\n private popupRef: AXPopoverComponent;\n\n constructor(\n private elementRef: ElementRef,\n private vc: ViewContainerRef,\n ) {\n this.popupRef = this.vc.createComponent(AXPopoverComponent).instance;\n this.popupRef.target = this.elementRef.nativeElement;\n }\n\n ngOnInit(): void {\n this.ngzone.runOutsideAngular(() => {\n this.popupRef.target = this.elementRef.nativeElement;\n this.popupRef.openOn = 'hover';\n this.popupRef.closeOn = 'leave';\n this.popupRef.placement = this.placement;\n this.popupRef.openAfter = this.openAfter;\n this.popupRef.closeAfter = this.closeAfter;\n if (typeof this.content === 'string' && this.content) {\n this.popupRef.content = AXTooltipComponent;\n this.popupRef.context = { text: this.content };\n } else if (this.content instanceof TemplateRef) {\n this.popupRef.content = this.content;\n //this.popupRef.context = { text: this.content };\n }\n });\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { AXTooltipComponent } from './tooltip.component';\nimport { AXTooltipDirective } from './tooltip.directive';\n\nconst COMPONENT = [AXTooltipComponent, AXTooltipDirective];\nconst MODULES = [CommonModule, OverlayModule];\n\n@NgModule({\n imports: [...MODULES, ...COMPONENT],\n exports: [...COMPONENT],\n})\nexport class AXTooltipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -78,7 +78,7 @@ class AXTreeViewItemComponent extends NXComponent {
|
|
78
78
|
this.treeView.onNodedbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });
|
79
79
|
}
|
80
80
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTreeViewItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
81
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXTreeViewItemComponent, isStandalone: true, selector: "ax-tree-view-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, executorChanges: { classPropertyName: "executorChanges", publicName: "executorChanges", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange", isActive: "isActiveChange" }, providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tree-view-container\">\n @if ((item()[this.treeView.childrenField()] && !isLoading())
|
81
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXTreeViewItemComponent, isStandalone: true, selector: "ax-tree-view-item", inputs: { item: { classPropertyName: "item", publicName: "item", isSignal: true, isRequired: false, transformFunction: null }, isExpanded: { classPropertyName: "isExpanded", publicName: "isExpanded", isSignal: true, isRequired: false, transformFunction: null }, isActive: { classPropertyName: "isActive", publicName: "isActive", isSignal: true, isRequired: false, transformFunction: null }, isLoading: { classPropertyName: "isLoading", publicName: "isLoading", isSignal: true, isRequired: false, transformFunction: null }, executorChanges: { classPropertyName: "executorChanges", publicName: "executorChanges", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isExpanded: "isExpandedChange", isActive: "isActiveChange" }, providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\n }\n\n <div class=\"ax-tree-view-items\">\n <ng-content select=\"ax-check-box\"></ng-content>\n <div\n [class.ax-state-disabled]=\"item()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\n axTooltipPlacement=\"end-bottom\"\n (click)=\"handleTextClick(item())\"\n (dblclick)=\"handleTextDbClick(item())\"\n class=\"ax-tree-view-items-prefix noselect-tree-view\"\n [class.ax-state-tree-view-active]=\"item()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "context"], outputs: ["visibleChange"] }, { kind: "directive", type: AXTooltipDirective, selector: "[axTooltip]", inputs: ["axTooltip", "axTooltipPlacement", "axTooltipOffsetX", "axTooltipOffsetY", "axTooltipOpenAfter", "axTooltipCloseAfter"] }], animations: [
|
82
82
|
trigger('collapseExpand', [
|
83
83
|
state('collapsed', style({
|
84
84
|
height: '0',
|
@@ -110,7 +110,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
110
110
|
})),
|
111
111
|
transition('collapsed <=> expanded', [animate('300ms ease-in-out')]),
|
112
112
|
]),
|
113
|
-
], imports: [CommonModule, AXLoadingComponent, AXTooltipDirective], providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }], template: "<div class=\"ax-tree-view-container\">\n @if ((item()[this.treeView.childrenField()] && !isLoading())
|
113
|
+
], imports: [CommonModule, AXLoadingComponent, AXTooltipDirective], providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }], template: "<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\n }\n\n <div class=\"ax-tree-view-items\">\n <ng-content select=\"ax-check-box\"></ng-content>\n <div\n [class.ax-state-disabled]=\"item()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\n axTooltipPlacement=\"end-bottom\"\n (click)=\"handleTextClick(item())\"\n (dblclick)=\"handleTextDbClick(item())\"\n class=\"ax-tree-view-items-prefix noselect-tree-view\"\n [class.ax-state-tree-view-active]=\"item()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n" }]
|
114
114
|
}], ctorParameters: () => [] });
|
115
115
|
|
116
116
|
class AXTreeViewComponent extends NXComponent {
|
@@ -121,6 +121,7 @@ class AXTreeViewComponent extends NXComponent {
|
|
121
121
|
this.showCheckbox = input(true);
|
122
122
|
this.selectionMode = input('single');
|
123
123
|
this.selectionBehavior = input();
|
124
|
+
this.selectionScope = input('all');
|
124
125
|
this.focusNodeEnabled = input(true);
|
125
126
|
this.valueField = input('id');
|
126
127
|
this.textField = input('text');
|
@@ -137,6 +138,7 @@ class AXTreeViewComponent extends NXComponent {
|
|
137
138
|
this.iconField = input('icon');
|
138
139
|
this.toggleIcons = input();
|
139
140
|
this.onSelectionChanged = output();
|
141
|
+
this.onItemSelectedChanged = output();
|
140
142
|
this.onNodeClick = output();
|
141
143
|
this.onCollapsedChanged = output();
|
142
144
|
this.onNodedbClick = output();
|
@@ -205,6 +207,11 @@ class AXTreeViewComponent extends NXComponent {
|
|
205
207
|
break;
|
206
208
|
}
|
207
209
|
}
|
210
|
+
this.onItemSelectedChanged.emit({
|
211
|
+
component: this,
|
212
|
+
data: item,
|
213
|
+
nativeElement: this.nativeElement,
|
214
|
+
});
|
208
215
|
const result = this.findSelectedNodes(this.itemsSignal());
|
209
216
|
this.onSelectionChanged.emit({
|
210
217
|
component: this,
|
@@ -428,10 +435,10 @@ class AXTreeViewComponent extends NXComponent {
|
|
428
435
|
}
|
429
436
|
}
|
430
437
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTreeViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
431
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXTreeViewComponent, isStandalone: true, selector: "ax-tree-view", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionBehavior: { classPropertyName: "selectionBehavior", publicName: "selectionBehavior", isSignal: true, isRequired: false, transformFunction: null }, focusNodeEnabled: { classPropertyName: "focusNodeEnabled", publicName: "focusNodeEnabled", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, visibleField: { classPropertyName: "visibleField", publicName: "visibleField", isSignal: true, isRequired: false, transformFunction: null }, disableField: { classPropertyName: "disableField", publicName: "disableField", isSignal: true, isRequired: false, transformFunction: null }, hasChildField: { classPropertyName: "hasChildField", publicName: "hasChildField", isSignal: true, isRequired: false, transformFunction: null }, selectedField: { classPropertyName: "selectedField", publicName: "selectedField", isSignal: true, isRequired: false, transformFunction: null }, expandedField: { classPropertyName: "expandedField", publicName: "expandedField", isSignal: true, isRequired: false, transformFunction: null }, tooltipField: { classPropertyName: "tooltipField", publicName: "tooltipField", isSignal: true, isRequired: false, transformFunction: null }, childrenField: { classPropertyName: "childrenField", publicName: "childrenField", isSignal: true, isRequired: false, transformFunction: null }, activeField: { classPropertyName: "activeField", publicName: "activeField", isSignal: true, isRequired: false, transformFunction: null }, indeterminateField: { classPropertyName: "indeterminateField", publicName: "indeterminateField", isSignal: true, isRequired: false, transformFunction: null }, parentField: { classPropertyName: "parentField", publicName: "parentField", isSignal: true, isRequired: false, transformFunction: null }, iconField: { classPropertyName: "iconField", publicName: "iconField", isSignal: true, isRequired: false, transformFunction: null }, toggleIcons: { classPropertyName: "toggleIcons", publicName: "toggleIcons", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, expandOn: { classPropertyName: "expandOn", publicName: "expandOn", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged", onNodeClick: "onNodeClick", onCollapsedChanged: "onCollapsedChanged", onNodedbClick: "onNodedbClick" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
|
438
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: AXTreeViewComponent, isStandalone: true, selector: "ax-tree-view", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, showCheckbox: { classPropertyName: "showCheckbox", publicName: "showCheckbox", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectionBehavior: { classPropertyName: "selectionBehavior", publicName: "selectionBehavior", isSignal: true, isRequired: false, transformFunction: null }, selectionScope: { classPropertyName: "selectionScope", publicName: "selectionScope", isSignal: true, isRequired: false, transformFunction: null }, focusNodeEnabled: { classPropertyName: "focusNodeEnabled", publicName: "focusNodeEnabled", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: true, isRequired: false, transformFunction: null }, textField: { classPropertyName: "textField", publicName: "textField", isSignal: true, isRequired: false, transformFunction: null }, visibleField: { classPropertyName: "visibleField", publicName: "visibleField", isSignal: true, isRequired: false, transformFunction: null }, disableField: { classPropertyName: "disableField", publicName: "disableField", isSignal: true, isRequired: false, transformFunction: null }, hasChildField: { classPropertyName: "hasChildField", publicName: "hasChildField", isSignal: true, isRequired: false, transformFunction: null }, selectedField: { classPropertyName: "selectedField", publicName: "selectedField", isSignal: true, isRequired: false, transformFunction: null }, expandedField: { classPropertyName: "expandedField", publicName: "expandedField", isSignal: true, isRequired: false, transformFunction: null }, tooltipField: { classPropertyName: "tooltipField", publicName: "tooltipField", isSignal: true, isRequired: false, transformFunction: null }, childrenField: { classPropertyName: "childrenField", publicName: "childrenField", isSignal: true, isRequired: false, transformFunction: null }, activeField: { classPropertyName: "activeField", publicName: "activeField", isSignal: true, isRequired: false, transformFunction: null }, indeterminateField: { classPropertyName: "indeterminateField", publicName: "indeterminateField", isSignal: true, isRequired: false, transformFunction: null }, parentField: { classPropertyName: "parentField", publicName: "parentField", isSignal: true, isRequired: false, transformFunction: null }, iconField: { classPropertyName: "iconField", publicName: "iconField", isSignal: true, isRequired: false, transformFunction: null }, toggleIcons: { classPropertyName: "toggleIcons", publicName: "toggleIcons", isSignal: true, isRequired: false, transformFunction: null }, look: { classPropertyName: "look", publicName: "look", isSignal: true, isRequired: false, transformFunction: null }, itemTemplate: { classPropertyName: "itemTemplate", publicName: "itemTemplate", isSignal: false, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: false, isRequired: false, transformFunction: null }, expandOn: { classPropertyName: "expandOn", publicName: "expandOn", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onSelectionChanged: "onSelectionChanged", onItemSelectedChanged: "onItemSelectedChanged", onNodeClick: "onNodeClick", onCollapsedChanged: "onCollapsedChanged", onNodedbClick: "onNodedbClick" }, host: { properties: { "class": "this.__hostClass" } }, providers: [
|
432
439
|
{ provide: AXComponent, useExisting: AXTreeViewComponent },
|
433
440
|
{ provide: AXTreeViewBase, useExisting: AXTreeViewComponent },
|
434
|
-
], usesInheritance: true, ngImport: i0, template: "@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></ng-container>\n}\n\n<ng-template #recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [
|
441
|
+
], usesInheritance: true, ngImport: i0, template: "@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></ng-container>\n}\n\n<ng-template #recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [isExpanded]=\"item[expandedField()]\"\n [(isActive)]=\"item[activeField()]\"\n [isLoading]=\"isNodeLoading(item[valueField()])\"\n [executorChanges]=\"executorChanges()\"\n >\n @if (\n (this.showCheckbox() && selectionScope() === 'all') ||\n (this.showCheckbox() && selectionScope() === 'parent' && item[childrenField()]?.length) ||\n (this.showCheckbox() && selectionScope() === 'children' && !item[childrenField()]?.length)\n ) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item[indeterminateField()]\"\n [(ngModel)]=\"item[selectedField()]\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.[childrenField()]; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n\n<ng-template #empty>\n {{ 'no-result-found' | translate | async }}\n</ng-template>\n", styles: ["ax-tree-view{--ax-comp-tree-view-arrow-size: .875rem;--ax-comp-tree-view-text-size: .875rem;--ax-comp-tree-view-active-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-tree-view-active-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-tree-view-hover-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-tree-view-indicator-size: 2px}ax-tree-view.ax-look-with-line ax-tree-view-item{position:relative}ax-tree-view.ax-look-with-line ax-tree-view-item:before{content:\"\";position:absolute;top:0;inset-inline-start:.625rem;width:1px;height:100%;background-color:#ccc}ax-tree-view.ax-look-with-line ax-tree-view-item .ax-tree-view-container{padding-inline-start:1.25rem}ax-tree-view.ax-look-with-line ax-tree-view-item .ax-tree-view-container .ax-tree-view-icon-container{padding:.25rem}ax-tree-view ax-tree-view-item ax-check-box{margin-inline-start:.5rem}ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-text{font-size:var(--ax-comp-tree-view-text-size)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:var(--ax-comp-tree-view-arrow-size)!important}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-suffix:empty{display:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-icon-container{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-icon-container.placeholder-icon{visibility:hidden}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;overflow-x:auto;margin-inline-start:.25rem}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:rgba(var(--ax-comp-tree-view-active-bg-color));color:rgba(var(--ax-comp-tree-view-active-text-color))}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover:not(.ax-state-tree-view-active){background-color:rgba(var(--ax-comp-tree-view-hover-bg-color))}ax-tree-view ax-tree-view-item .ax-tree-view-child{padding-inline-start:1rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AXTreeViewItemComponent, selector: "ax-tree-view-item", inputs: ["item", "isExpanded", "isActive", "isLoading", "executorChanges"], outputs: ["isExpandedChange", "isActiveChange"] }, { kind: "component", type: AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-subtitle, ax-placeholder, ax-overlay" }, { kind: "component", type: AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "pipe", type: AXTranslatorPipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
435
442
|
}
|
436
443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: AXTreeViewComponent, decorators: [{
|
437
444
|
type: Component,
|
@@ -447,7 +454,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
447
454
|
], providers: [
|
448
455
|
{ provide: AXComponent, useExisting: AXTreeViewComponent },
|
449
456
|
{ provide: AXTreeViewBase, useExisting: AXTreeViewComponent },
|
450
|
-
], template: "@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></ng-container>\n}\n\n<ng-template #recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [
|
457
|
+
], template: "@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></ng-container>\n}\n\n<ng-template #recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [isExpanded]=\"item[expandedField()]\"\n [(isActive)]=\"item[activeField()]\"\n [isLoading]=\"isNodeLoading(item[valueField()])\"\n [executorChanges]=\"executorChanges()\"\n >\n @if (\n (this.showCheckbox() && selectionScope() === 'all') ||\n (this.showCheckbox() && selectionScope() === 'parent' && item[childrenField()]?.length) ||\n (this.showCheckbox() && selectionScope() === 'children' && !item[childrenField()]?.length)\n ) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item[indeterminateField()]\"\n [(ngModel)]=\"item[selectedField()]\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.[childrenField()]; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n\n<ng-template #empty>\n {{ 'no-result-found' | translate | async }}\n</ng-template>\n", styles: ["ax-tree-view{--ax-comp-tree-view-arrow-size: .875rem;--ax-comp-tree-view-text-size: .875rem;--ax-comp-tree-view-active-bg-color: var(--ax-sys-color-primary-surface);--ax-comp-tree-view-active-text-color: var(--ax-sys-color-on-primary-surface);--ax-comp-tree-view-hover-bg-color: var(--ax-sys-color-dark-surface);--ax-comp-tree-view-indicator-size: 2px}ax-tree-view.ax-look-with-line ax-tree-view-item{position:relative}ax-tree-view.ax-look-with-line ax-tree-view-item:before{content:\"\";position:absolute;top:0;inset-inline-start:.625rem;width:1px;height:100%;background-color:#ccc}ax-tree-view.ax-look-with-line ax-tree-view-item .ax-tree-view-container{padding-inline-start:1.25rem}ax-tree-view.ax-look-with-line ax-tree-view-item .ax-tree-view-container .ax-tree-view-icon-container{padding:.25rem}ax-tree-view ax-tree-view-item ax-check-box{margin-inline-start:.5rem}ax-tree-view ax-tree-view-item .ax-tree-view-container{display:flex;align-items:center;margin-bottom:.125rem;cursor:pointer}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-text{font-size:var(--ax-comp-tree-view-text-size)}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-checkbox-end-side{display:none!important}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-arrow{font-size:var(--ax-comp-tree-view-arrow-size)!important}ax-tree-view ax-tree-view-item .ax-tree-view-container ax-suffix:empty{display:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-icon-container{width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-icon-container.placeholder-icon{visibility:hidden}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items{display:flex;align-items:center}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix{display:flex;align-items:center;gap:.5rem;padding:.25rem .5rem;border-radius:.25rem;overflow-x:auto;margin-inline-start:.25rem}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.noselect-tree-view{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix.ax-state-tree-view-active{background-color:rgba(var(--ax-comp-tree-view-active-bg-color));color:rgba(var(--ax-comp-tree-view-active-text-color))}ax-tree-view ax-tree-view-item .ax-tree-view-container .ax-tree-view-items .ax-tree-view-items-prefix:hover:not(.ax-state-tree-view-active){background-color:rgba(var(--ax-comp-tree-view-hover-bg-color))}ax-tree-view ax-tree-view-item .ax-tree-view-child{padding-inline-start:1rem}ax-tree-view ax-tree-view-item .ax-state-disabled{cursor:not-allowed!important;opacity:.5!important}\n"] }]
|
451
458
|
}], propDecorators: { __hostClass: [{
|
452
459
|
type: HostBinding,
|
453
460
|
args: ['class']
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"acorex-components-tree-view.mjs","sources":["../../../../packages/components/tree-view/src/lib/tree-view.class.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.ts","../../../../packages/components/tree-view/src/lib/tree-view.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.module.ts","../../../../packages/components/tree-view/src/acorex-components-tree-view.ts"],"sourcesContent":["import { AXClickEvent } from '@acorex/cdk/common';\nimport { EventEmitter } from '@angular/core';\n\nexport class AXTreeItemClickBaseEvent extends AXClickEvent {\n nativeElement: any;\n}\n\nexport type AXTreeViewSelectionBehavior = 'autoExpand' | 'cascade' | 'indeterminate';\n\nexport type AXTreeViewExpandBehavior = 'click' | 'dbClick' | 'defult';\n\nexport type AXTreeViewOperationMethod = 'expand' | 'active' | 'visible' | 'disabled';\n\nexport type AXTreeViewLook = 'with-line' | 'defult';\n\nexport abstract class AXTreeViewBase {\n abstract getChildren(item: unknown): unknown[];\n\n abstract hasChildren(item: unknown): boolean;\n\n abstract itemTemplate: any;\n\n // Field accessors\n abstract disableField(): string;\n abstract childrenField(): string;\n abstract valueField(): string;\n abstract activeField(): string;\n abstract hasChildField(): string;\n abstract tooltipField(): string;\n\n // Behavior methods\n abstract expandOn(): AXTreeViewExpandBehavior;\n abstract focusNodeEnabled(): boolean;\n abstract toggleIcons(): { expanded: string; collapsed: string } | null;\n\n // Data management\n abstract itemsPromise: boolean;\n abstract itemsSignal(): unknown[];\n abstract fetchData(item: unknown): void;\n abstract setNodeLoading(value: unknown, loading: boolean): void;\n abstract handleUnActiveNode(items: unknown[]): void;\n\n // Event emitters\n abstract onCollapsedChanged: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodeClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodedbClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { AXTreeViewBase, AXTreeViewOperationMethod } from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view-item',\n templateUrl: 'tree-view-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('collapseExpand', [\n state(\n 'collapsed',\n style({\n height: '0',\n overflow: 'hidden',\n opacity: 0,\n }),\n ),\n state(\n 'expanded',\n style({\n height: '*',\n overflow: 'hidden',\n opacity: 1,\n }),\n ),\n transition('collapsed <=> expanded', [animate('300ms ease-in-out')]),\n ]),\n ],\n imports: [CommonModule, AXLoadingComponent, AXTooltipDirective],\n providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }],\n})\nexport class AXTreeViewItemComponent extends NXComponent {\n constructor() {\n super();\n }\n\n treeView = inject(AXTreeViewBase);\n\n item = input<unknown>();\n\n isExpanded = model<boolean>(false);\n\n isActive = model<boolean>(false);\n\n isLoading = input<boolean>(false);\n\n executorChanges = input<AXTreeViewOperationMethod>();\n\n protected platformService = inject(AXPlatform);\n\n protected arrowIcon = computed(() => {\n const baseClasses = 'ax-tree-view-arrow ax-icon ax-icon-solid';\n const toggleIcons = this.treeView.toggleIcons();\n\n if (toggleIcons) {\n return this.isExpanded() ? `${baseClasses} ${toggleIcons.expanded}` : `${baseClasses} ${toggleIcons.collapsed}`;\n }\n\n if (this.isExpanded()) {\n return `${baseClasses} ax-icon-chevron-down`;\n }\n\n return this.platformService.isRtl()\n ? `${baseClasses} ax-icon-chevron-left`\n : `${baseClasses} ax-icon-chevron-right`;\n });\n\n protected handleArrowNodeClick() {\n if (this.item()[this.treeView.disableField()] || this.isLoading() || this.treeView.expandOn() === 'dbClick') {\n return;\n }\n\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded() && !this.item()[this.treeView.childrenField()]?.length) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n\n this.treeView.onCollapsedChanged.emit({ component: this, data: this.item(), nativeElement: this.nativeElement });\n }\n\n protected handleTextClick(item: unknown) {\n if (this.item()[this.treeView.disableField()]) {\n return;\n }\n if (this.treeView.focusNodeEnabled()) {\n this.treeView.handleUnActiveNode(this.treeView.itemsSignal());\n this.item()[this.treeView.activeField()] = true;\n }\n this.treeView.onNodeClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n\n protected handleTextDbClick(item: unknown) {\n if (item[this.treeView.disableField()] || this.treeView.expandOn() === 'click') {\n return;\n }\n if (item?.[this.treeView.childrenField()] || item[this.treeView.hasChildField()]) {\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded()) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n }\n this.treeView.onNodedbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n}\n","<div class=\"ax-tree-view-container\">\n @if ((item()[this.treeView.childrenField()] && !isLoading()) || (item()[treeView.hasChildField()] && !isLoading())) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n }\n\n <div class=\"ax-tree-view-items\">\n <ng-content select=\"ax-check-box\"></ng-content>\n <div\n [class.ax-state-disabled]=\"item()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\n axTooltipPlacement=\"end-bottom\"\n (click)=\"handleTextClick(item())\"\n (dblclick)=\"handleTextDbClick(item())\"\n class=\"ax-tree-view-items-prefix noselect-tree-view\"\n [class.ax-state-tree-view-active]=\"item()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n","import { AXComponent, AXExpandToggleIcons, AXValueChangedEvent, NXComponent } from '@acorex/cdk/common';\nimport { AXCheckBoxComponent } from '@acorex/components/check-box';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n HostBinding,\n inject,\n Input,\n input,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport {\n AXTreeItemClickBaseEvent,\n AXTreeViewBase,\n AXTreeViewExpandBehavior,\n AXTreeViewLook,\n AXTreeViewOperationMethod,\n AXTreeViewSelectionBehavior,\n} from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view',\n templateUrl: 'tree-view.component.html',\n styleUrls: ['tree-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n AXTreeViewItemComponent,\n AXCheckBoxComponent,\n FormsModule,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n providers: [\n { provide: AXComponent, useExisting: AXTreeViewComponent },\n { provide: AXTreeViewBase, useExisting: AXTreeViewComponent },\n ],\n})\nexport class AXTreeViewComponent extends NXComponent {\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`ax-look-${this.look()}`];\n }\n\n itemsSignal = signal<unknown[]>([]);\n\n itemsPromise: any;\n\n items = input<unknown[] | ((selectedItemId?: string | number) => unknown[] | Promise<unknown[]>)>();\n\n protected get resolvedItems() {\n return this.itemsSignal();\n }\n\n showCheckbox = input<boolean>(true);\n\n selectionMode = input<'single' | 'multiple'>('single');\n\n selectionBehavior = input<AXTreeViewSelectionBehavior>();\n\n focusNodeEnabled = input<boolean>(true);\n\n valueField = input('id');\n\n textField = input('text');\n\n visibleField = input('visible');\n\n disableField = input('disabled');\n\n hasChildField = input('hasChild');\n\n selectedField = input('selected');\n\n expandedField = input('expanded');\n\n tooltipField = input('tooltip');\n\n childrenField = input('children');\n\n activeField = input('active');\n\n indeterminateField = input('indeterminate');\n\n parentField = input('parentId');\n\n iconField = input<string>('icon');\n\n toggleIcons = input<AXExpandToggleIcons>();\n\n onSelectionChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n onCollapsedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodedbClick = output<AXTreeItemClickBaseEvent>();\n\n executorChanges = signal<AXTreeViewOperationMethod>(null);\n\n look = input<AXTreeViewLook>('defult');\n\n @Input() itemTemplate?: TemplateRef<unknown>;\n\n @Input() emptyTemplate?: TemplateRef<unknown>;\n\n protected platformService = inject(AXPlatform);\n\n #effect = effect(() => {\n const itemsInput = this.items();\n\n if (typeof itemsInput === 'function') {\n const result = itemsInput();\n if (result instanceof Promise) {\n this.itemsPromise = (options) => itemsInput(options);\n this.fetchData();\n } else {\n this.itemsSignal.set(result);\n this.itemsPromise = null;\n }\n } else {\n this.itemsSignal.set(itemsInput);\n this.itemsPromise = null;\n }\n });\n\n expandOn = input<AXTreeViewExpandBehavior>('defult');\n\n protected handleNodeSelectionClick(event: AXValueChangedEvent, item: unknown) {\n if (item[this.disableField()] || this.isNodeLoading(item[this.valueField()])) {\n return;\n }\n\n if (this.selectionMode() === 'single' && event.isUserInteraction) {\n this.handleUnSelectNode(this.itemsSignal());\n }\n\n if (event.isUserInteraction) {\n item[this.selectedField()] = event.value;\n\n if (event.value !== null) {\n switch (this.selectionBehavior()) {\n case 'autoExpand':\n if (event.value) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.[this.childrenField()]?.length) {\n this.fetchData(item);\n this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n }\n break;\n case 'cascade':\n this.expandAndToggleSelection(item, event.value);\n break;\n case 'indeterminate':\n if (item?.[this.childrenField()]?.length) {\n this.applySelectionToChildren(item, event.value, item[this.valueField()]);\n }\n this.updateParentSelection(item, event.value);\n break;\n default:\n break;\n }\n }\n\n const result: unknown[] = this.findSelectedNodes(this.itemsSignal());\n\n this.onSelectionChanged.emit({\n component: this,\n data: result,\n nativeElement: this.nativeElement,\n });\n }\n }\n\n /**\n *\n * auto expand\n *\n */\n private toggleExpand(item: unknown) {\n if (!item[this.expandedField()]) {\n item[this.expandedField()] = true;\n }\n }\n\n /**\n *\n * expand and change value parent change\n *\n */\n\n private async expandAndToggleSelection(item: unknown, selected: boolean) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.[this.childrenField()]?.length) {\n await this.fetchData(item);\n await this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n\n if (item[this.childrenField()]?.length) {\n this.applySelectionToChildren(item, selected, item[this.valueField()]);\n }\n }\n\n private applySelectionToChildren(item: unknown, isSelected: boolean, parentId?: number | string) {\n item[this.childrenField()].forEach(async (child) => {\n if (\n this.itemsPromise &&\n child[this.hasChildField()] &&\n !child?.[this.childrenField()]?.length &&\n this.selectionBehavior() === 'cascade'\n ) {\n await this.fetchData(child);\n await this.setNodeLoading(child[this.valueField()], true);\n this.toggleExpand(child);\n }\n child[this.parentField()] = parentId;\n child[this.selectedField()] = isSelected;\n if (child[this.childrenField()]?.length) {\n this.applySelectionToChildren(child, isSelected, child[this.valueField()]);\n }\n });\n }\n\n /**\n *\n * indeterminate logic\n *\n */\n\n private updateParentSelection(item: unknown, selected: boolean) {\n item[this.selectedField()] = selected;\n\n let parent = this.findParent(item, this.itemsSignal());\n\n while ((parent && parent[this.selectedField()] != false) || (parent && item[this.selectedField()])) {\n const allSelected = parent?.[this.childrenField()]?.every((child) => child[this.selectedField()]);\n\n const someSelected = parent?.[this.childrenField()]?.some(\n (child) => child[this.selectedField()] || child[this.indeterminateField()],\n );\n\n if (!allSelected && !someSelected) {\n parent[this.selectedField()] = false;\n parent[this.indeterminateField()] = null;\n } else if (!allSelected) {\n parent[this.indeterminateField()] = true;\n parent[this.selectedField()] = null;\n } else if (allSelected) {\n parent[this.selectedField()] = true;\n parent[this.indeterminateField()] = false;\n } else {\n parent[this.indeterminateField()] = false;\n parent[this.selectedField()] = true;\n }\n\n parent = this.findParent(parent, this.itemsSignal());\n }\n }\n\n private findParent(item: unknown, nodes: unknown[]) {\n for (const node of nodes) {\n if (node[this.childrenField()]?.includes(item)) {\n return node;\n } else if (node[this.childrenField()]) {\n const parent = this.findParent(item, node[this.childrenField()]);\n if (parent) return parent;\n }\n }\n return null;\n }\n\n /**\n *\n * find node selected true for emit Selections\n *\n */\n\n private findSelectedNodes(nodes: unknown[]): unknown[] {\n let selectedNodes: unknown[] = [];\n\n nodes.forEach((node) => {\n if (node[this.selectedField()]) {\n selectedNodes.push(node);\n }\n\n if (node[this.childrenField()]) {\n selectedNodes = selectedNodes.concat(this.findSelectedNodes(node[this.childrenField()]));\n }\n });\n\n return selectedNodes;\n }\n\n /**\n *\n * find for emit Selections single mode\n *\n */\n\n private handleUnSelectNode(items: unknown[]) {\n items.forEach((child) => {\n child[this.selectedField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnSelectNode(child[this.childrenField()]);\n }\n });\n }\n\n /**\n *\n * lazy load logic\n *\n */\n\n fetchData(selectedNode?: unknown) {\n this.itemsPromise(selectedNode?.[this.valueField()])\n .then((data: unknown[]) => {\n if (Array.isArray(data)) {\n if (selectedNode?.[this.valueField()]) {\n this.findNode(selectedNode[this.valueField()], data, this.itemsSignal());\n } else {\n this.itemsSignal.set(data);\n }\n }\n })\n .finally(() => {\n this.setNodeLoading(selectedNode?.[this.valueField()], false);\n });\n }\n\n private findNode(parentId: number | string, _children: unknown[], source: unknown[]) {\n if (source.length) {\n source.forEach((element) => {\n if (element[this.valueField()] == parentId) {\n if (this.selectionBehavior() === 'indeterminate' && element[this.selectedField()]) {\n _children.forEach((child) => (child[this.selectedField()] = true));\n }\n element[this.childrenField()] = _children;\n } else {\n if (element?.[this.childrenField()]) this.findNode(parentId, _children, element[this.childrenField()]);\n }\n });\n }\n }\n\n /**\n *\n * emit when arrow click\n *\n */\n\n protected handleNodeExpandClick(node: AXTreeItemClickBaseEvent) {\n const selectedNode = node.data;\n if (this.itemsPromise && node.data[this.expandedField()] && !node?.data[this.childrenField()]?.length) {\n this.fetchData(selectedNode);\n this.setNodeLoading(selectedNode[this.valueField()], true);\n }\n this.onCollapsedChanged.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n handleUnActiveNode(unActiveSource: unknown[]) {\n unActiveSource.forEach((child) => {\n child[this.activeField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnActiveNode(child[this.childrenField()]);\n }\n });\n }\n\n private loadingState = signal<Record<string | number, boolean>>({});\n\n protected isNodeLoading(nodeId: string | number): boolean {\n return this.loadingState()[nodeId] || false;\n }\n\n setNodeLoading(nodeId: string | number, isLoading: boolean): void {\n this.loadingState.update((state) => ({\n ...state,\n [nodeId]: isLoading,\n }));\n }\n\n public executeOnTreeNode(node: unknown, operation: AXTreeViewOperationMethod, value: boolean) {\n switch (operation) {\n case 'active':\n node[this.activeField()] = value;\n break;\n case 'expand':\n node[this.expandedField()] = true;\n if (this.itemsPromise && node[this.hasChildField()] && !node[this.childrenField()]?.length) {\n this.handleNodeExpandClick({ data: node, nativeElement: this.nativeElement, component: this });\n }\n\n break;\n case 'visible':\n node[this.visibleField()] = value;\n\n break;\n case 'disabled':\n node[this.disableField()] = value;\n break;\n default:\n break;\n }\n /**\n *\n * for detect changes treeviewitem\n *\n */\n\n this.executorChanges.set(operation);\n }\n\n refresh() {\n if (this.itemsPromise) {\n this.fetchData();\n }\n }\n}\n","@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></ng-container>\n}\n\n<ng-template #recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [(isExpanded)]=\"item[expandedField()]\"\n [(isActive)]=\"item[activeField()]\"\n [isLoading]=\"isNodeLoading(item[valueField()])\"\n [executorChanges]=\"executorChanges()\"\n >\n @if (this.showCheckbox()) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item[indeterminateField()]\"\n [(ngModel)]=\"item[selectedField()]\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.[childrenField()]; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n\n<ng-template #empty>\n {{ 'no-result-found' | translate | async }}\n</ng-template>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport { AXTreeViewComponent } from './tree-view.component';\n\nconst COMPONENT = [AXTreeViewComponent, AXTreeViewItemComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXFormModule,\n FormsModule,\n AXTooltipModule,\n AXLoadingModule,\n];\n@NgModule({\n imports: [...COMPONENT, ...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXTreeViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;;;;AAGM,MAAO,wBAAyB,SAAQ,YAAY,CAAA;AAEzD;MAUqB,cAAc,CAAA;AA+BnC;;ACRK,MAAO,uBAAwB,SAAQ,WAAW,CAAA;AACtD,IAAA,WAAA,GAAA;AACE,QAAA,KAAK,EAAE;AAGT,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,cAAc,CAAC;QAEjC,IAAI,CAAA,IAAA,GAAG,KAAK,EAAW;AAEvB,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,KAAK,CAAC;AAElC,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAAU,KAAK,CAAC;AAEhC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,CAAC;QAEjC,IAAe,CAAA,eAAA,GAAG,KAAK,EAA6B;AAE1C,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;AAEpC,QAAA,IAAA,CAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;YAClC,MAAM,WAAW,GAAG,0CAA0C;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAE/C,IAAI,WAAW,EAAE;gBACf,OAAO,IAAI,CAAC,UAAU,EAAE,GAAG,CAAA,EAAG,WAAW,CAAA,CAAA,EAAI,WAAW,CAAC,QAAQ,CAAE,CAAA,GAAG,CAAG,EAAA,WAAW,IAAI,WAAW,CAAC,SAAS,CAAA,CAAE;;AAGjH,YAAA,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACrB,OAAO,CAAA,EAAG,WAAW,CAAA,qBAAA,CAAuB;;AAG9C,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK;kBAC7B,CAAG,EAAA,WAAW,CAAuB,qBAAA;AACvC,kBAAE,CAAA,EAAG,WAAW,CAAA,sBAAA,CAAwB;AAC5C,SAAC,CAAC;;IAEQ,oBAAoB,GAAA;QAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,SAAS,EAAE;YAC3G;;QAGF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;YAC1G,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC;;QAG7E,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;AAGxG,IAAA,eAAe,CAAC,IAAa,EAAA;AACrC,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,EAAE;YAC7C;;AAEF,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,EAAE;AACpC,YAAA,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;AAC7D,YAAA,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI;;QAEjD,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;AAG1F,IAAA,iBAAiB,CAAC,IAAa,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,OAAO,EAAE;YAC9E;;QAEF,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,EAAE;YAChF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAEvC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;gBACnD,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC;;;QAG/E,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;+GA1E3F,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,EAAA,SAAA,EAFvB,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,uBAAuB,EAAE,CAAC,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECpC7E,u6CAkCA,EDCY,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,sMAAE,kBAAkB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,EArBlD,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,oBAAA,EAAA,oBAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,gBAAgB,EAAE;AACxB,gBAAA,KAAK,CACH,WAAW,EACX,KAAK,CAAC;AACJ,oBAAA,MAAM,EAAE,GAAG;AACX,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,OAAO,EAAE,CAAC;AACX,iBAAA,CAAC,CACH;AACD,gBAAA,KAAK,CACH,UAAU,EACV,KAAK,CAAC;AACJ,oBAAA,MAAM,EAAE,GAAG;AACX,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,OAAO,EAAE,CAAC;AACX,iBAAA,CAAC,CACH;gBACD,UAAU,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;aACrE,CAAC;AACH,SAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAIU,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBA7BnC,SAAS;+BACE,mBAAmB,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACnC,UAAA,EAAA;wBACV,OAAO,CAAC,gBAAgB,EAAE;AACxB,4BAAA,KAAK,CACH,WAAW,EACX,KAAK,CAAC;AACJ,gCAAA,MAAM,EAAE,GAAG;AACX,gCAAA,QAAQ,EAAE,QAAQ;AAClB,gCAAA,OAAO,EAAE,CAAC;AACX,6BAAA,CAAC,CACH;AACD,4BAAA,KAAK,CACH,UAAU,EACV,KAAK,CAAC;AACJ,gCAAA,MAAM,EAAE,GAAG;AACX,gCAAA,QAAQ,EAAE,QAAQ;AAClB,gCAAA,OAAO,EAAE,CAAC;AACX,6BAAA,CAAC,CACH;4BACD,UAAU,CAAC,wBAAwB,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;yBACrE,CAAC;AACH,qBAAA,EAAA,OAAA,EACQ,CAAC,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,CAAC,EAAA,SAAA,EACpD,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAA,uBAAyB,EAAE,CAAC,EAAA,QAAA,EAAA,u6CAAA,EAAA;;;AEevE,MAAO,mBAAoB,SAAQ,WAAW,CAAA;AArBpD,IAAA,WAAA,GAAA;;AA4BE,QAAA,IAAA,CAAA,WAAW,GAAG,MAAM,CAAY,EAAE,CAAC;QAInC,IAAK,CAAA,KAAA,GAAG,KAAK,EAAsF;AAMnG,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAU,IAAI,CAAC;AAEnC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAwB,QAAQ,CAAC;QAEtD,IAAiB,CAAA,iBAAA,GAAG,KAAK,EAA+B;AAExD,QAAA,IAAA,CAAA,gBAAgB,GAAG,KAAK,CAAU,IAAI,CAAC;AAEvC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;AAExB,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;AAEzB,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;AAE/B,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC;AAEhC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;AAEjC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;AAEjC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;AAEjC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC;AAE/B,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;AAEjC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC;AAE7B,QAAA,IAAA,CAAA,kBAAkB,GAAG,KAAK,CAAC,eAAe,CAAC;AAE3C,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,UAAU,CAAC;AAE/B,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAS,MAAM,CAAC;QAEjC,IAAW,CAAA,WAAA,GAAG,KAAK,EAAuB;QAE1C,IAAkB,CAAA,kBAAA,GAAG,MAAM,EAA4B;QAEvD,IAAW,CAAA,WAAA,GAAG,MAAM,EAA4B;QAEhD,IAAkB,CAAA,kBAAA,GAAG,MAAM,EAA4B;QAEvD,IAAa,CAAA,aAAA,GAAG,MAAM,EAA4B;AAElD,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAA4B,IAAI,CAAC;AAEzD,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAiB,QAAQ,CAAC;AAM5B,QAAA,IAAA,CAAA,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;AAE9C,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,MAAK;AACpB,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;AAE/B,YAAA,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AACpC,gBAAA,MAAM,MAAM,GAAG,UAAU,EAAE;AAC3B,gBAAA,IAAI,MAAM,YAAY,OAAO,EAAE;AAC7B,oBAAA,IAAI,CAAC,YAAY,GAAG,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC;oBACpD,IAAI,CAAC,SAAS,EAAE;;qBACX;AACL,oBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;AAC5B,oBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;;iBAErB;AACL,gBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;AAChC,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI;;AAE5B,SAAC,CAAC;AAEF,QAAA,IAAA,CAAA,QAAQ,GAAG,KAAK,CAA2B,QAAQ,CAAC;AAoP5C,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAmC,EAAE,CAAC;AAiDpE;;AA5XC,IAAA,IACY,WAAW,GAAA;QACrB,OAAO,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAA,CAAE,CAAC;;AASnC,IAAA,IAAc,aAAa,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,WAAW,EAAE;;AAyD3B,IAAA,OAAO;IAoBG,wBAAwB,CAAC,KAA0B,EAAE,IAAa,EAAA;QAC1E,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;YAC5E;;QAGF,IAAI,IAAI,CAAC,aAAa,EAAE,KAAK,QAAQ,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAChE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;;AAG7C,QAAA,IAAI,KAAK,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK;AAExC,YAAA,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,EAAE;AACxB,gBAAA,QAAQ,IAAI,CAAC,iBAAiB,EAAE;AAC9B,oBAAA,KAAK,YAAY;AACf,wBAAA,IAAI,KAAK,CAAC,KAAK,EAAE;4BACf,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AAC5F,gCAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AACpB,gCAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC;;AAEpD,4BAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;;wBAEzB;AACF,oBAAA,KAAK,SAAS;wBACZ,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;wBAChD;AACF,oBAAA,KAAK,eAAe;wBAClB,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AACxC,4BAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;;wBAE3E,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;wBAC7C;AACF,oBAAA;wBACE;;;YAIN,MAAM,MAAM,GAAc,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAEpE,YAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAC3B,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,IAAI,EAAE,MAAM;gBACZ,aAAa,EAAE,IAAI,CAAC,aAAa;AAClC,aAAA,CAAC;;;AAIN;;;;AAIG;AACK,IAAA,YAAY,CAAC,IAAa,EAAA;QAChC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI;;;AAIrC;;;;AAIG;AAEK,IAAA,MAAM,wBAAwB,CAAC,IAAa,EAAE,QAAiB,EAAA;QACrE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AAC5F,YAAA,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC1B,YAAA,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC;;AAE1D,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QAEvB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AACtC,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;;;AAIlE,IAAA,wBAAwB,CAAC,IAAa,EAAE,UAAmB,EAAE,QAA0B,EAAA;AAC7F,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,KAAI;YACjD,IACE,IAAI,CAAC,YAAY;AACjB,gBAAA,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM;AACtC,gBAAA,IAAI,CAAC,iBAAiB,EAAE,KAAK,SAAS,EACtC;AACA,gBAAA,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC3B,gBAAA,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC;AACzD,gBAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;;YAE1B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,QAAQ;YACpC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,UAAU;YACxC,IAAI,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AACvC,gBAAA,IAAI,CAAC,wBAAwB,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;;AAE9E,SAAC,CAAC;;AAGJ;;;;AAIG;IAEK,qBAAqB,CAAC,IAAa,EAAE,QAAiB,EAAA;QAC5D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,QAAQ;AAErC,QAAA,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QAEtD,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE;YAClG,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAEjG,YAAA,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CACvD,CAAC,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAC3E;AAED,YAAA,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE;gBACjC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK;gBACpC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI;;iBACnC,IAAI,CAAC,WAAW,EAAE;gBACvB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,IAAI;gBACxC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI;;iBAC9B,IAAI,WAAW,EAAE;gBACtB,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI;gBACnC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,KAAK;;iBACpC;gBACL,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,GAAG,KAAK;gBACzC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI;;AAGrC,YAAA,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;;;IAIhD,UAAU,CAAC,IAAa,EAAE,KAAgB,EAAA;AAChD,QAAA,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AACxB,YAAA,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;AAC9C,gBAAA,OAAO,IAAI;;iBACN,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AACrC,gBAAA,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;AAChE,gBAAA,IAAI,MAAM;AAAE,oBAAA,OAAO,MAAM;;;AAG7B,QAAA,OAAO,IAAI;;AAGb;;;;AAIG;AAEK,IAAA,iBAAiB,CAAC,KAAgB,EAAA;QACxC,IAAI,aAAa,GAAc,EAAE;AAEjC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;YACrB,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AAC9B,gBAAA,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;;YAG1B,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;AAC9B,gBAAA,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;;AAE5F,SAAC,CAAC;AAEF,QAAA,OAAO,aAAa;;AAGtB;;;;AAIG;AAEK,IAAA,kBAAkB,CAAC,KAAgB,EAAA;AACzC,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YACtB,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK;YACnC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;gBACzC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;;AAExD,SAAC,CAAC;;AAGJ;;;;AAIG;AAEH,IAAA,SAAS,CAAC,YAAsB,EAAA;QAC9B,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;AAChD,aAAA,IAAI,CAAC,CAAC,IAAe,KAAI;AACxB,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvB,IAAI,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE;AACrC,oBAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;;qBACnE;AACL,oBAAA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;;;AAGhC,SAAC;aACA,OAAO,CAAC,MAAK;AACZ,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,CAAC;AAC/D,SAAC,CAAC;;AAGE,IAAA,QAAQ,CAAC,QAAyB,EAAE,SAAoB,EAAE,MAAiB,EAAA;AACjF,QAAA,IAAI,MAAM,CAAC,MAAM,EAAE;AACjB,YAAA,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;gBACzB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,QAAQ,EAAE;AAC1C,oBAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE,KAAK,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;wBACjF,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;;oBAEpE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,SAAS;;qBACpC;AACL,oBAAA,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;AAAE,wBAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;;AAE1G,aAAC,CAAC;;;AAIN;;;;AAIG;AAEO,IAAA,qBAAqB,CAAC,IAA8B,EAAA;AAC5D,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI;QAC9B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AACrG,YAAA,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC;;QAE5D,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;;AAGvG,IAAA,kBAAkB,CAAC,cAAyB,EAAA;AAC1C,QAAA,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;YAC/B,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK;YACjC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;gBACzC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;;AAExD,SAAC,CAAC;;AAKM,IAAA,aAAa,CAAC,MAAuB,EAAA;QAC7C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK;;IAG7C,cAAc,CAAC,MAAuB,EAAE,SAAkB,EAAA;QACxD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM;AACnC,YAAA,GAAG,KAAK;YACR,CAAC,MAAM,GAAG,SAAS;AACpB,SAAA,CAAC,CAAC;;AAGE,IAAA,iBAAiB,CAAC,IAAa,EAAE,SAAoC,EAAE,KAAc,EAAA;QAC1F,QAAQ,SAAS;AACf,YAAA,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK;gBAChC;AACF,YAAA,KAAK,QAAQ;gBACX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,GAAG,IAAI;gBACjC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,MAAM,EAAE;AAC1F,oBAAA,IAAI,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;gBAGhG;AACF,YAAA,KAAK,SAAS;gBACZ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK;gBAEjC;AACF,YAAA,KAAK,UAAU;gBACb,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,KAAK;gBACjC;AACF,YAAA;gBACE;;AAEJ;;;;AAIG;AAEH,QAAA,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;;IAGrC,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,SAAS,EAAE;;;+GA3XT,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EALnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,kBAAA,EAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,SAAA,EAAA;AACT,YAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC1D,YAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAAE;AAC9D,SAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjDH,8iDA+CA,EDVI,MAAA,EAAA,CAAA,qyFAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,gBAAgB,EAChB,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,uBAAuB,2LACvB,mBAAmB,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,SAAA,EAAA,aAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACnB,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACX,2BAA2B,EAC3B,QAAA,EAAA,8IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,wBAAwB,EACxB,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,gBAAgB,6CAChB,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAOA,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBArB/B,SAAS;+BACE,cAAc,EAAA,aAAA,EAGT,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,gBAAgB;wBAChB,uBAAuB;wBACvB,mBAAmB;wBACnB,WAAW;wBACX,2BAA2B;wBAC3B,wBAAwB;wBACxB,gBAAgB;wBAChB,SAAS;qBACV,EACU,SAAA,EAAA;AACT,wBAAA,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,qBAAqB,EAAE;AAC1D,wBAAA,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,qBAAqB,EAAE;AAC9D,qBAAA,EAAA,QAAA,EAAA,8iDAAA,EAAA,MAAA,EAAA,CAAA,qyFAAA,CAAA,EAAA;8BAKW,WAAW,EAAA,CAAA;sBADtB,WAAW;uBAAC,OAAO;gBA+DX,YAAY,EAAA,CAAA;sBAApB;gBAEQ,aAAa,EAAA,CAAA;sBAArB;;;AE1GH,MAAM,SAAS,GAAG,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;AAChE,MAAM,OAAO,GAAG;IACd,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,YAAY;IACZ,WAAW;IACX,eAAe;IACf,eAAe;CAChB;MAKY,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,EAfV,OAAA,EAAA,CAAA,mBAAmB,EAAE,uBAAuB,EAE7D,YAAY;YACZ,cAAc;YACd,iBAAiB;YACjB,gBAAgB;YAChB,YAAY;YACZ,WAAW;YACX,eAAe;YACf,eAAe,CAAA,EAAA,OAAA,EAAA,CATE,mBAAmB,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAelD,gBAAgB,EAAA,OAAA,EAAA,CAHd,SAAS,EAAK,OAAO,CAAA,EAAA,CAAA,CAAA;;4FAGvB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;AACnC,oBAAA,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC;AACxB,iBAAA;;;AC1BD;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"acorex-components-tree-view.mjs","sources":["../../../../packages/components/tree-view/src/lib/tree-view.class.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.ts","../../../../packages/components/tree-view/src/lib/tree-view-item.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.ts","../../../../packages/components/tree-view/src/lib/tree-view.component.html","../../../../packages/components/tree-view/src/lib/tree-view.component.module.ts","../../../../packages/components/tree-view/src/acorex-components-tree-view.ts"],"sourcesContent":["import { AXClickEvent } from '@acorex/cdk/common';\nimport { EventEmitter } from '@angular/core';\n\nexport class AXTreeItemClickBaseEvent extends AXClickEvent {\n nativeElement: any;\n}\n\nexport type AXTreeViewSelectionBehavior = 'autoExpand' | 'cascade' | 'indeterminate';\n\nexport type AXTreeViewExpandBehavior = 'click' | 'dbClick' | 'defult';\n\nexport type AXTreeViewOperationMethod = 'expand' | 'active' | 'visible' | 'disabled';\n\nexport type AXTreeViewLook = 'with-line' | 'defult';\n\nexport type AXTreeViewSelectionScope = 'all' | 'parent' | 'children';\n\nexport abstract class AXTreeViewBase {\n abstract getChildren(item: unknown): unknown[];\n\n abstract hasChildren(item: unknown): boolean;\n\n abstract itemTemplate: any;\n\n // Field accessors\n abstract disableField(): string;\n abstract childrenField(): string;\n abstract valueField(): string;\n abstract activeField(): string;\n abstract hasChildField(): string;\n abstract tooltipField(): string;\n\n // Behavior methods\n abstract expandOn(): AXTreeViewExpandBehavior;\n abstract focusNodeEnabled(): boolean;\n abstract toggleIcons(): { expanded: string; collapsed: string } | null;\n\n // Data management\n abstract itemsPromise: boolean;\n abstract itemsSignal(): unknown[];\n abstract fetchData(item: unknown): void;\n abstract setNodeLoading(value: unknown, loading: boolean): void;\n abstract handleUnActiveNode(items: unknown[]): void;\n\n // Event emitters\n abstract onCollapsedChanged: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodeClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n abstract onNodedbClick: EventEmitter<{ component: any; data: unknown; nativeElement: any }>;\n}\n","import { AXComponent, NXComponent } from '@acorex/cdk/common';\nimport { AXLoadingComponent } from '@acorex/components/loading';\nimport { AXTooltipDirective } from '@acorex/components/tooltip';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { animate, state, style, transition, trigger } from '@angular/animations';\nimport { CommonModule } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input, model, ViewEncapsulation } from '@angular/core';\nimport { AXTreeViewBase, AXTreeViewOperationMethod } from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view-item',\n templateUrl: 'tree-view-item.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [\n trigger('collapseExpand', [\n state(\n 'collapsed',\n style({\n height: '0',\n overflow: 'hidden',\n opacity: 0,\n }),\n ),\n state(\n 'expanded',\n style({\n height: '*',\n overflow: 'hidden',\n opacity: 1,\n }),\n ),\n transition('collapsed <=> expanded', [animate('300ms ease-in-out')]),\n ]),\n ],\n imports: [CommonModule, AXLoadingComponent, AXTooltipDirective],\n providers: [{ provide: AXComponent, useExisting: AXTreeViewItemComponent }],\n})\nexport class AXTreeViewItemComponent extends NXComponent {\n constructor() {\n super();\n }\n\n treeView = inject(AXTreeViewBase);\n\n item = input<unknown>();\n\n isExpanded = model<boolean>(false);\n\n isActive = model<boolean>(false);\n\n isLoading = input<boolean>(false);\n\n executorChanges = input<AXTreeViewOperationMethod>();\n\n protected platformService = inject(AXPlatform);\n\n protected arrowIcon = computed(() => {\n const baseClasses = 'ax-tree-view-arrow ax-icon ax-icon-solid';\n const toggleIcons = this.treeView.toggleIcons();\n\n if (toggleIcons) {\n return this.isExpanded() ? `${baseClasses} ${toggleIcons.expanded}` : `${baseClasses} ${toggleIcons.collapsed}`;\n }\n\n if (this.isExpanded()) {\n return `${baseClasses} ax-icon-chevron-down`;\n }\n\n return this.platformService.isRtl()\n ? `${baseClasses} ax-icon-chevron-left`\n : `${baseClasses} ax-icon-chevron-right`;\n });\n\n protected handleArrowNodeClick() {\n if (this.item()[this.treeView.disableField()] || this.isLoading() || this.treeView.expandOn() === 'dbClick') {\n return;\n }\n\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded() && !this.item()[this.treeView.childrenField()]?.length) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n\n this.treeView.onCollapsedChanged.emit({ component: this, data: this.item(), nativeElement: this.nativeElement });\n }\n\n protected handleTextClick(item: unknown) {\n if (this.item()[this.treeView.disableField()]) {\n return;\n }\n if (this.treeView.focusNodeEnabled()) {\n this.treeView.handleUnActiveNode(this.treeView.itemsSignal());\n this.item()[this.treeView.activeField()] = true;\n }\n this.treeView.onNodeClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n\n protected handleTextDbClick(item: unknown) {\n if (item[this.treeView.disableField()] || this.treeView.expandOn() === 'click') {\n return;\n }\n if (item?.[this.treeView.childrenField()] || item[this.treeView.hasChildField()]) {\n this.isExpanded.set(!this.isExpanded());\n\n if (this.treeView.itemsPromise && this.isExpanded()) {\n this.treeView.fetchData(this.item());\n this.treeView.setNodeLoading(this.item()[this.treeView.valueField()], true);\n }\n }\n this.treeView.onNodedbClick.emit({ component: this, data: item, nativeElement: this.nativeElement });\n }\n}\n","<div class=\"ax-tree-view-container\">\n @if (\n (item()[this.treeView.childrenField()]?.length && !isLoading()) ||\n (item()[treeView.hasChildField()] && !isLoading())\n ) {\n <div class=\"ax-tree-view-icon-container\" (click)=\"handleArrowNodeClick()\">\n <i [class.ax-state-disabled]=\"item()[treeView.disableField()]\" class=\"{{ arrowIcon() }}\"></i>\n </div>\n } @else if (isLoading()) {\n <ax-loading></ax-loading>\n } @else {\n <div class=\"ax-tree-view-icon-container placeholder-icon\"></div>\n }\n\n <div class=\"ax-tree-view-items\">\n <ng-content select=\"ax-check-box\"></ng-content>\n <div\n [class.ax-state-disabled]=\"item()[treeView.disableField()]\"\n [axTooltip]=\"item()[treeView.tooltipField()]\"\n axTooltipPlacement=\"end-bottom\"\n (click)=\"handleTextClick(item())\"\n (dblclick)=\"handleTextDbClick(item())\"\n class=\"ax-tree-view-items-prefix noselect-tree-view\"\n [class.ax-state-tree-view-active]=\"item()[treeView.activeField()]\"\n >\n @if (treeView.itemTemplate) {\n <ng-container *ngTemplateOutlet=\"treeView.itemTemplate; context: { $implicit: item() }\"></ng-container>\n } @else {\n <ng-content select=\"ax-prefix\"></ng-content>\n <ng-content select=\"ax-text\"></ng-content>\n <ng-content select=\"ax-suffix\"></ng-content>\n }\n </div>\n </div>\n</div>\n\n<div class=\"ax-tree-view-child\" [@collapseExpand]=\"isExpanded() ? 'expanded' : 'collapsed'\">\n <ng-content></ng-content>\n</div>\n","import { AXComponent, AXExpandToggleIcons, AXValueChangedEvent, NXComponent } from '@acorex/cdk/common';\nimport { AXCheckBoxComponent } from '@acorex/components/check-box';\nimport { AXDecoratorGenericComponent, AXDecoratorIconComponent } from '@acorex/components/decorators';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXTranslatorPipe } from '@acorex/core/translation';\nimport { AsyncPipe, NgTemplateOutlet } from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n effect,\n HostBinding,\n inject,\n Input,\n input,\n output,\n signal,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport {\n AXTreeItemClickBaseEvent,\n AXTreeViewBase,\n AXTreeViewExpandBehavior,\n AXTreeViewLook,\n AXTreeViewOperationMethod,\n AXTreeViewSelectionBehavior,\n AXTreeViewSelectionScope,\n} from './tree-view.class';\n\n@Component({\n selector: 'ax-tree-view',\n templateUrl: 'tree-view.component.html',\n styleUrls: ['tree-view.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgTemplateOutlet,\n AXTreeViewItemComponent,\n AXCheckBoxComponent,\n FormsModule,\n AXDecoratorGenericComponent,\n AXDecoratorIconComponent,\n AXTranslatorPipe,\n AsyncPipe,\n ],\n providers: [\n { provide: AXComponent, useExisting: AXTreeViewComponent },\n { provide: AXTreeViewBase, useExisting: AXTreeViewComponent },\n ],\n})\nexport class AXTreeViewComponent extends NXComponent {\n /** @ignore */\n @HostBinding('class')\n private get __hostClass(): string[] {\n return [`ax-look-${this.look()}`];\n }\n\n itemsSignal = signal<unknown[]>([]);\n\n itemsPromise: any;\n\n items = input<unknown[] | ((selectedItemId?: string | number) => unknown[] | Promise<unknown[]>)>();\n\n protected get resolvedItems() {\n return this.itemsSignal();\n }\n\n showCheckbox = input<boolean>(true);\n\n selectionMode = input<'single' | 'multiple'>('single');\n\n selectionBehavior = input<AXTreeViewSelectionBehavior>();\n\n selectionScope = input<AXTreeViewSelectionScope>('all');\n\n focusNodeEnabled = input<boolean>(true);\n\n valueField = input('id');\n\n textField = input('text');\n\n visibleField = input('visible');\n\n disableField = input('disabled');\n\n hasChildField = input('hasChild');\n\n selectedField = input('selected');\n\n expandedField = input('expanded');\n\n tooltipField = input('tooltip');\n\n childrenField = input('children');\n\n activeField = input('active');\n\n indeterminateField = input('indeterminate');\n\n parentField = input('parentId');\n\n iconField = input<string>('icon');\n\n toggleIcons = input<AXExpandToggleIcons>();\n\n onSelectionChanged = output<AXTreeItemClickBaseEvent>();\n\n onItemSelectedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodeClick = output<AXTreeItemClickBaseEvent>();\n\n onCollapsedChanged = output<AXTreeItemClickBaseEvent>();\n\n onNodedbClick = output<AXTreeItemClickBaseEvent>();\n\n executorChanges = signal<AXTreeViewOperationMethod>(null);\n\n look = input<AXTreeViewLook>('defult');\n\n @Input() itemTemplate?: TemplateRef<unknown>;\n\n @Input() emptyTemplate?: TemplateRef<unknown>;\n\n protected platformService = inject(AXPlatform);\n\n #effect = effect(() => {\n const itemsInput = this.items();\n\n if (typeof itemsInput === 'function') {\n const result = itemsInput();\n if (result instanceof Promise) {\n this.itemsPromise = (options) => itemsInput(options);\n this.fetchData();\n } else {\n this.itemsSignal.set(result);\n this.itemsPromise = null;\n }\n } else {\n this.itemsSignal.set(itemsInput);\n this.itemsPromise = null;\n }\n });\n\n expandOn = input<AXTreeViewExpandBehavior>('defult');\n\n protected handleNodeSelectionClick(event: AXValueChangedEvent, item: unknown) {\n if (item[this.disableField()] || this.isNodeLoading(item[this.valueField()])) {\n return;\n }\n\n if (this.selectionMode() === 'single' && event.isUserInteraction) {\n this.handleUnSelectNode(this.itemsSignal());\n }\n\n if (event.isUserInteraction) {\n item[this.selectedField()] = event.value;\n\n if (event.value !== null) {\n switch (this.selectionBehavior()) {\n case 'autoExpand':\n if (event.value) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.[this.childrenField()]?.length) {\n this.fetchData(item);\n this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n }\n break;\n case 'cascade':\n this.expandAndToggleSelection(item, event.value);\n break;\n case 'indeterminate':\n if (item?.[this.childrenField()]?.length) {\n this.applySelectionToChildren(item, event.value, item[this.valueField()]);\n }\n this.updateParentSelection(item, event.value);\n break;\n default:\n break;\n }\n }\n\n this.onItemSelectedChanged.emit({\n component: this,\n data: item,\n nativeElement: this.nativeElement,\n });\n\n const result: unknown[] = this.findSelectedNodes(this.itemsSignal());\n\n this.onSelectionChanged.emit({\n component: this,\n data: result,\n nativeElement: this.nativeElement,\n });\n }\n }\n\n /**\n *\n * auto expand\n *\n */\n private toggleExpand(item: unknown) {\n if (!item[this.expandedField()]) {\n item[this.expandedField()] = true;\n }\n }\n\n /**\n *\n * expand and change value parent change\n *\n */\n\n private async expandAndToggleSelection(item: unknown, selected: boolean) {\n if (this.itemsPromise && item[this.hasChildField()] && !item?.[this.childrenField()]?.length) {\n await this.fetchData(item);\n await this.setNodeLoading(item[this.valueField()], true);\n }\n this.toggleExpand(item);\n\n if (item[this.childrenField()]?.length) {\n this.applySelectionToChildren(item, selected, item[this.valueField()]);\n }\n }\n\n private applySelectionToChildren(item: unknown, isSelected: boolean, parentId?: number | string) {\n item[this.childrenField()].forEach(async (child) => {\n if (\n this.itemsPromise &&\n child[this.hasChildField()] &&\n !child?.[this.childrenField()]?.length &&\n this.selectionBehavior() === 'cascade'\n ) {\n await this.fetchData(child);\n await this.setNodeLoading(child[this.valueField()], true);\n this.toggleExpand(child);\n }\n child[this.parentField()] = parentId;\n child[this.selectedField()] = isSelected;\n if (child[this.childrenField()]?.length) {\n this.applySelectionToChildren(child, isSelected, child[this.valueField()]);\n }\n });\n }\n\n /**\n *\n * indeterminate logic\n *\n */\n\n private updateParentSelection(item: unknown, selected: boolean) {\n item[this.selectedField()] = selected;\n\n let parent = this.findParent(item, this.itemsSignal());\n\n while ((parent && parent[this.selectedField()] != false) || (parent && item[this.selectedField()])) {\n const allSelected = parent?.[this.childrenField()]?.every((child) => child[this.selectedField()]);\n\n const someSelected = parent?.[this.childrenField()]?.some(\n (child) => child[this.selectedField()] || child[this.indeterminateField()],\n );\n\n if (!allSelected && !someSelected) {\n parent[this.selectedField()] = false;\n parent[this.indeterminateField()] = null;\n } else if (!allSelected) {\n parent[this.indeterminateField()] = true;\n parent[this.selectedField()] = null;\n } else if (allSelected) {\n parent[this.selectedField()] = true;\n parent[this.indeterminateField()] = false;\n } else {\n parent[this.indeterminateField()] = false;\n parent[this.selectedField()] = true;\n }\n\n parent = this.findParent(parent, this.itemsSignal());\n }\n }\n\n private findParent(item: unknown, nodes: unknown[]) {\n for (const node of nodes) {\n if (node[this.childrenField()]?.includes(item)) {\n return node;\n } else if (node[this.childrenField()]) {\n const parent = this.findParent(item, node[this.childrenField()]);\n if (parent) return parent;\n }\n }\n return null;\n }\n\n /**\n *\n * find node selected true for emit Selections\n *\n */\n\n private findSelectedNodes(nodes: unknown[]): unknown[] {\n let selectedNodes: unknown[] = [];\n\n nodes.forEach((node) => {\n if (node[this.selectedField()]) {\n selectedNodes.push(node);\n }\n\n if (node[this.childrenField()]) {\n selectedNodes = selectedNodes.concat(this.findSelectedNodes(node[this.childrenField()]));\n }\n });\n\n return selectedNodes;\n }\n\n /**\n *\n * find for emit Selections single mode\n *\n */\n\n private handleUnSelectNode(items: unknown[]) {\n items.forEach((child) => {\n child[this.selectedField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnSelectNode(child[this.childrenField()]);\n }\n });\n }\n\n /**\n *\n * lazy load logic\n *\n */\n\n fetchData(selectedNode?: unknown) {\n this.itemsPromise(selectedNode?.[this.valueField()])\n .then((data: unknown[]) => {\n if (Array.isArray(data)) {\n if (selectedNode?.[this.valueField()]) {\n this.findNode(selectedNode[this.valueField()], data, this.itemsSignal());\n } else {\n this.itemsSignal.set(data);\n }\n }\n })\n .finally(() => {\n this.setNodeLoading(selectedNode?.[this.valueField()], false);\n });\n }\n\n private findNode(parentId: number | string, _children: unknown[], source: unknown[]) {\n if (source.length) {\n source.forEach((element) => {\n if (element[this.valueField()] == parentId) {\n if (this.selectionBehavior() === 'indeterminate' && element[this.selectedField()]) {\n _children.forEach((child) => (child[this.selectedField()] = true));\n }\n element[this.childrenField()] = _children;\n } else {\n if (element?.[this.childrenField()]) this.findNode(parentId, _children, element[this.childrenField()]);\n }\n });\n }\n }\n\n /**\n *\n * emit when arrow click\n *\n */\n\n protected handleNodeExpandClick(node: AXTreeItemClickBaseEvent) {\n const selectedNode = node.data;\n if (this.itemsPromise && node.data[this.expandedField()] && !node?.data[this.childrenField()]?.length) {\n this.fetchData(selectedNode);\n this.setNodeLoading(selectedNode[this.valueField()], true);\n }\n this.onCollapsedChanged.emit({ component: this, data: node.data, nativeElement: this.nativeElement });\n }\n\n handleUnActiveNode(unActiveSource: unknown[]) {\n unActiveSource.forEach((child) => {\n child[this.activeField()] = false;\n if (child?.[this.childrenField()]?.length) {\n this.handleUnActiveNode(child[this.childrenField()]);\n }\n });\n }\n\n private loadingState = signal<Record<string | number, boolean>>({});\n\n protected isNodeLoading(nodeId: string | number): boolean {\n return this.loadingState()[nodeId] || false;\n }\n\n setNodeLoading(nodeId: string | number, isLoading: boolean): void {\n this.loadingState.update((state) => ({\n ...state,\n [nodeId]: isLoading,\n }));\n }\n\n public executeOnTreeNode(node: unknown, operation: AXTreeViewOperationMethod, value: boolean) {\n switch (operation) {\n case 'active':\n node[this.activeField()] = value;\n break;\n case 'expand':\n node[this.expandedField()] = true;\n if (this.itemsPromise && node[this.hasChildField()] && !node[this.childrenField()]?.length) {\n this.handleNodeExpandClick({ data: node, nativeElement: this.nativeElement, component: this });\n }\n\n break;\n case 'visible':\n node[this.visibleField()] = value;\n\n break;\n case 'disabled':\n node[this.disableField()] = value;\n break;\n default:\n break;\n }\n /**\n *\n * for detect changes treeviewitem\n *\n */\n\n this.executorChanges.set(operation);\n }\n\n refresh() {\n if (this.itemsPromise) {\n this.fetchData();\n }\n }\n}\n","@if (resolvedItems?.length) {\n @for (node of resolvedItems; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: node }\"></ng-container>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"emptyTemplate || empty\"></ng-container>\n}\n\n<ng-template #recursion let-item>\n @if (item[visibleField()] !== false) {\n <ax-tree-view-item\n [item]=\"item\"\n [isExpanded]=\"item[expandedField()]\"\n [(isActive)]=\"item[activeField()]\"\n [isLoading]=\"isNodeLoading(item[valueField()])\"\n [executorChanges]=\"executorChanges()\"\n >\n @if (\n (this.showCheckbox() && selectionScope() === 'all') ||\n (this.showCheckbox() && selectionScope() === 'parent' && item[childrenField()]?.length) ||\n (this.showCheckbox() && selectionScope() === 'children' && !item[childrenField()]?.length)\n ) {\n <ax-check-box\n [disabled]=\"item[disableField()]\"\n [indeterminate]=\"item[indeterminateField()]\"\n [(ngModel)]=\"item[selectedField()]\"\n (onValueChanged)=\"handleNodeSelectionClick($event, item)\"\n ></ax-check-box>\n }\n <ax-prefix>\n @if (item[iconField()]) {\n <ax-icon [icon]=\"item[iconField()]\"></ax-icon>\n } @else {\n <i></i>\n }\n </ax-prefix>\n @if (item[textField()]) {\n <ax-text>{{ item[textField()] }}</ax-text>\n }\n\n <ax-suffix></ax-suffix>\n @for (child of item?.[childrenField()]; track $index) {\n <ng-container [ngTemplateOutlet]=\"recursion\" [ngTemplateOutletContext]=\"{ $implicit: child }\"></ng-container>\n }\n </ax-tree-view-item>\n }\n</ng-template>\n\n<ng-template #empty>\n {{ 'no-result-found' | translate | async }}\n</ng-template>\n","import { AXCommonModule } from '@acorex/cdk/common';\nimport { AXCheckBoxModule } from '@acorex/components/check-box';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { AXFormModule } from '@acorex/components/form';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTooltipModule } from '@acorex/components/tooltip';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { AXTreeViewItemComponent } from './tree-view-item.component';\nimport { AXTreeViewComponent } from './tree-view.component';\n\nconst COMPONENT = [AXTreeViewComponent, AXTreeViewItemComponent];\nconst MODULES = [\n CommonModule,\n AXCommonModule,\n AXDecoratorModule,\n AXCheckBoxModule,\n AXFormModule,\n FormsModule,\n AXTooltipModule,\n AXLoadingModule,\n];\n@NgModule({\n imports: [...COMPONENT, ...MODULES],\n exports: [...COMPONENT],\n})\nexport class AXTreeViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { AXEvent, AXStyleLookType, MXBaseComponent } from '@acorex/cdk/common';
|
2
2
|
import { AXValidationSummary } from '@acorex/core/validation';
|
3
|
-
import {
|
3
|
+
import { AfterViewInit, EventEmitter, InputSignal, OnDestroy } from '@angular/core';
|
4
4
|
import { AXFormFieldComponent } from './form-field.component';
|
5
5
|
import * as i0 from "@angular/core";
|
6
6
|
/**
|
@@ -22,7 +22,7 @@ export type AXLabelMode = 'static' | 'floating' | 'over';
|
|
22
22
|
*
|
23
23
|
* @category Components
|
24
24
|
*/
|
25
|
-
export declare class AXFormComponent extends MXBaseComponent implements OnDestroy, AfterViewInit
|
25
|
+
export declare class AXFormComponent extends MXBaseComponent implements OnDestroy, AfterViewInit {
|
26
26
|
#private;
|
27
27
|
/**
|
28
28
|
* Specifies the mode of the label in the form field.
|
@@ -31,7 +31,6 @@ export declare class AXFormComponent extends MXBaseComponent implements OnDestro
|
|
31
31
|
labelMode: InputSignal<AXLabelMode>;
|
32
32
|
look: InputSignal<AXStyleLookType>;
|
33
33
|
content: import("@angular/core").Signal<readonly AXFormFieldComponent[]>;
|
34
|
-
ngAfterContentInit(): void;
|
35
34
|
/**
|
36
35
|
* Determines the style of the message in the form field.
|
37
36
|
* @defaultValue 'bottom'
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@acorex/components",
|
3
|
-
"version": "19.14.
|
3
|
+
"version": "19.14.5",
|
4
4
|
"peerDependencies": {
|
5
5
|
"@angular/common": ">=19.0.0",
|
6
6
|
"@angular/core": ">=19.0.0",
|
@@ -29,21 +29,17 @@
|
|
29
29
|
"types": "./action-sheet/index.d.ts",
|
30
30
|
"default": "./fesm2022/acorex-components-action-sheet.mjs"
|
31
31
|
},
|
32
|
-
"./
|
33
|
-
"types": "./
|
34
|
-
"default": "./fesm2022/acorex-components-
|
35
|
-
},
|
36
|
-
"./autocomplete": {
|
37
|
-
"types": "./autocomplete/index.d.ts",
|
38
|
-
"default": "./fesm2022/acorex-components-autocomplete.mjs"
|
32
|
+
"./audio-wave": {
|
33
|
+
"types": "./audio-wave/index.d.ts",
|
34
|
+
"default": "./fesm2022/acorex-components-audio-wave.mjs"
|
39
35
|
},
|
40
36
|
"./avatar": {
|
41
37
|
"types": "./avatar/index.d.ts",
|
42
38
|
"default": "./fesm2022/acorex-components-avatar.mjs"
|
43
39
|
},
|
44
|
-
"./
|
45
|
-
"types": "./
|
46
|
-
"default": "./fesm2022/acorex-components-
|
40
|
+
"./autocomplete": {
|
41
|
+
"types": "./autocomplete/index.d.ts",
|
42
|
+
"default": "./fesm2022/acorex-components-autocomplete.mjs"
|
47
43
|
},
|
48
44
|
"./badge": {
|
49
45
|
"types": "./badge/index.d.ts",
|
@@ -53,6 +49,10 @@
|
|
53
49
|
"types": "./bottom-navigation/index.d.ts",
|
54
50
|
"default": "./fesm2022/acorex-components-bottom-navigation.mjs"
|
55
51
|
},
|
52
|
+
"./alert": {
|
53
|
+
"types": "./alert/index.d.ts",
|
54
|
+
"default": "./fesm2022/acorex-components-alert.mjs"
|
55
|
+
},
|
56
56
|
"./breadcrumbs": {
|
57
57
|
"types": "./breadcrumbs/index.d.ts",
|
58
58
|
"default": "./fesm2022/acorex-components-breadcrumbs.mjs"
|
@@ -229,14 +229,14 @@
|
|
229
229
|
"types": "./page/index.d.ts",
|
230
230
|
"default": "./fesm2022/acorex-components-page.mjs"
|
231
231
|
},
|
232
|
-
"./password-box": {
|
233
|
-
"types": "./password-box/index.d.ts",
|
234
|
-
"default": "./fesm2022/acorex-components-password-box.mjs"
|
235
|
-
},
|
236
232
|
"./paint": {
|
237
233
|
"types": "./paint/index.d.ts",
|
238
234
|
"default": "./fesm2022/acorex-components-paint.mjs"
|
239
235
|
},
|
236
|
+
"./password-box": {
|
237
|
+
"types": "./password-box/index.d.ts",
|
238
|
+
"default": "./fesm2022/acorex-components-password-box.mjs"
|
239
|
+
},
|
240
240
|
"./pdf-reader": {
|
241
241
|
"types": "./pdf-reader/index.d.ts",
|
242
242
|
"default": "./fesm2022/acorex-components-pdf-reader.mjs"
|