@acorex/components 7.1.31 → 7.1.32

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.
@@ -16,11 +16,11 @@ import { AXPopoverModule } from '@acorex/components/popover';
16
16
  class AXPickerColumnComponent {
17
17
  divider = false;
18
18
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXPickerColumnComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: AXPickerColumnComponent, selector: "ax-picker-column", inputs: { divider: "divider" }, ngImport: i0, template: "<div class=\"picker-container\" [ngClass]=\"{'picker-divider':divider}\">\n <div class=\"picker-scrollbar picker-time-spinner-wrapper\">\n <div class=\"picker-scrollbar-wrap\">\n <div class=\"picker-time-spinner-list\">\n <div class=\"picker-time-spinner-item\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".picker-container{width:100%;white-space:nowrap}.picker-container.picker-divider{border-right:solid 1px rgba(var(--ax-color-border-default))}.picker-container .picker-scrollbar{position:relative;height:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper{max-height:200px;display:inline-block;vertical-align:top;width:100%;position:relative}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap{max-height:inherit;overflow-y:hidden;height:100%;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap::-webkit-scrollbar{width:2px}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap:hover{overflow:scroll;height:100vh;overscroll-behavior:inherit;z-index:-1}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;list-style:none;text-align:center}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list:before{content:\"\";display:block;width:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item{scroll-snap-align:center;line-height:40px;cursor:pointer}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore));border-radius:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
19
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: AXPickerColumnComponent, selector: "ax-picker-column", inputs: { divider: "divider" }, ngImport: i0, template: "<div class=\"picker-container\" [ngClass]=\"{'picker-divider':divider}\">\n <div class=\"picker-scrollbar picker-time-spinner-wrapper\">\n <div class=\"picker-scrollbar-wrap\">\n <div class=\"picker-time-spinner-list\">\n <div class=\"picker-time-spinner-item\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".picker-container{width:100%;white-space:nowrap}.picker-container.picker-divider{border-right:solid 1px rgba(var(--ax-color-border-default))}.picker-container .picker-scrollbar{position:relative;height:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper{max-height:200px;display:inline-block;vertical-align:top;width:100%;position:relative}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap{max-height:inherit;overflow-y:hidden;height:100%;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper{max-height:200px;display:inline-block;vertical-align:top;width:100%;position:relative}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap{max-height:inherit;overflow-y:hidden;height:100%;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-gutter:stable both-edges}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap::-webkit-scrollbar{width:2px}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap:hover{scrollbar-gutter:stable both-edges;overflow:scroll}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;list-style:none;text-align:center}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list:before{content:\"\";display:block;width:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item{scroll-snap-align:initial;line-height:40px;cursor:pointer}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item.ax-state-active{background-color:rgba(var(--ax-color-primary));color:rgba(var(--ax-color-primary-fore));border-radius:8px}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap:hover{overflow:scroll;height:100vh;overscroll-behavior:inherit;z-index:-1}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;list-style:none;text-align:center}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list:before{content:\"\";display:block;width:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item{scroll-snap-align:center;line-height:40px;cursor:pointer}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore));border-radius:8px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
20
20
  }
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXPickerColumnComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: 'ax-picker-column', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"picker-container\" [ngClass]=\"{'picker-divider':divider}\">\n <div class=\"picker-scrollbar picker-time-spinner-wrapper\">\n <div class=\"picker-scrollbar-wrap\">\n <div class=\"picker-time-spinner-list\">\n <div class=\"picker-time-spinner-item\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".picker-container{width:100%;white-space:nowrap}.picker-container.picker-divider{border-right:solid 1px rgba(var(--ax-color-border-default))}.picker-container .picker-scrollbar{position:relative;height:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper{max-height:200px;display:inline-block;vertical-align:top;width:100%;position:relative}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap{max-height:inherit;overflow-y:hidden;height:100%;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap::-webkit-scrollbar{width:2px}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap:hover{overflow:scroll;height:100vh;overscroll-behavior:inherit;z-index:-1}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;list-style:none;text-align:center}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list:before{content:\"\";display:block;width:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item{scroll-snap-align:center;line-height:40px;cursor:pointer}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore));border-radius:8px}\n"] }]
23
+ args: [{ selector: 'ax-picker-column', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"picker-container\" [ngClass]=\"{'picker-divider':divider}\">\n <div class=\"picker-scrollbar picker-time-spinner-wrapper\">\n <div class=\"picker-scrollbar-wrap\">\n <div class=\"picker-time-spinner-list\">\n <div class=\"picker-time-spinner-item\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [".picker-container{width:100%;white-space:nowrap}.picker-container.picker-divider{border-right:solid 1px rgba(var(--ax-color-border-default))}.picker-container .picker-scrollbar{position:relative;height:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper{max-height:200px;display:inline-block;vertical-align:top;width:100%;position:relative}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap{max-height:inherit;overflow-y:hidden;height:100%;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper{max-height:200px;display:inline-block;vertical-align:top;width:100%;position:relative}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap{max-height:inherit;overflow-y:hidden;height:100%;scroll-snap-type:y mandatory;overscroll-behavior-y:contain;scrollbar-gutter:stable both-edges}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap::-webkit-scrollbar{width:2px}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap:hover{scrollbar-gutter:stable both-edges;overflow:scroll}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;list-style:none;text-align:center}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list:before{content:\"\";display:block;width:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item{scroll-snap-align:initial;line-height:40px;cursor:pointer}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item.ax-state-active{background-color:rgba(var(--ax-color-primary));color:rgba(var(--ax-color-primary-fore));border-radius:8px}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap:hover{overflow:scroll;height:100vh;overscroll-behavior:inherit;z-index:-1}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list{scroll-snap-type:y mandatory;overscroll-behavior-y:contain;list-style:none;text-align:center}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list:before{content:\"\";display:block;width:100%}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item{scroll-snap-align:center;line-height:40px;cursor:pointer}.picker-container .picker-scrollbar.picker-time-spinner-wrapper .picker-scrollbar-wrap .picker-time-spinner-list .picker-time-spinner-item.ax-state-active{background-color:rgba(var(--ax-color-primary-500));color:rgba(var(--ax-color-primary-fore));border-radius:8px}\n"] }]
24
24
  }], propDecorators: { divider: [{
25
25
  type: Input
26
26
  }] } });
@@ -32,11 +32,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImpor
32
32
  */
