@acorex/components 16.18.25 → 16.18.27

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
- import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ElementRef, Input } from '@angular/core';
2
- import { AXBaseTextComponent, AXValidatableComponent } from '../base/element.class';
1
+ import { Component, ChangeDetectionStrategy, ViewEncapsulation, ChangeDetectorRef, ElementRef, Input, } from '@angular/core';
2
+ import { AXBaseTextComponent, AXValidatableComponent, } from '../base/element.class';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
5
  import * as i2 from "../button/button.component";
@@ -19,11 +19,15 @@ export class AXTextBoxComponent extends AXBaseTextComponent {
19
19
  this.cdr = cdr;
20
20
  }
21
21
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextBoxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
22
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { mask: "mask", showMask: "showMask", type: "type", maxLength: "maxLength", maskGuid: "maskGuid", maskPlaceholder: "maskPlaceholder", maskKeepCharPositions: "maskKeepCharPositions" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { mask: "mask", showMask: "showMask", type: "type", maxLength: "maxLength", maskGuid: "maskGuid", maskPlaceholder: "maskPlaceholder", maskKeepCharPositions: "maskKeepCharPositions" }, host: { styleAttribute: "width: 100%" }, providers: [
23
+ { provide: AXValidatableComponent, useExisting: AXTextBoxComponent },
24
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
25
  }
24
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextBoxComponent, decorators: [{
25
27
  type: Component,
26
- args: [{ selector: 'ax-text-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>" }]
28
+ args: [{ selector: 'ax-text-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [
29
+ { provide: AXValidatableComponent, useExisting: AXTextBoxComponent },
30
+ ], template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>" }]
27
31
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { mask: [{
28
32
  type: Input
29
33
  }], showMask: [{
@@ -39,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImpor
39
43
  }], maskKeepCharPositions: [{
40
44
  type: Input
41
45
  }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQWEsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBVXBGLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxtQkFBbUI7SUF1Qm5DO0lBcEJ0QixJQUFJLENBQU07SUFHVixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBR2pCLElBQUksR0FBOEQsTUFBTSxDQUFDO0lBR3pFLFNBQVMsQ0FBUztJQUdsQixRQUFRLEdBQVksS0FBSyxDQUFDO0lBRzFCLGVBQWUsR0FBVyxHQUFHLENBQUM7SUFHOUIscUJBQXFCLEdBQVksS0FBSyxDQUFDO0lBRXZDLFlBQXNCLEdBQXNCLEVBQUUsR0FBZTtRQUMzRCxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBREksUUFBRyxHQUFILEdBQUcsQ0FBbUI7SUFFNUMsQ0FBQzt1R0F6QlUsa0JBQWtCOzJGQUFsQixrQkFBa0IsK1FBRmxCLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLENBQUMsaURDVG5GLDZtQ0FrQk07OzJGRFBPLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxhQUFhLGlCQUVSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLGFBQ25CLENBQUMsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsV0FBVyxvQkFBb0IsRUFBRSxDQUFDOytHQUtqRixJQUFJO3NCQURILEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxLQUFLO2dCQUlOLGVBQWU7c0JBRGQsS0FBSztnQkFJTixxQkFBcUI7c0JBRHBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQmFzZVRleHRDb21wb25lbnQsIEFYVmFsaWRhdGFibGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgc3R5bGU6ICd3aWR0aDogMTAwJScgfSxcbiAgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH1dXG59KVxuZXhwb3J0IGNsYXNzIEFYVGV4dEJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpXG4gIG1hc2s6IGFueTtcblxuICBASW5wdXQoKVxuICBzaG93TWFzayA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIHwgJ3RlbCcgfCAndXJsJyB8ICdwYXNzd29yZCcgfCAnc2VhcmNoJyA9ICd0ZXh0JztcblxuICBASW5wdXQoKVxuICBtYXhMZW5ndGg6IG51bWJlcjtcblxuICBASW5wdXQoKVxuICBtYXNrR3VpZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIG1hc2tQbGFjZWhvbGRlcjogc3RyaW5nID0gJ18nO1xuXG4gIEBJbnB1dCgpXG4gIG1hc2tLZWVwQ2hhclBvc2l0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLCByZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcihjZHIsIHJlZik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheCBmb3JtLWl0ZW1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbYXR0ci5pZF09XCJ1aWRcIiAjZmM+XG4gIDxkaXYgY2xhc3M9XCJheCBpdGVtcy13cmFwcGVyXCI+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3N0YXJ0XVwiPiA8L25nLWNvbnRlbnQ+XG4gICAgPGkgY2xhc3M9XCJmb3JtLWl0ZW0taWNvbiB7eyBpY29uIH19XCIgKm5nSWY9XCJpY29uXCI+PC9pPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIiAjY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiYXggZm9ybS1jb250cm9sIGlucHV0IHt7IHNpemUgfX1cIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgW2NsYXNzLmljb25dPVwiaWNvblwiPlxuICAgICAgPGlucHV0ICNpbnB1dCBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiIFtuYW1lXT1cIm5hbWVcIiBjbGFzcz1cImF4IHt7IHNpemUgfX1cIiBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgICBbYXR0ci5tYXhsZW5ndGhdPVwibWF4TGVuZ3RoXCIgW21hc2tdPVwibWFza1wiIFtzaG93TWFza1R5cGVkXT1cInNob3dNYXNrXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwie3sgcGxhY2Vob2xkZXIgfX1cIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbbmdDbGFzc109XCJzZXRUZXh0QWxpZ24oKVwiXG4gICAgICAgIFtjbGFzcy5jbGVhcl09XCJ2YWx1ZSAmJiBhbGxvd0NsZWFyXCIgKGZvY3VzKT1cImhhbmRsZUlucHV0Rm9jdXMoJGV2ZW50KVwiIChibHVyKT1cImhhbmRsZUlucHV0Qmx1cigkZXZlbnQpXCIgLz5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJheCBpdGVtcy13cmFwcGVyXCI+XG4gICAgPGF4LWJ1dHRvbiAqbmdJZj1cInZhbHVlICYmIGFsbG93Q2xlYXJcIiBpY29uPVwiZmFyIGZhLXRpbWVzXCIgdHlwZT1cImRhbmdlciBibGFua1wiIChjbGljayk9XCJjbGVhcigpXCI+PC9heC1idXR0b24+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2VuZF1cIj4gPC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGJveC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi90ZXh0Ym94L3RleHRib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3NyYy9saWIvdGV4dGJveC90ZXh0Ym94LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixpQkFBaUIsRUFFakIsVUFBVSxFQUNWLEtBQUssR0FDTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHNCQUFzQixHQUN2QixNQUFNLHVCQUF1QixDQUFDOzs7Ozs7QUFZL0IsTUFBTSxPQUFPLGtCQUFtQixTQUFRLG1CQUFtQjtJQXNCbkM7SUFwQnRCLElBQUksQ0FBTTtJQUdWLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFHakIsSUFBSSxHQUE4RCxNQUFNLENBQUM7SUFHekUsU0FBUyxDQUFTO0lBR2xCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFHMUIsZUFBZSxHQUFXLEdBQUcsQ0FBQztJQUc5QixxQkFBcUIsR0FBWSxLQUFLLENBQUM7SUFFdkMsWUFBc0IsR0FBc0IsRUFBRSxHQUFlO1FBQzNELEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFESSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUU1QyxDQUFDO3VHQXhCVSxrQkFBa0I7MkZBQWxCLGtCQUFrQiwrUUFKbEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUU7U0FDckUsaURDdEJILDZtQ0FrQk07OzJGRE1PLGtCQUFrQjtrQkFWOUIsU0FBUzsrQkFDRSxhQUFhLGlCQUVSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLGFBQ25CO3dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsb0JBQW9CLEVBQUU7cUJBQ3JFOytHQUlELElBQUk7c0JBREgsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLFNBQVM7c0JBRFIsS0FBSztnQkFJTixRQUFRO3NCQURQLEtBQUs7Z0JBSU4sZUFBZTtzQkFEZCxLQUFLO2dCQUlOLHFCQUFxQjtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgVmlld0NoaWxkLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWEJhc2VUZXh0Q29tcG9uZW50LFxuICBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LFxufSBmcm9tICcuLi9iYXNlL2VsZW1lbnQuY2xhc3MnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC10ZXh0LWJveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXh0Ym94LmNvbXBvbmVudC5odG1sJyxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgc3R5bGU6ICd3aWR0aDogMTAwJScgfSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBBWFZhbGlkYXRhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhUZXh0Qm94Q29tcG9uZW50IH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEFYVGV4dEJveENvbXBvbmVudCBleHRlbmRzIEFYQmFzZVRleHRDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBtYXNrOiBhbnk7XG5cbiAgQElucHV0KClcbiAgc2hvd01hc2sgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICB0eXBlOiAndGV4dCcgfCAnbnVtYmVyJyB8ICd0ZWwnIHwgJ3VybCcgfCAncGFzc3dvcmQnIHwgJ3NlYXJjaCcgPSAndGV4dCc7XG5cbiAgQElucHV0KClcbiAgbWF4TGVuZ3RoOiBudW1iZXI7XG5cbiAgQElucHV0KClcbiAgbWFza0d1aWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBtYXNrUGxhY2Vob2xkZXI6IHN0cmluZyA9ICdfJztcblxuICBASW5wdXQoKVxuICBtYXNrS2VlcENoYXJQb3NpdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcmVmOiBFbGVtZW50UmVmKSB7XG4gICAgc3VwZXIoY2RyLCByZWYpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXggZm9ybS1pdGVtXCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIuaWRdPVwidWlkXCIgI2ZjPlxuICA8ZGl2IGNsYXNzPVwiYXggaXRlbXMtd3JhcHBlclwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltzdGFydF1cIj4gPC9uZy1jb250ZW50PlxuICAgIDxpIGNsYXNzPVwiZm9ybS1pdGVtLWljb24ge3sgaWNvbiB9fVwiICpuZ0lmPVwiaWNvblwiPjwvaT5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgI2NvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cImF4IGZvcm0tY29udHJvbCBpbnB1dCB7eyBzaXplIH19XCIgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgIFtjbGFzcy5pY29uXT1cImljb25cIj5cbiAgICAgIDxpbnB1dCAjaW5wdXQgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIiBbbmFtZV09XCJuYW1lXCIgY2xhc3M9XCJheCB7eyBzaXplIH19XCIgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgICAgW2F0dHIubWF4bGVuZ3RoXT1cIm1heExlbmd0aFwiIFttYXNrXT1cIm1hc2tcIiBbc2hvd01hc2tUeXBlZF09XCJzaG93TWFza1wiIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICBwbGFjZWhvbGRlcj1cInt7IHBsYWNlaG9sZGVyIH19XCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW25nQ2xhc3NdPVwic2V0VGV4dEFsaWduKClcIlxuICAgICAgICBbY2xhc3MuY2xlYXJdPVwidmFsdWUgJiYgYWxsb3dDbGVhclwiIChmb2N1cyk9XCJoYW5kbGVJbnB1dEZvY3VzKCRldmVudClcIiAoYmx1cik9XCJoYW5kbGVJbnB1dEJsdXIoJGV2ZW50KVwiIC8+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiYXggaXRlbXMtd3JhcHBlclwiPlxuICAgIDxheC1idXR0b24gKm5nSWY9XCJ2YWx1ZSAmJiBhbGxvd0NsZWFyXCIgaWNvbj1cImZhciBmYS10aW1lc1wiIHR5cGU9XCJkYW5nZXIgYmxhbmtcIiAoY2xpY2spPVwiY2xlYXIoKVwiPjwvYXgtYnV0dG9uPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltlbmRdXCI+IDwvbmctY29udGVudD5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { ElementRef, Component, Inject, Optional, Input, Injectable, EventEmitter, Output, Directive, ViewChild, ContentChild, TemplateRef, ViewEncapsulation, HostListener, NgModule, ChangeDetectionStrategy, Attribute, ContentChildren, ViewChildren, inject, ChangeDetectorRef, model, signal, afterNextRender, input, contentChildren, NO_ERRORS_SCHEMA, ViewContainerRef, HostBinding } from '@angular/core';
2
+ import { ElementRef, Component, Inject, Optional, Input, Injectable, EventEmitter, Output, Directive, ViewChild, ContentChild, TemplateRef, ViewEncapsulation, HostListener, NgModule, ChangeDetectionStrategy, Attribute, ContentChildren, ViewChildren, inject, ChangeDetectorRef, model, afterNextRender, input, contentChildren, NO_ERRORS_SCHEMA, ViewContainerRef, HostBinding } from '@angular/core';
3
3
  import * as i1$2 from '@acorex/core';
4
4
  import { AXTranslator, AXHtmlUtil, AXConfig, AXDateTime, AXDateTimeRange, AXCoreModule, AXTranslatorModule, AXObjectUtil, AXScrollModule, setPropByPath, AXColorUtil } from '@acorex/core';
5
5
  import * as i1 from '@angular/cdk/overlay';
@@ -4014,11 +4014,15 @@ class AXTextBoxComponent extends AXBaseTextComponent {
4014
4014
  this.cdr = cdr;
4015
4015
  }
4016
4016
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextBoxComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4017
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { mask: "mask", showMask: "showMask", type: "type", maxLength: "maxLength", maskGuid: "maskGuid", maskPlaceholder: "maskPlaceholder", maskKeepCharPositions: "maskKeepCharPositions" }, host: { styleAttribute: "width: 100%" }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4017
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextBoxComponent, selector: "ax-text-box", inputs: { mask: "mask", showMask: "showMask", type: "type", maxLength: "maxLength", maskGuid: "maskGuid", maskPlaceholder: "maskPlaceholder", maskKeepCharPositions: "maskKeepCharPositions" }, host: { styleAttribute: "width: 100%" }, providers: [
4018
+ { provide: AXValidatableComponent, useExisting: AXTextBoxComponent },
4019
+ ], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }, { kind: "directive", type: i3.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
4018
4020
  }
4019
4021
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextBoxComponent, decorators: [{
4020
4022
  type: Component,
4021
- args: [{ selector: 'ax-text-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [{ provide: AXValidatableComponent, useExisting: AXTextBoxComponent }], template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>" }]
4023
+ args: [{ selector: 'ax-text-box', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [
4024
+ { provide: AXValidatableComponent, useExisting: AXTextBoxComponent },
4025
+ ], template: "<div class=\"ax form-item\" [class.disabled]=\"disabled\" [attr.id]=\"uid\" #fc>\n <div class=\"ax items-wrapper\">\n <ng-content select=\"[start]\"> </ng-content>\n <i class=\"form-item-icon {{ icon }}\" *ngIf=\"icon\"></i>\n </div>\n <div class=\"content\" #content>\n <div class=\"ax form-control input {{ size }}\" [class.disabled]=\"disabled\" [class.readonly]=\"readonly\"\n [class.icon]=\"icon\">\n <input #input [autocomplete]=\"autocomplete\" [name]=\"name\" class=\"ax {{ size }}\" [attr.type]=\"type\"\n [attr.maxlength]=\"maxLength\" [mask]=\"mask\" [showMaskTyped]=\"showMask\" [(ngModel)]=\"value\"\n placeholder=\"{{ placeholder }}\" [readonly]=\"readonly\" [disabled]=\"disabled\" [ngClass]=\"setTextAlign()\"\n [class.clear]=\"value && allowClear\" (focus)=\"handleInputFocus($event)\" (blur)=\"handleInputBlur($event)\" />\n </div>\n </div>\n <div class=\"ax items-wrapper\">\n <ax-button *ngIf=\"value && allowClear\" icon=\"far fa-times\" type=\"danger blank\" (click)=\"clear()\"></ax-button>\n <ng-content select=\"[end]\"> </ng-content>\n </div>\n</div>" }]
4022
4026
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { mask: [{
4023
4027
  type: Input
4024
4028
  }], showMask: [{
@@ -6181,77 +6185,55 @@ class AXFormGroupComponent extends AXBaseComponent {
6181
6185
  component;
6182
6186
  required = AXConfig.get('form')?.required || false;
6183
6187
  labelMode = model(AXConfig.get('form')?.labelMode || 'static');
6184
- isFloatActive = signal(false);
6185
6188
  #nextRender = afterNextRender(() => {
6186
- this.required = this.component?.validation?.rules?.some((c) => c.type === 'required');
6189
+ this.required = this.component?.validation?.rules?.some((c) => c.type === 'required' && c.enabled);
6187
6190
  this.div.nativeElement.classList.add(this.size);
6188
6191
  if (this.required) {
6189
6192
  this.div.nativeElement.classList.add('required-state');
6190
6193
  }
6191
- const input = this.component.ref.nativeElement.querySelector('input');
6192
- const textArea = this.component.ref.nativeElement.querySelector('textarea');
6193
- if (this.component.name === 'selectBox') {
6194
+ if (this.labelMode() === 'static' || this.labelMode() === 'over')
6195
+ return;
6196
+ const convertTypeComponent = this.component;
6197
+ if (convertTypeComponent.value ||
6198
+ convertTypeComponent.selectedItems?.length > 0) {
6199
+ this.labelMode.set('over');
6200
+ }
6201
+ if (convertTypeComponent.componentName === 'selectBox') {
6194
6202
  const selectBox = this.component;
6195
6203
  selectBox.selectedItemsChange.subscribe((e) => {
6196
- if (e.length > 0 && this.labelMode() === 'float') {
6197
- this.isFloatActive.set(true);
6204
+ if (e.length > 0) {
6198
6205
  this.labelMode.set('over');
6199
6206
  }
6200
6207
  else {
6201
6208
  this.labelMode.set('float');
6202
- this.isFloatActive.set(false);
6203
6209
  }
6204
6210
  });
6205
6211
  }
6206
- if (input) {
6207
- input.addEventListener('input', this.checkForValue.bind(this));
6208
- input.addEventListener('focus', this.handleFocus.bind(this));
6209
- input.addEventListener('blur', this.handeleBlur.bind(this));
6212
+ else {
6213
+ convertTypeComponent.onValueChanged.subscribe((e) => {
6214
+ if (e.value) {
6215
+ this.labelMode.set('over');
6216
+ }
6217
+ else {
6218
+ this.labelMode.set('float');
6219
+ }
6220
+ });
6210
6221
  }
6211
- if (textArea) {
6212
- textArea.addEventListener('input', this.checkForValue.bind(this));
6213
- textArea.addEventListener('focus', this.handleFocus.bind(this));
6214
- textArea.addEventListener('blur', this.handeleBlur.bind(this));
6222
+ if (convertTypeComponent.componentName === 'textArea') {
6223
+ const textArea = this.component;
6224
+ textArea.onFocus.subscribe((e) => {
6225
+ if (!e.target.value) {
6226
+ this.labelMode.set('over');
6227
+ }
6228
+ });
6215
6229
  }
6216
- this.checkForValue();
6217
6230
  });
6218
- checkForValue() {
6219
- if ((this.component.value ||
6220
- this.component.selectedItems?.length > 0) &&
6221
- this.labelMode() === 'float') {
6222
- this.labelMode.set('over');
6223
- this.isFloatActive.set(true);
6224
- }
6225
- }
6226
- handleFocus() {
6227
- if (this.labelMode() === 'float') {
6228
- this.isFloatActive.set(true);
6229
- this.labelMode.set('over');
6230
- }
6231
- }
6232
- handeleBlur() {
6233
- if ((this.component.value ||
6234
- this.component.selectedItems?.length > 0) &&
6235
- this.isFloatActive()) {
6236
- this.labelMode.set('over');
6237
- }
6238
- else if ((!this.component.value ||
6239
- this.component.selectedItems?.length === 0) &&
6240
- this.isFloatActive()) {
6241
- this.labelMode.set('float');
6242
- this.isFloatActive.set(false);
6243
- }
6244
- }
6245
- ngOnDestroy() {
6246
- removeEventListener('focus', this.handleFocus);
6247
- removeEventListener('blur', this.handeleBlur);
6248
- }
6249
6231
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXFormGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
6250
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.7", type: AXFormGroupComponent, selector: "ax-form-group", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { labelMode: "labelModeChange" }, host: { styleAttribute: "width: 100%; display:contents;" }, queries: [{ propertyName: "component", first: true, predicate: AXValidatableComponent, descendants: true }], viewQueries: [{ propertyName: "div", first: true, predicate: ["div"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ax form-group {{ size }} ax-form-group-container\">\n <div class=\"ax-lable-{{ labelMode() }}\">\n <ng-content select=\"ax-label\"></ng-content>\n </div>\n <div\n #div\n class=\"ax form-item {{ size }}\"\n [ngClass]=\"{ 'required-state': required }\"\n >\n <div class=\"ax buttons start-buttons\" #startButtons>\n <ng-content select=\"ax-button[start]\"></ng-content>\n </div>\n <div\n class=\"content {{ labelMode() === 'over' && 'ax-over-apply' }}\"\n #content\n >\n <ng-content></ng-content>\n </div>\n <div class=\"ax buttons end-buttons\" #endButtons>\n <ng-content select=\"ax-button[end]\"></ng-content>\n <ng-content select=\"ax-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".ax-form-group-container{position:relative}.ax-form-group-container .ax-lable-static{position:static}.ax-form-group-container .ax-lable-float{top:50%;transform:translateY(-50%)}.ax-form-group-container .ax-lable-over{top:0}.ax-form-group-container .ax-lable-over,.ax-form-group-container .ax-lable-float{position:absolute;z-index:999;transition:all .15s ease-in-out;inset-inline-start:.3rem}.ax-form-group-container .ax-lable-over .form-group-label,.ax-form-group-container .ax-lable-float .form-group-label{padding:.1rem .5rem!important;font-size:.7rem!important}.ax-form-group-container .content.ax-over-apply{padding:.25rem 0 0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6232
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.7", type: AXFormGroupComponent, selector: "ax-form-group", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: false, isRequired: false, transformFunction: null }, labelMode: { classPropertyName: "labelMode", publicName: "labelMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { labelMode: "labelModeChange" }, host: { styleAttribute: "width: 100%; display:contents;" }, queries: [{ propertyName: "component", first: true, predicate: AXValidatableComponent, descendants: true }], viewQueries: [{ propertyName: "div", first: true, predicate: ["div"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax form-group {{ size }} ax-form-group-container {{\n labelMode() !== 'static' && 'ax-margin-form'\n }}\"\n>\n <div class=\"ax-lable-{{ labelMode() }}\">\n <ng-content select=\"ax-label\"></ng-content>\n </div>\n <div\n #div\n class=\"ax form-item {{ size }}\"\n [ngClass]=\"{ 'required-state': required }\"\n >\n <div class=\"ax buttons start-buttons\" #startButtons>\n <ng-content select=\"ax-button[start]\"></ng-content>\n </div>\n <div\n class=\"content {{ labelMode() === 'over' && 'ax-over-apply' }}\"\n #content\n >\n <ng-content></ng-content>\n </div>\n <div class=\"ax buttons end-buttons\" #endButtons>\n <ng-content select=\"ax-button[end]\"></ng-content>\n <ng-content select=\"ax-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".ax-form-group-container{position:relative}.ax-form-group-container .ax-lable-static{position:static}.ax-form-group-container .ax-lable-float{top:50%;transform:translateY(-50%)}.ax-form-group-container .ax-lable-over{top:7%}.ax-form-group-container .ax-lable-over,.ax-form-group-container .ax-lable-float{position:absolute;z-index:999;transition:all .15s ease-in-out;inset-inline-start:.3rem}.ax-form-group-container .ax-lable-over .form-group-label,.ax-form-group-container .ax-lable-float .form-group-label{padding:.1rem .5rem!important;font-size:.7rem!important}.ax-form-group-container .content.ax-over-apply{padding:.8rem 0 0}.ax-form-group-container.ax-margin-form{margin-bottom:.5rem}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
6251
6233
  }
6252
6234
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXFormGroupComponent, decorators: [{
6253
6235
  type: Component,
6254
- args: [{ selector: 'ax-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%; display:contents;' }, template: "<div class=\"ax form-group {{ size }} ax-form-group-container\">\n <div class=\"ax-lable-{{ labelMode() }}\">\n <ng-content select=\"ax-label\"></ng-content>\n </div>\n <div\n #div\n class=\"ax form-item {{ size }}\"\n [ngClass]=\"{ 'required-state': required }\"\n >\n <div class=\"ax buttons start-buttons\" #startButtons>\n <ng-content select=\"ax-button[start]\"></ng-content>\n </div>\n <div\n class=\"content {{ labelMode() === 'over' && 'ax-over-apply' }}\"\n #content\n >\n <ng-content></ng-content>\n </div>\n <div class=\"ax buttons end-buttons\" #endButtons>\n <ng-content select=\"ax-button[end]\"></ng-content>\n <ng-content select=\"ax-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".ax-form-group-container{position:relative}.ax-form-group-container .ax-lable-static{position:static}.ax-form-group-container .ax-lable-float{top:50%;transform:translateY(-50%)}.ax-form-group-container .ax-lable-over{top:0}.ax-form-group-container .ax-lable-over,.ax-form-group-container .ax-lable-float{position:absolute;z-index:999;transition:all .15s ease-in-out;inset-inline-start:.3rem}.ax-form-group-container .ax-lable-over .form-group-label,.ax-form-group-container .ax-lable-float .form-group-label{padding:.1rem .5rem!important;font-size:.7rem!important}.ax-form-group-container .content.ax-over-apply{padding:.25rem 0 0}\n"] }]
6236
+ args: [{ selector: 'ax-form-group', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%; display:contents;' }, template: "<div\n class=\"ax form-group {{ size }} ax-form-group-container {{\n labelMode() !== 'static' && 'ax-margin-form'\n }}\"\n>\n <div class=\"ax-lable-{{ labelMode() }}\">\n <ng-content select=\"ax-label\"></ng-content>\n </div>\n <div\n #div\n class=\"ax form-item {{ size }}\"\n [ngClass]=\"{ 'required-state': required }\"\n >\n <div class=\"ax buttons start-buttons\" #startButtons>\n <ng-content select=\"ax-button[start]\"></ng-content>\n </div>\n <div\n class=\"content {{ labelMode() === 'over' && 'ax-over-apply' }}\"\n #content\n >\n <ng-content></ng-content>\n </div>\n <div class=\"ax buttons end-buttons\" #endButtons>\n <ng-content select=\"ax-button[end]\"></ng-content>\n <ng-content select=\"ax-button\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [".ax-form-group-container{position:relative}.ax-form-group-container .ax-lable-static{position:static}.ax-form-group-container .ax-lable-float{top:50%;transform:translateY(-50%)}.ax-form-group-container .ax-lable-over{top:7%}.ax-form-group-container .ax-lable-over,.ax-form-group-container .ax-lable-float{position:absolute;z-index:999;transition:all .15s ease-in-out;inset-inline-start:.3rem}.ax-form-group-container .ax-lable-over .form-group-label,.ax-form-group-container .ax-lable-float .form-group-label{padding:.1rem .5rem!important;font-size:.7rem!important}.ax-form-group-container .content.ax-over-apply{padding:.8rem 0 0}.ax-form-group-container.ax-margin-form{margin-bottom:.5rem}\n"] }]
6255
6237
  }], propDecorators: { size: [{
6256
6238
  type: Input
6257
6239
  }], div: [{
@@ -8704,7 +8686,7 @@ class AXSelectBoxComponent extends AXValidatableComponent {
8704
8686
  cdr;
8705
8687
  ref;
8706
8688
  zone;
8707
- name = 'selectBox';
8689
+ componentName = 'selectBox';
8708
8690
  showDropDownButton = true;
8709
8691
  rowTemplate;
8710
8692
  rowInputTemplate;
@@ -13773,27 +13755,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImpor
13773
13755
 
13774
13756
  class AXTextAreaComponent extends AXBaseTextComponent {
13775
13757
  cdr;
13758
+ componentName = 'textArea';
13776
13759
  constructor(cdr, ref) {
13777
13760
  super(cdr, ref);
13778
13761
  this.cdr = cdr;
13779
13762
  }
13780
13763
  rows = 0;
13781
13764
  cols = 0;
13765
+ onBlur = new EventEmitter();
13766
+ onFocus = new EventEmitter();
13782
13767
  maxLength = null;
13768
+ focusHandler(e) {
13769
+ this.onFocus.emit(e);
13770
+ }
13771
+ blurHandler(e) {
13772
+ this.onBlur.emit(e);
13773
+ }
13783
13774
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextAreaComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
13784
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { rows: "rows", cols: "cols", maxLength: "maxLength" }, host: { styleAttribute: "width: 100%" }, providers: [
13775
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextAreaComponent, selector: "ax-text-area", inputs: { rows: "rows", cols: "cols", maxLength: "maxLength" }, outputs: { onBlur: "onBlur", onFocus: "onFocus" }, host: { styleAttribute: "width: 100%" }, providers: [
13785
13776
  { provide: AXValidatableComponent, useExisting: AXTextAreaComponent },
13786
- ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax form-item {{ size }}\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"uid\"\n>\n <div class=\"content\">\n <div\n class=\"ax input {{ size }}\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n >\n <textarea\n [name]=\"name\"\n [attr.maxlength]=\"maxLength\"\n rows=\"{{ rows }}\"\n cols=\"{{ cols }}\"\n #input\n type=\"text\"\n class=\"ax icon {{ size }}\"\n [ngClass]=\"setTextAlign()\"\n placeholder=\"{{ placeholder }}\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n value=\"{{ value }}\"\n ></textarea>\n </div>\n </div>\n <div class=\"ax buttons\">\n <ng-content select=\"ax-button\"> </ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13777
+ ], usesInheritance: true, ngImport: i0, template: "<div\n class=\"ax form-item {{ size }}\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"uid\"\n>\n <div class=\"content\">\n <div\n class=\"ax input {{ size }}\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n >\n <textarea\n (focus)=\"focusHandler($event)\"\n (blur)=\"blurHandler($event)\"\n [name]=\"name\"\n [attr.maxlength]=\"maxLength\"\n rows=\"{{ rows }}\"\n cols=\"{{ cols }}\"\n #input\n type=\"text\"\n class=\"ax icon {{ size }}\"\n [ngClass]=\"setTextAlign()\"\n placeholder=\"{{ placeholder }}\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n value=\"{{ value }}\"\n ></textarea>\n </div>\n </div>\n <div class=\"ax buttons\">\n <ng-content select=\"ax-button\"> </ng-content>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
13787
13778
  }
13788
13779
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextAreaComponent, decorators: [{
13789
13780
  type: Component,
13790
13781
  args: [{ selector: 'ax-text-area', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { style: 'width: 100%' }, providers: [
13791
13782
  { provide: AXValidatableComponent, useExisting: AXTextAreaComponent },
13792
- ], template: "<div\n class=\"ax form-item {{ size }}\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"uid\"\n>\n <div class=\"content\">\n <div\n class=\"ax input {{ size }}\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n >\n <textarea\n [name]=\"name\"\n [attr.maxlength]=\"maxLength\"\n rows=\"{{ rows }}\"\n cols=\"{{ cols }}\"\n #input\n type=\"text\"\n class=\"ax icon {{ size }}\"\n [ngClass]=\"setTextAlign()\"\n placeholder=\"{{ placeholder }}\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n value=\"{{ value }}\"\n ></textarea>\n </div>\n </div>\n <div class=\"ax buttons\">\n <ng-content select=\"ax-button\"> </ng-content>\n </div>\n</div>\n" }]
13783
+ ], template: "<div\n class=\"ax form-item {{ size }}\"\n [class.disabled]=\"disabled\"\n [attr.id]=\"uid\"\n>\n <div class=\"content\">\n <div\n class=\"ax input {{ size }}\"\n [class.disabled]=\"disabled\"\n [class.readonly]=\"readonly\"\n >\n <textarea\n (focus)=\"focusHandler($event)\"\n (blur)=\"blurHandler($event)\"\n [name]=\"name\"\n [attr.maxlength]=\"maxLength\"\n rows=\"{{ rows }}\"\n cols=\"{{ cols }}\"\n #input\n type=\"text\"\n class=\"ax icon {{ size }}\"\n [ngClass]=\"setTextAlign()\"\n placeholder=\"{{ placeholder }}\"\n [readonly]=\"readonly\"\n [disabled]=\"disabled\"\n value=\"{{ value }}\"\n ></textarea>\n </div>\n </div>\n <div class=\"ax buttons\">\n <ng-content select=\"ax-button\"> </ng-content>\n </div>\n</div>\n" }]
13793
13784
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }], propDecorators: { rows: [{
13794
13785
  type: Input
13795
13786
  }], cols: [{
13796
13787
  type: Input
13788
+ }], onBlur: [{
13789
+ type: Output
13790
+ }], onFocus: [{
13791
+ type: Output
13797
13792
  }], maxLength: [{
13798
13793
  type: Input
13799
13794
  }] } });
@@ -13817,7 +13812,7 @@ class AXTextareaPropertyEditorComponent extends AXProperyEditorComponent {
13817
13812
  this.onRenderCompleted.emit();
13818
13813
  }
13819
13814
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextareaPropertyEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
13820
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextareaPropertyEditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "textBox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-area (onValueChanged)=\"handleValueChange($event)\" [value]=\"value\" \n [readonly]=\"readonly\" \n [allowClear]=\"clearButton\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n >\n <ax-validation [rules]=\"validation?.rules\">\n </ax-validation>\n</ax-text-area>\n", dependencies: [{ kind: "component", type: AXTextAreaComponent, selector: "ax-text-area", inputs: ["rows", "cols", "maxLength"] }, { kind: "component", type: AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }] });
13815
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.7", type: AXTextareaPropertyEditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "textBox", first: true, predicate: AXTextBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-text-area (onValueChanged)=\"handleValueChange($event)\" [value]=\"value\" \n [readonly]=\"readonly\" \n [allowClear]=\"clearButton\"\n [placeholder]=\"placeholder\"\n [rows]=\"rows\"\n >\n <ax-validation [rules]=\"validation?.rules\">\n </ax-validation>\n</ax-text-area>\n", dependencies: [{ kind: "component", type: AXTextAreaComponent, selector: "ax-text-area", inputs: ["rows", "cols", "maxLength"], outputs: ["onBlur", "onFocus"] }, { kind: "component", type: AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }] });
13821
13816
  }
13822
13817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.7", ngImport: i0, type: AXTextareaPropertyEditorComponent, decorators: [{
13823
13818
  type: Component,