33
33
  class AXPickerComponent {
34
34
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
35
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: AXPickerComponent, selector: "ax-picker", ngImport: i0, template: "<div class=\"picker-container\">\n <ng-content select=\"ax-picker-column\"></ng-content>\n</div>", styles: [".picker-container{display:flex;justify-content:space-between}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
35
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: AXPickerComponent, selector: "ax-picker", ngImport: i0, template: "<div class=\"picker-container\">\n <ng-content select=\"ax-picker-column\"></ng-content>\n</div>", styles: [".picker-container{display:flex;justify-content:space-between;align-items:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
36
36
  }
37
37
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXPickerComponent, decorators: [{
38
38
  type: Component,
39
- args: [{ selector: 'ax-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"picker-container\">\n <ng-content select=\"ax-picker-column\"></ng-content>\n</div>", styles: [".picker-container{display:flex;justify-content:space-between}\n"] }]
39
+ args: [{ selector: 'ax-picker', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"picker-container\">\n <ng-content select=\"ax-picker-column\"></ng-content>\n</div>", styles: [".picker-container{display:flex;justify-content:space-between;align-items:center}\n"] }]
40
40
  }] });
41
41
 
42
42
  const COMPONENT = [AXPickerColumnComponent, AXPickerComponent];
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-picker.mjs","sources":["../../../../projects/acorex/components/picker/src/picker-column.component.ts","../../../../projects/acorex/components/picker/src/picker-column.component.html","../../../../projects/acorex/components/picker/src/picker.component.ts","../../../../projects/acorex/components/picker/src/picker.component.html","../../../../projects/acorex/components/picker/src/picker.module.ts","../../../../projects/acorex/components/picker/acorex-components-picker.ts"],"sourcesContent":["\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n} from '@angular/core';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-picker-column',\n templateUrl: './picker-column.component.html',\n styleUrls: ['./picker-column.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPickerColumnComponent {\n\n @Input()\n divider: boolean = false\n\n}\n","<div class=\"picker-container\" [ngClass]=\"{'picker-divider':divider}\">\n <div class=\"picker-scrollbar picker-time-spinner-wrapper\">\n <div class=\"picker-scrollbar-wrap\">\n <div class=\"picker-time-spinner-list\">\n <div class=\"picker-time-spinner-item\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>","\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n} from '@angular/core';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-picker',\n templateUrl: './picker.component.html',\n styleUrls: ['./picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPickerComponent {\n\n\n}\n","<div class=\"picker-container\">\n <ng-content select=\"ax-picker-column\"></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPickerColumnComponent } from './picker-column.component';\nimport { AXPickerComponent } from './picker.component';\n\nconst COMPONENT = [AXPickerColumnComponent, AXPickerComponent];\nconst MODULES = [\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n OverlayModule,\n AXPopoverModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [CommonModule, ...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-picker.mjs","sources":["../../../../projects/acorex/components/picker/src/picker-column.component.ts","../../../../projects/acorex/components/picker/src/picker-column.component.html","../../../../projects/acorex/components/picker/src/picker.component.ts","../../../../projects/acorex/components/picker/src/picker.component.html","../../../../projects/acorex/components/picker/src/picker.module.ts","../../../../projects/acorex/components/picker/acorex-components-picker.ts"],"sourcesContent":["\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n} from '@angular/core';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-picker-column',\n templateUrl: './picker-column.component.html',\n styleUrls: ['./picker-column.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPickerColumnComponent {\n\n @Input()\n divider: boolean = false\n\n}\n","<div class=\"picker-container\" [ngClass]=\"{'picker-divider':divider}\">\n <div class=\"picker-scrollbar picker-time-spinner-wrapper\">\n <div class=\"picker-scrollbar-wrap\">\n <div class=\"picker-time-spinner-list\">\n <div class=\"picker-time-spinner-item\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n </div>\n</div>","\nimport {\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Input,\n} from '@angular/core';\n\n/**\n * The Button is a component which detects user interaction and triggers a corresponding event\n *\n * @category Components\n */\n@Component({\n selector: 'ax-picker',\n templateUrl: './picker.component.html',\n styleUrls: ['./picker.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class AXPickerComponent {\n\n\n}\n","<div class=\"picker-container\">\n <ng-content select=\"ax-picker-column\"></ng-content>\n</div>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXLoadingModule } from '@acorex/components/loading';\nimport { AXTranslationModule } from '@acorex/core/translation';\nimport { AXDecoratorModule } from '@acorex/components/decorators';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { AXPopoverModule } from '@acorex/components/popover';\nimport { AXPickerColumnComponent } from './picker-column.component';\nimport { AXPickerComponent } from './picker.component';\n\nconst COMPONENT = [AXPickerColumnComponent, AXPickerComponent];\nconst MODULES = [\n AXDecoratorModule,\n AXLoadingModule,\n AXTranslationModule,\n OverlayModule,\n AXPopoverModule\n];\n\n@NgModule({\n declarations: [...COMPONENT],\n imports: [CommonModule, ...MODULES],\n exports: [...COMPONENT],\n providers: [],\n})\nexport class AXPickerModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -85,7 +85,6 @@ class AXPopoverComponent extends MXInteractiveComponent {
85
85
  return this._target;
86
86
  }
87
87
  set target(v) {
88
- debugger;
89
88
  if (v instanceof HTMLElement)
90
89
  this._target = v;
91
90
  else if (v instanceof ElementRef)
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../projects/acorex/components/popover/src/dropdown-component.class.ts","../../../../projects/acorex/components/popover/src/popover.component.ts","../../../../projects/acorex/components/popover/src/popover.component.html","../../../../projects/acorex/components/popover/src/popover.module.ts","../../../../projects/acorex/components/popover/acorex-components-popover.ts"],"sourcesContent":["import { AXConnectedPosition, AXEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@Injectable()\nexport abstract class MXDropDownComponent extends MXInteractiveComponent {\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n protected abstract popover: AXPopoverComponent;\n\n protected popOverPositions: AXConnectedPosition[] = [];\n\n protected initPopOverPositions() {\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n const list: AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n ];\n this.popOverPositions.push(...list);\n }\n\n toggle() {\n if (this.disabled !== true) {\n this.popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.popover.close();\n (this as any)?.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.popover.open();\n this.popover.focus();\n }\n\n get isOpen(): boolean {\n return this.popover?.isOpen;\n }\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Input, ViewChild, TemplateRef, Output, EventEmitter, inject } from '@angular/core';\nimport { some, includes } from 'lodash-es';\nimport { Subscription, fromEvent, throttleTime } from 'rxjs';\nimport { AXConnectedPosition, AXEvent, MXBaseComponent, MXInteractiveComponent } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPoint, AXDrawingUtil } from '@acorex/core/utils';\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPopoverComponent extends MXInteractiveComponent {\n private _platform: AXPlatform = inject(AXPlatform);\n private _overlay: Overlay = inject(Overlay);\n\n //\n private _target: HTMLElement;\n @Input()\n public get target(): HTMLElement | ElementRef | MXBaseComponent {\n return this._target;\n }\n public set target(v: HTMLElement | ElementRef | MXBaseComponent) {\n debugger;\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v.getHostElement == 'function') this._target = v.getHostElement();\n }\n\n offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n\n @Input()\n position: AXConnectedPosition | AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n ];\n //\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _subs: Subscription[] = [];\n //\n @Input()\n openTrigger: 'manual' | 'click' | 'mouseover' | 'toggle' = 'toggle';\n //\n @Input()\n closeTrigger: 'manual' | 'clickout' | 'mouseout' = 'clickout';\n //\n @Input()\n hasBackdrop: boolean = false;\n\n @Input()\n backdropClass: string;\n\n @Input()\n adaptivityEnabled: boolean = false;\n //\n private _mousePos: AXPoint = { x: 0, y: 0 };\n private _isScrollAttached: boolean = false;\n private _lastActiveElement: HTMLElement;\n //\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n ngAfterViewInit() {\n if (this._target) {\n if (this.openTrigger === 'mouseover') {\n const mouseEnter$ = fromEvent<MouseEvent>(this._target, 'mouseover');\n this._addSub(\n mouseEnter$.subscribe(e => {\n const point = { x: e.clientX, y: e.clientY };\n if (AXDrawingUtil.isInElementBound(point, this._target)) this.open();\n })\n );\n }\n if (this.closeTrigger === 'mouseout') {\n const mouseMove$ = fromEvent<MouseEvent>(document, 'mousemove');\n this._addSub(\n mouseMove$.pipe(throttleTime(50)).subscribe(e => {\n this._mousePos.x = e.clientX;\n this._mousePos.y = e.clientY;\n if (this.isOpen) {\n setTimeout(() => {\n if (some([this._target, this._overlayRef.overlayElement], el => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el))) this.close();\n }, 100);\n }\n })\n );\n }\n //\n if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._addSub(\n click$.subscribe(e => {\n this.openTrigger == 'toggle' ? this.toggle() : this.open();\n })\n );\n }\n }\n }\n //\n ngOnDestroy(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n //\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._emitOnClosedEvent();\n //\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n\n dispose() {\n this.close();\n this._overlayRef?.dispose();\n this._overlayRef = null as any;\n }\n\n //\n open() {\n if (this.isOpen) {\n return;\n }\n this._lastActiveElement = document.activeElement as HTMLElement;\n this._ensureOverlayCreated();\n this._overlayRef?.attach(this._templatePortal);\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n if (!this._overlayRef) {\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n this._openAsActionsheet();\n } else {\n this._openAsPopover(targetRef);\n }\n\n if (this.closeTrigger == 'clickout') {\n this._addSub(\n this._overlayRef._outsidePointerEvents.subscribe(c => {\n const target = c.target as HTMLElement;\n const comElem = targetRef;\n if (!comElem.contains(target)) {\n this.close();\n }\n })\n );\n }\n this._addSub(\n this._overlayRef.attachments().subscribe(() => {\n if (!this._isScrollAttached) {\n this._addSub(\n this._platform.scroll.subscribe(c => {\n try {\n if (!(c.nativeEvent.target as HTMLElement)?.closest('.ax-overlay-pane')) this.close();\n } catch (error) {}\n })\n );\n this._isScrollAttached = true;\n }\n })\n );\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this.getViewContainer());\n }\n }\n\n private _openAsPopover(targetRef: HTMLElement) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(Array.isArray(this.position) ? this.position : [this.position])\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n });\n }\n\n private _openAsActionsheet() {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(document.body)\n .withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n ]),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],\n hasBackdrop: true,\n width: '100%',\n });\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n private _addSub(sub: Subscription) {\n this._subs.push(sub);\n }\n\n updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-components-popover.mjs","sources":["../../../../projects/acorex/components/popover/src/dropdown-component.class.ts","../../../../projects/acorex/components/popover/src/popover.component.ts","../../../../projects/acorex/components/popover/src/popover.component.html","../../../../projects/acorex/components/popover/src/popover.module.ts","../../../../projects/acorex/components/popover/acorex-components-popover.ts"],"sourcesContent":["import { AXConnectedPosition, AXEvent, MXInteractiveComponent } from '@acorex/components/common';\nimport { EventEmitter, Injectable } from '@angular/core';\nimport { AXPopoverComponent } from './popover.component';\n\n@Injectable()\nexport abstract class MXDropDownComponent extends MXInteractiveComponent {\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n protected abstract popover: AXPopoverComponent;\n\n protected popOverPositions: AXConnectedPosition[] = [];\n\n protected initPopOverPositions() {\n const offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n const list: AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -offset,\n },\n ];\n this.popOverPositions.push(...list);\n }\n\n toggle() {\n if (this.disabled !== true) {\n this.popover.toggle();\n }\n }\n\n close() {\n if (!this.isOpen || this.disabled) {\n return;\n }\n this.popover.close();\n (this as any)?.focus();\n }\n\n open() {\n if (this.isOpen || this.disabled) {\n return;\n }\n this.popover.open();\n this.popover.focus();\n }\n\n get isOpen(): boolean {\n return this.popover?.isOpen;\n }\n}\n","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport { Component, ViewEncapsulation, ChangeDetectionStrategy, ElementRef, Input, ViewChild, TemplateRef, Output, EventEmitter, inject } from '@angular/core';\nimport { some, includes } from 'lodash-es';\nimport { Subscription, fromEvent, throttleTime } from 'rxjs';\nimport { AXConnectedPosition, AXEvent, MXBaseComponent, MXInteractiveComponent } from '@acorex/components/common';\nimport { AXPlatform } from '@acorex/core/platform';\nimport { AXPoint, AXDrawingUtil } from '@acorex/core/utils';\n\n@Component({\n selector: 'ax-popover',\n templateUrl: './popover.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AXPopoverComponent extends MXInteractiveComponent {\n private _platform: AXPlatform = inject(AXPlatform);\n private _overlay: Overlay = inject(Overlay);\n\n //\n private _target: HTMLElement;\n @Input()\n public get target(): HTMLElement | ElementRef | MXBaseComponent {\n return this._target;\n }\n public set target(v: HTMLElement | ElementRef | MXBaseComponent) {\n if (v instanceof HTMLElement) this._target = v;\n else if (v instanceof ElementRef) this._target = v.nativeElement;\n else if (typeof v.getHostElement == 'function') this._target = v.getHostElement();\n }\n\n offset = Number(getComputedStyle(document.documentElement).getPropertyValue('--ax-base-size').replace('px', ''));\n\n @Input()\n position: AXConnectedPosition | AXConnectedPosition[] = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n offsetY: this.offset,\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n offsetY: -this.offset,\n },\n ];\n //\n @ViewChild('baseTemplate')\n _baseTemplate: TemplateRef<any>;\n _overlayRef: OverlayRef;\n _templatePortal: TemplatePortal;\n\n _subs: Subscription[] = [];\n //\n @Input()\n openTrigger: 'manual' | 'click' | 'mouseover' | 'toggle' = 'toggle';\n //\n @Input()\n closeTrigger: 'manual' | 'clickout' | 'mouseout' = 'clickout';\n //\n @Input()\n hasBackdrop: boolean = false;\n\n @Input()\n backdropClass: string;\n\n @Input()\n adaptivityEnabled: boolean = false;\n //\n private _mousePos: AXPoint = { x: 0, y: 0 };\n private _isScrollAttached: boolean = false;\n private _lastActiveElement: HTMLElement;\n //\n @Output()\n onOpened: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n @Output()\n onClosed: EventEmitter<AXEvent> = new EventEmitter<AXEvent>();\n\n _emitOnOpenedEvent() {\n this.onOpened.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n\n _emitOnClosedEvent() {\n this.onClosed.emit({\n component: this,\n htmlElement: this.getHostElement(),\n });\n }\n //\n ngAfterViewInit() {\n if (this._target) {\n if (this.openTrigger === 'mouseover') {\n const mouseEnter$ = fromEvent<MouseEvent>(this._target, 'mouseover');\n this._addSub(\n mouseEnter$.subscribe(e => {\n const point = { x: e.clientX, y: e.clientY };\n if (AXDrawingUtil.isInElementBound(point, this._target)) this.open();\n })\n );\n }\n if (this.closeTrigger === 'mouseout') {\n const mouseMove$ = fromEvent<MouseEvent>(document, 'mousemove');\n this._addSub(\n mouseMove$.pipe(throttleTime(50)).subscribe(e => {\n this._mousePos.x = e.clientX;\n this._mousePos.y = e.clientY;\n if (this.isOpen) {\n setTimeout(() => {\n if (some([this._target, this._overlayRef.overlayElement], el => includes(document.elementsFromPoint(this._mousePos.x, this._mousePos.y), el))) this.close();\n }, 100);\n }\n })\n );\n }\n //\n if (this.openTrigger === 'click' || this.openTrigger === 'toggle') {\n const click$ = fromEvent<MouseEvent>(this._target, 'click');\n this._addSub(\n click$.subscribe(e => {\n this.openTrigger == 'toggle' ? this.toggle() : this.open();\n })\n );\n }\n }\n }\n //\n ngOnDestroy(): void {\n this._overlayRef?.detach();\n this._overlayRef?.dispose();\n this._subs.forEach(s => {\n s?.unsubscribe();\n });\n }\n\n toggle() {\n this.isOpen ? this.close() : this.open();\n }\n\n //\n close() {\n if (!this.isOpen) {\n return;\n }\n this._overlayRef?.detach();\n this._emitOnClosedEvent();\n //\n if (this._lastActiveElement?.focus) {\n this._lastActiveElement.focus();\n }\n }\n\n dispose() {\n this.close();\n this._overlayRef?.dispose();\n this._overlayRef = null as any;\n }\n\n //\n open() {\n if (this.isOpen) {\n return;\n }\n this._lastActiveElement = document.activeElement as HTMLElement;\n this._ensureOverlayCreated();\n this._overlayRef?.attach(this._templatePortal);\n this._emitOnOpenedEvent();\n }\n\n private _ensureOverlayCreated() {\n const targetRef = this._target;\n if (!targetRef) return;\n\n if (!this._overlayRef) {\n if (this._platform.is('SM') && this.adaptivityEnabled) {\n this._openAsActionsheet();\n } else {\n this._openAsPopover(targetRef);\n }\n\n if (this.closeTrigger == 'clickout') {\n this._addSub(\n this._overlayRef._outsidePointerEvents.subscribe(c => {\n const target = c.target as HTMLElement;\n const comElem = targetRef;\n if (!comElem.contains(target)) {\n this.close();\n }\n })\n );\n }\n this._addSub(\n this._overlayRef.attachments().subscribe(() => {\n if (!this._isScrollAttached) {\n this._addSub(\n this._platform.scroll.subscribe(c => {\n try {\n if (!(c.nativeEvent.target as HTMLElement)?.closest('.ax-overlay-pane')) this.close();\n } catch (error) {}\n })\n );\n this._isScrollAttached = true;\n }\n })\n );\n }\n if (!this._templatePortal) {\n this._templatePortal = new TemplatePortal(this._baseTemplate, this.getViewContainer());\n }\n }\n\n private _openAsPopover(targetRef: HTMLElement) {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(targetRef)\n .withPositions(Array.isArray(this.position) ? this.position : [this.position])\n .withPush(false),\n scrollStrategy: this._overlay.scrollStrategies.reposition(),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-fadeIn', 'ax-animate-faster'],\n maxHeight: 'unset',\n hasBackdrop: this.hasBackdrop,\n backdropClass: [this.backdropClass || 'cdk-overlay-transparent-backdrop'],\n });\n }\n\n private _openAsActionsheet() {\n this._overlayRef = this._overlay.create({\n positionStrategy: this._overlay\n .position()\n .flexibleConnectedTo(document.body)\n .withPositions([\n {\n originX: 'center',\n originY: 'bottom',\n overlayX: 'center',\n overlayY: 'bottom',\n },\n ]),\n disposeOnNavigation: true,\n panelClass: ['ax-animate-slideInUp', 'ax-animate-faster'],\n hasBackdrop: true,\n width: '100%',\n });\n }\n\n get isOpen(): boolean {\n return this._overlayRef ? this._overlayRef.hasAttached() : false;\n }\n\n private _addSub(sub: Subscription) {\n this._subs.push(sub);\n }\n\n updatePosition(): void {\n this._overlayRef?.updatePosition();\n this.focus();\n }\n}\n","<ng-template #baseTemplate>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { AXPopoverComponent } from './popover.component';\n\n@NgModule({\n declarations: [AXPopoverComponent],\n imports: [CommonModule],\n exports: [AXPopoverComponent],\n providers: [],\n})\nexport class AXPopoverModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -54,6 +54,9 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
54
54
  }
55
55
  _isActionSheet = false;
56
56
  _forceFocus = false;
57
+ _loadingOptions = {
58
+ text: AXTranslator.get('layout.loading.text'),
59
+ };
57
60
  /**
58
61
  * @ignore
59
62
  */
@@ -95,8 +98,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
95
98
  _updatePopupTitle() {
96
99
  const count = this.selectedItems?.length || 0;
97
100
  //this._popoverTitle = count > 1 ? `(${count}) items selected` : (this.placeholder || AXTranslator.get('selectbox.popover.title'));
98
- this._popoverTitle =
99
- this.placeholder || AXTranslator.get('selectbox.popover.title');
101
+ this._popoverTitle = this.placeholder || AXTranslator.get('selectbox.popover.title');
100
102
  }
101
103
  _detectPopupSize() {
102
104
  this._popoverWidth = this._isActionSheet ? 0 : this._target.offsetWidth;
@@ -119,8 +121,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
119
121
  }
120
122
  _checkForLoadData() {
121
123
  const list = this.listContainer.nativeElement;
122
- if (this.loadedCount < this.totalCount &&
123
- list.scrollHeight < list.parentElement.clientHeight * 1.5) {
124
+ if (this.loadedCount < this.totalCount && list.scrollHeight < list.parentElement.clientHeight * 1.5) {
124
125
  this._fetchData();
125
126
  }
126
127
  }
@@ -151,18 +152,13 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
151
152
  }
152
153
  _handleKeydown(e) {
153
154
  const isLetter = new RegExp(/[a-zA-Z0-9\-]/).test(String.fromCharCode(e.keyCode));
154
- if (e.code === 'Backspace' &&
155
- e.type === 'keydown' &&
156
- ((this.allowNull === true && this.selectedItems.length > 0) ||
157
- (this.allowNull !== true && this.selectedItems.length > 1))) {
155
+ if (e.code === 'Backspace' && e.type === 'keydown' && ((this.allowNull === true && this.selectedItems.length > 0) || (this.allowNull !== true && this.selectedItems.length > 1))) {
158
156
  this.isUserInput = true;
159
157
  this.unselectItems(this.selectedItems.pop());
160
158
  e.preventDefault();
161
159
  return;
162
160
  }
163
- else if ((e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Space') &&
164
- !this.popover.isOpen &&
165
- e.type === 'keydown') {
161
+ else if ((e.code === 'ArrowDown' || e.code === 'ArrowUp' || e.code === 'Space') && !this.popover.isOpen && e.type === 'keydown') {
166
162
  if (this.multiple) {
167
163
  this.open();
168
164
  }
@@ -186,18 +182,14 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
186
182
  }
187
183
  }
188
184
  _handlePopoverKeydown(e) {
189
- if (e.target.tagName == 'INPUT' &&
190
- ['Space', 'Backspace'].includes(e.code))
185
+ if (e.target.tagName == 'INPUT' && ['Space', 'Backspace'].includes(e.code))
191
186
  return;
192
- if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') &&
193
- this.displayItems.length > 0) {
187
+ if ((e.key === 'ArrowDown' || e.key === 'ArrowUp') && this.displayItems.length > 0) {
194
188
  this.isUserInput = true;
195
189
  this._focusItemByNav(e.key === 'ArrowDown' ? 1 : -1);
196
190
  e.preventDefault();
197
191
  }
198
- else if (e.code === 'Backspace' &&
199
- ((this.allowNull === true && this.selectedItems.length > 0) ||
200
- (this.allowNull !== true && this.selectedItems.length > 1))) {
192
+ else if (e.code === 'Backspace' && ((this.allowNull === true && this.selectedItems.length > 0) || (this.allowNull !== true && this.selectedItems.length > 1))) {
201
193
  this.isUserInput = true;
202
194
  this.unselectItems(this.selectedItems.pop());
203
195
  e.preventDefault();
@@ -205,10 +197,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
205
197
  else if (e.code === 'Space' || e.code === 'Enter') {
206
198
  e.preventDefault();
207
199
  const focusedItemId = this.listContainer.nativeElement.querySelector('.ax-state-focus')?.dataset?.id;
208
- const focusedItem = findLast(this.flatItems, [
209
- this.valueField,
210
- focusedItemId,
211
- ]);
200
+ const focusedItem = findLast(this.flatItems, [this.valueField, focusedItemId]);
212
201
  if (focusedItem) {
213
202
  if (this.isItemDisabled(focusedItem)) {
214
203
  return;
@@ -251,17 +240,14 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
251
240
  this.focus();
252
241
  }
253
242
  _focusSearchBox() {
254
- if (this._searchBox &&
255
- (!this._isActionSheet || this._searchBox.searchExp)) {
243
+ if (this._searchBox && (!this._isActionSheet || this._searchBox.searchExp)) {
256
244
  this._searchBox.focus();
257
245
  }
258
246
  }
259
247
  _focusItemByNav(sign) {
260
248
  const list = this.listContainer.nativeElement;
261
249
  const fn = s => list.querySelector(s);
262
- const itemDiv = fn(`.ax-list-item.ax-state-focus`) ||
263
- fn(`.ax-list-item.ax-state-selected`) ||
264
- fn(`.ax-list-item`);
250
+ const itemDiv = fn(`.ax-list-item.ax-state-focus`) || fn(`.ax-list-item.ax-state-selected`) || fn(`.ax-list-item`);
265
251
  let next = (sign == 1 ? itemDiv.nextElementSibling : itemDiv.previousElementSibling);
266
252
  if (next) {
267
253
  this._focusItemElement(next);
@@ -309,10 +295,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
309
295
  const _last = last(this.selectedItems);
310
296
  let i = 0;
311
297
  if (_last) {
312
- i = findLastIndex(this.flatItems, [
313
- this.valueField,
314
- _last[this.valueField],
315
- ]);
298
+ i = findLastIndex(this.flatItems, [this.valueField, _last[this.valueField]]);
316
299
  }
317
300
  i += sign;
318
301
  let next = nth(this.flatItems, i);
@@ -339,7 +322,7 @@ class AXSelectBoxComponent extends AXBaseSelectionDropdownMixin {
339
322
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: AXSelectBoxComponent, selector: "ax-select-box", inputs: { isOpen: "isOpen", fitParent: "fitParent", dropdownWidth: "dropdownWidth", position: "position", disabled: "disabled", tabIndex: "tabIndex", allowNull: "allowNull", value: "value", name: "name", checked: "checked", placeholder: "placeholder", maxLength: "maxLength", type: "type", autoComplete: "autoComplete", readonly: "readonly", pageSize: "pageSize", items: "items", valueField: "valueField", textField: "textField", disabledField: "disabledField", disabledCallback: "disabledCallback", multiple: "multiple", selectionMode: "selectionMode", clearButton: "clearButton", checkbox: "checkbox" }, outputs: { onOpened: "onOpened", onClosed: "onClosed", onBlur: "onBlur", onFocus: "onFocus", valueChange: "valueChange", onValueChanged: "onValueChanged" }, host: { listeners: { "keydown": "_handleKeydown($event)" }, classAttribute: "ax-editor-container ax-drop-down" }, providers: [
340
323
  { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },
341
324
  { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },
342
- ], queries: [{ propertyName: "_searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div\n class=\"ax-dropdown-content\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleInputClickEvent($event)\">\n <div\n class=\"ax-select-box-selection\"\n [tabindex]=\"tabIndex\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\">\n <ng-container\n *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\n <ng-container\n *ngIf=\"\n !multiple;\n then singleSelectedTemplate;\n else multipleSelectedTemplate\n \"></ng-container>\n <ng-template #singleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n </ng-container>\n </ng-template>\n <ng-template #multipleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ _getItemDisplayTextTemplte(item) }}\n <span\n class=\"ax-icon ax-icon-close\"\n (click)=\"_handleBadgeRemove($event, item)\">\n </span>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #showPlaceholder>\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n </ng-template>\n </div>\n</div>\n<ax-button\n color=\"light\"\n look=\"blank\"\n (onClick)=\"clear()\"\n [tabIndex]=\"-1\"\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\n</ax-button>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent($event)\">\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\n [ngClass]=\"{\n '-ax-rotation-90': !isOpen,\n 'ax-rotation-90': isOpen\n }\"></span>\n </ng-template>\n</button>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\">\n <div\n class=\"ax-overlay-pane\"\n (keydown)=\"_handlePopoverKeydown($event)\"\n tabindex=\"0\"\n aria-modal=\"true\"\n cdkTrapFocus\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\n [class.ax-full]=\"_searchBox || isLazy\"\n [style.min-width.px]=\"_popoverWidth\">\n <div class=\"ax-list\">\n <ax-header *ngIf=\"_isActionSheet\">\n <ax-title>{{ _popoverTitle }}</ax-title>\n <ax-close-button\n class=\"ax-icon\"\n [icon]=\"\n multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\n \"></ax-close-button>\n </ax-header>\n <div\n class=\"ax-search-box-container\"\n [class.ax-state-hidden]=\"!_searchBox\"\n [cdkTrapFocus]=\"_searchBox != null\">\n <ng-content select=\"ax-search-box\"></ng-content>\n </div>\n <div\n class=\"ax-content ax-list-items-container ax-default\"\n (scroll)=\"_handleListScroll($event)\"\n #listContainer>\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul>\n <ng-container\n *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\">\n </ng-container>\n <ng-template #tmpTree let-list=\"list\">\n <ng-container\n *ngFor=\"\n let item of list;\n let i = index;\n trackBy: _trackByFunction\n \">\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\n <li\n class=\"ax-list-item\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: { $implicit: item, direction: direction }\n \">\n </ng-container>\n </li>\n </ng-container>\n <ng-template #defualtTemplate>\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\n <li\n class=\"ax-list-item-group\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <ul *ngIf=\"item.children?.length > 0\">\n <ng-container\n *ngTemplateOutlet=\"\n tmpTree;\n context: { list: item.children }\n \">\n </ng-container>\n </ul>\n </li>\n </ng-container>\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item)\"></span>\n </li>\n </ng-container>\n <ng-template #multipleTemplate>\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [class.ax-state-checkbox]=\"checkbox\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n *ngIf=\"checkbox\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"isItemDisabled(item)\" />\n <span class=\"ax-checkbox-label\">{{\n _getItemDisplayTextTemplte(item)\n }}</span>\n </span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item) && !checkbox\"></span>\n </li>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading\n text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\n [innerHTML]=\"\n 'common.no-result-for'\n | trans\n : {\n exp: this._searchBox ? this._searchBox.searchExp : ''\n }\n \"></div>\n </ng-template>\n </ng-container>\n </ng-template>\n </div>\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\n >\n \n </div> -->\n <!-- <div class=\"ax-footer\">footer</div> -->\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorTitleComponent, selector: "ax-title" }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i6.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "text"], outputs: ["visibleChange"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
325
+ ], queries: [{ propertyName: "_searchBox", first: true, predicate: AXSearchBoxComponent, descendants: true, static: true }, { propertyName: "_contentEmptyTemplate", first: true, predicate: ["emptyTemplate"], descendants: true }], viewQueries: [{ propertyName: "popover", first: true, predicate: AXPopoverComponent, descendants: true, static: true }, { propertyName: "listContainer", first: true, predicate: ["listContainer"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\n <ng-template #singleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n </ng-container>\n </ng-template>\n <ng-template #multipleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ _getItemDisplayTextTemplte(item) }}\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #showPlaceholder>\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n </ng-template>\n </div>\n</div>\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && clearButton && !(disabled || readonly)\">\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\n</ax-button>\n<button [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-control\" (click)=\"_handleArrowClickEvent($event)\">\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\n [ngClass]=\"{\n '-ax-rotation-90': !isOpen,\n 'ax-rotation-90': isOpen\n }\"></span>\n </ng-template>\n</button>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\" [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\n <div\n class=\"ax-overlay-pane\"\n (keydown)=\"_handlePopoverKeydown($event)\"\n tabindex=\"0\"\n aria-modal=\"true\"\n cdkTrapFocus\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\n [class.ax-full]=\"_searchBox || isLazy\"\n [style.min-width.px]=\"_popoverWidth\">\n <div class=\"ax-list\">\n <ax-header *ngIf=\"_isActionSheet\">\n <ax-title>{{ _popoverTitle }}</ax-title>\n <ax-close-button class=\"ax-icon\" [icon]=\"multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\"></ax-close-button>\n </ax-header>\n <div class=\"ax-search-box-container\" [class.ax-state-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox != null\">\n <ng-content select=\"ax-search-box\"></ng-content>\n </div>\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\" #listContainer>\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul>\n <ng-container *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\"> </ng-container>\n <ng-template #tmpTree let-list=\"list\">\n <ng-container *ngFor=\"let item of list; let i = index; trackBy: _trackByFunction\">\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"item[this.valueField]\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, direction: direction }\"> </ng-container>\n </li>\n </ng-container>\n <ng-template #defualtTemplate>\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <ul *ngIf=\"item.children?.length > 0\">\n <ng-container *ngTemplateOutlet=\"tmpTree; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n </ng-container>\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <span class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item)\"></span>\n </li>\n </ng-container>\n <ng-template #multipleTemplate>\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [class.ax-state-checkbox]=\"checkbox\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span>\n <input class=\"ax-checkbox\" type=\"checkbox\" [class.ax-state-disabled]=\"isItemDisabled(item)\" *ngIf=\"checkbox\" [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\" />\n <span class=\"ax-checkbox-label\">{{ _getItemDisplayTextTemplte(item) }}</span>\n </span>\n <span class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) && !checkbox\"></span>\n </li>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [options]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\n [innerHTML]=\"\n 'common.no-result-for'\n | trans\n : {\n exp: this._searchBox ? this._searchBox.searchExp : ''\n }\n \"></div>\n </ng-template>\n </ng-container>\n </ng-template>\n </div>\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\n >\n \n </div> -->\n <!-- <div class=\"ax-footer\">footer</div> -->\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.AXDecoratorHeaderComponent, selector: "ax-header" }, { kind: "component", type: i3.AXDecoratorIconComponent, selector: "ax-icon", inputs: ["icon"] }, { kind: "component", type: i3.AXDecoratorTitleComponent, selector: "ax-title" }, { kind: "component", type: i3.AXDecoratorCloseButtonComponent, selector: "ax-close-button", inputs: ["icon"] }, { kind: "component", type: i4.AXPopoverComponent, selector: "ax-popover", inputs: ["target", "position", "openTrigger", "closeTrigger", "hasBackdrop", "backdropClass", "adaptivityEnabled"], outputs: ["onOpened", "onClosed"] }, { kind: "component", type: i5.AXButtonComponent, selector: "ax-button", inputs: ["disabled", "size", "tabIndex", "color", "look", "text", "toggleable", "selected", "type"], outputs: ["onBlur", "onFocus", "onClick", "selectedChange", "toggleableChange", "lookChange", "colorChange"] }, { kind: "component", type: i6.AXLoadingComponent, selector: "ax-loading", inputs: ["visible", "type", "options"], outputs: ["visibleChange"] }, { kind: "directive", type: i7.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "pipe", type: i8.AXTranslatorPipe, name: "trans" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
343
326
  }
344
327
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: AXSelectBoxComponent, decorators: [{
345
328
  type: Component,
@@ -367,17 +350,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImpor
367
350
  'disabledCallback',
368
351
  'multiple',
369
352
  'selectionMode',
370
- ], outputs: [
371
- 'onOpened',
372
- 'onClosed',
373
- 'onBlur',
374
- 'onFocus',
375
- 'valueChange',
376
- 'onValueChanged',
377
- ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
353
+ ], outputs: ['onOpened', 'onClosed', 'onBlur', 'onFocus', 'valueChange', 'onValueChanged'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
378
354
  { provide: AXClosbaleComponent, useExisting: AXSelectBoxComponent },
379
355
  { provide: AXSearchableComponent, useExisting: AXSelectBoxComponent },
380
- ], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div\n class=\"ax-dropdown-content\"\n [class.ax-state-disabled]=\"disabled\"\n (click)=\"_handleInputClickEvent($event)\">\n <div\n class=\"ax-select-box-selection\"\n [tabindex]=\"tabIndex\"\n (focus)=\"_emitOnFocusEvent($event)\"\n (blur)=\"_emitOnBlurEvent($event)\">\n <ng-container\n *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\n <ng-container\n *ngIf=\"\n !multiple;\n then singleSelectedTemplate;\n else multipleSelectedTemplate\n \"></ng-container>\n <ng-template #singleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n </ng-container>\n </ng-template>\n <ng-template #multipleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ _getItemDisplayTextTemplte(item) }}\n <span\n class=\"ax-icon ax-icon-close\"\n (click)=\"_handleBadgeRemove($event, item)\">\n </span>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #showPlaceholder>\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n </ng-template>\n </div>\n</div>\n<ax-button\n color=\"light\"\n look=\"blank\"\n (onClick)=\"clear()\"\n [tabIndex]=\"-1\"\n *ngIf=\"value && clearButton && !(disabled || readonly)\">\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\n</ax-button>\n<button\n [disabled]=\"disabled\"\n [tabIndex]=\"-1\"\n class=\"ax-editor-control\"\n (click)=\"_handleArrowClickEvent($event)\">\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\n [ngClass]=\"{\n '-ax-rotation-90': !isOpen,\n 'ax-rotation-90': isOpen\n }\"></span>\n </ng-template>\n</button>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ax-popover\n [target]=\"_target\"\n [position]=\"position\"\n [openTrigger]=\"'manual'\"\n [closeTrigger]=\"'clickout'\"\n [adaptivityEnabled]=\"true\"\n (onOpened)=\"_handlePopupOnOpened($event)\"\n (onClosed)=\"_handlePopupOnClosed($event)\">\n <div\n class=\"ax-overlay-pane\"\n (keydown)=\"_handlePopoverKeydown($event)\"\n tabindex=\"0\"\n aria-modal=\"true\"\n cdkTrapFocus\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\n [class.ax-full]=\"_searchBox || isLazy\"\n [style.min-width.px]=\"_popoverWidth\">\n <div class=\"ax-list\">\n <ax-header *ngIf=\"_isActionSheet\">\n <ax-title>{{ _popoverTitle }}</ax-title>\n <ax-close-button\n class=\"ax-icon\"\n [icon]=\"\n multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\n \"></ax-close-button>\n </ax-header>\n <div\n class=\"ax-search-box-container\"\n [class.ax-state-hidden]=\"!_searchBox\"\n [cdkTrapFocus]=\"_searchBox != null\">\n <ng-content select=\"ax-search-box\"></ng-content>\n </div>\n <div\n class=\"ax-content ax-list-items-container ax-default\"\n (scroll)=\"_handleListScroll($event)\"\n #listContainer>\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul>\n <ng-container\n *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\">\n </ng-container>\n <ng-template #tmpTree let-list=\"list\">\n <ng-container\n *ngFor=\"\n let item of list;\n let i = index;\n trackBy: _trackByFunction\n \">\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\n <li\n class=\"ax-list-item\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <ng-container\n *ngTemplateOutlet=\"\n itemTemplate;\n context: { $implicit: item, direction: direction }\n \">\n </ng-container>\n </li>\n </ng-container>\n <ng-template #defualtTemplate>\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\n <li\n class=\"ax-list-item-group\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <ul *ngIf=\"item.children?.length > 0\">\n <ng-container\n *ngTemplateOutlet=\"\n tmpTree;\n context: { list: item.children }\n \">\n </ng-container>\n </ul>\n </li>\n </ng-container>\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item)\"></span>\n </li>\n </ng-container>\n <ng-template #multipleTemplate>\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [class.ax-state-checkbox]=\"checkbox\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span>\n <input\n class=\"ax-checkbox\"\n type=\"checkbox\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n *ngIf=\"checkbox\"\n [checked]=\"isItemSelected(item)\"\n [disabled]=\"isItemDisabled(item)\" />\n <span class=\"ax-checkbox-label\">{{\n _getItemDisplayTextTemplte(item)\n }}</span>\n </span>\n <span\n class=\"ax-icon ax-icon-done ax-selected-icon\"\n *ngIf=\"isItemSelected(item) && !checkbox\"></span>\n </li>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading\n text=\"{{ 'layout.loading.text' | trans }}\"></ax-loading>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\n [innerHTML]=\"\n 'common.no-result-for'\n | trans\n : {\n exp: this._searchBox ? this._searchBox.searchExp : ''\n }\n \"></div>\n </ng-template>\n </ng-container>\n </ng-template>\n </div>\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\n >\n \n </div> -->\n <!-- <div class=\"ax-footer\">footer</div> -->\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"] }]
356
+ ], host: { class: 'ax-editor-container ax-drop-down' }, template: "<ng-content select=\"ax-prefix\"> </ng-content>\n<div class=\"ax-dropdown-content\" [class.ax-state-disabled]=\"disabled\" (click)=\"_handleInputClickEvent($event)\">\n <div class=\"ax-select-box-selection\" [tabindex]=\"tabIndex\" (focus)=\"_emitOnFocusEvent($event)\" (blur)=\"_emitOnBlurEvent($event)\">\n <ng-container *ngIf=\"selectedItems && selectedItems.length; else showPlaceholder\">\n <ng-container *ngIf=\"!multiple; then singleSelectedTemplate; else multipleSelectedTemplate\"></ng-container>\n <ng-template #singleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n </ng-container>\n </ng-template>\n <ng-template #multipleSelectedTemplate>\n <ng-container *ngFor=\"let item of selectedItems\">\n <div class=\"ax-select-multi-item\">\n {{ _getItemDisplayTextTemplte(item) }}\n <span class=\"ax-icon ax-icon-close\" (click)=\"_handleBadgeRemove($event, item)\"> </span>\n </div>\n </ng-container>\n </ng-template>\n </ng-container>\n <ng-template #showPlaceholder>\n <div class=\"ax-placeholder\" role=\"textbox\" area-readonly=\"true\">\n {{ placeholder }}\n </div>\n </ng-template>\n </div>\n</div>\n<ax-button color=\"light\" look=\"blank\" (onClick)=\"clear()\" [tabIndex]=\"-1\" *ngIf=\"value && clearButton && !(disabled || readonly)\">\n <ax-icon icon=\"ax-icon ax-icon-close\"></ax-icon>\n</ax-button>\n<button [disabled]=\"disabled\" [tabIndex]=\"-1\" class=\"ax-editor-control\" (click)=\"_handleArrowClickEvent($event)\">\n <ng-container *ngIf=\"isLoading && !this.popover.isOpen; else iconTemplate\">\n <ax-loading type=\"spinner\"></ax-loading>\n </ng-container>\n <ng-template #iconTemplate>\n <span\n class=\"ax-icon ax-icon-chevron-left ax-transition-all\"\n [ngClass]=\"{\n '-ax-rotation-90': !isOpen,\n 'ax-rotation-90': isOpen\n }\"></span>\n </ng-template>\n</button>\n<ng-content select=\"ax-validation-rule\"> </ng-content>\n<ng-content select=\"ax-suffix\"> </ng-content>\n<ax-popover [target]=\"_target\" [position]=\"position\" [openTrigger]=\"'manual'\" [closeTrigger]=\"'clickout'\" [adaptivityEnabled]=\"true\" (onOpened)=\"_handlePopupOnOpened($event)\" (onClosed)=\"_handlePopupOnClosed($event)\">\n <div\n class=\"ax-overlay-pane\"\n (keydown)=\"_handlePopoverKeydown($event)\"\n tabindex=\"0\"\n aria-modal=\"true\"\n cdkTrapFocus\n [class.ax-overlay-actionsheet]=\"_isActionSheet\"\n [class.ax-full]=\"_searchBox || isLazy\"\n [style.min-width.px]=\"_popoverWidth\">\n <div class=\"ax-list\">\n <ax-header *ngIf=\"_isActionSheet\">\n <ax-title>{{ _popoverTitle }}</ax-title>\n <ax-close-button class=\"ax-icon\" [icon]=\"multiple ? 'ax-icon-done !ax-text-primary-500' : 'ax-icon-close'\"></ax-close-button>\n </ax-header>\n <div class=\"ax-search-box-container\" [class.ax-state-hidden]=\"!_searchBox\" [cdkTrapFocus]=\"_searchBox != null\">\n <ng-content select=\"ax-search-box\"></ng-content>\n </div>\n <div class=\"ax-content ax-list-items-container ax-default\" (scroll)=\"_handleListScroll($event)\" #listContainer>\n <ng-container *ngIf=\"displayItems.length; else tmpEmpty\">\n <ul>\n <ng-container *ngTemplateOutlet=\"tmpTree; context: { list: displayItems }\"> </ng-container>\n <ng-template #tmpTree let-list=\"list\">\n <ng-container *ngFor=\"let item of list; let i = index; trackBy: _trackByFunction\">\n <ng-container *ngIf=\"itemTemplate; else defualtTemplate\">\n <li class=\"ax-list-item\" (click)=\"_handleOnItemClick($event, item)\" [attr.data-id]=\"item[this.valueField]\">\n <ng-container *ngTemplateOutlet=\"itemTemplate; context: { $implicit: item, direction: direction }\"> </ng-container>\n </li>\n </ng-container>\n <ng-template #defualtTemplate>\n <ng-container *ngIf=\"item.children?.length > 0; else tmpItem\">\n <li class=\"ax-list-item-group\" [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <ul *ngIf=\"item.children?.length > 0\">\n <ng-container *ngTemplateOutlet=\"tmpTree; context: { list: item.children }\"> </ng-container>\n </ul>\n </li>\n </ng-container>\n <ng-template #tmpItem>\n <ng-container *ngIf=\"!multiple; else multipleTemplate\">\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span> {{ _getItemDisplayTextTemplte(item) }}</span>\n <span class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item)\"></span>\n </li>\n </ng-container>\n <ng-template #multipleTemplate>\n <li\n class=\"ax-list-item\"\n [class.ax-state-selected]=\"isItemSelected(item)\"\n [class.ax-state-disabled]=\"isItemDisabled(item)\"\n [class.ax-state-checkbox]=\"checkbox\"\n [attr.tabindex]=\"i\"\n (click)=\"_handleOnItemClick($event, item)\"\n [attr.data-id]=\"item[this.valueField]\">\n <span>\n <input class=\"ax-checkbox\" type=\"checkbox\" [class.ax-state-disabled]=\"isItemDisabled(item)\" *ngIf=\"checkbox\" [checked]=\"isItemSelected(item)\" [disabled]=\"isItemDisabled(item)\" />\n <span class=\"ax-checkbox-label\">{{ _getItemDisplayTextTemplte(item) }}</span>\n </span>\n <span class=\"ax-icon ax-icon-done ax-selected-icon\" *ngIf=\"isItemSelected(item) && !checkbox\"></span>\n </li>\n </ng-template>\n </ng-template>\n </ng-template>\n </ng-container>\n </ng-template>\n </ul>\n </ng-container>\n <ng-container *ngIf=\"isLoading\">\n <ng-container *ngIf=\"loadingTemplate; else elseLoadingTemplate\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseLoadingTemplate>\n <div class=\"ax-flex ax-items-center ax-justify-center ax-p-4\">\n <ax-loading [options]=\"_loadingOptions\"></ax-loading>\n </div>\n </ng-template>\n </ng-container>\n <ng-template #tmpEmpty>\n <ng-container *ngIf=\"!isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else elseEmptyTemplate\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"> </ng-container>\n </ng-container>\n <ng-template #elseEmptyTemplate>\n <div\n class=\"ax-flex ax-items-center ax-justify-center ax-p-4\"\n [innerHTML]=\"\n 'common.no-result-for'\n | trans\n : {\n exp: this._searchBox ? this._searchBox.searchExp : ''\n }\n \"></div>\n </ng-template>\n </ng-container>\n </ng-template>\n </div>\n <!-- <div class=\"ax-list-items-container ax-vertical ax-default\" [class.ax-full]=\"_isMobile\"\n >\n \n </div> -->\n <!-- <div class=\"ax-footer\">footer</div> -->\n </div>\n </div>\n</ax-popover>\n", styles: ["ax-select-box .ax-select-multi-item{display:flex;align-items:center;padding:.25rem .5rem;background-color:rgba(var(--ax-color-on-surface));border-radius:var(--ax-rounded-border-default);margin-inline-end:.5rem}ax-select-box .ax-select-multi-item .ax-icon-close{cursor:pointer;margin-inline-start:.5rem}ax-select-box .ax-select-box-selection{display:flex;justify-content:center;align-items:center;outline-color:transparent;padding:0 .5rem;outline:transparent;-webkit-user-select:none;user-select:none}ax-select-box .ax-select-box-selection .ax-selectbox-input{opacity:0;width:0}\n"] }]
381
357
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i1.AXPlatform }]; }, propDecorators: { popover: [{
382
358
  type: ViewChild,
383
359
  args: [AXPopoverComponent, { static: true }]