ng-tailwind 5.0.22 → 5.1.23

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.
@@ -1114,7 +1114,7 @@ class NgtDropdownComponent {
1114
1114
  }
1115
1115
  }
1116
1116
  NgtDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtDropdownComponent, deps: [{ token: NgtDropdownContainerComponent, optional: true, skipSelf: true }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
1117
- NgtDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtDropdownComponent, selector: "ngt-dropdown", inputs: { scrollable: "scrollable", autoXReverse: "autoXReverse", autoYReverse: "autoYReverse", reverseXPosition: "reverseXPosition", reverseYPosition: "reverseYPosition", closeOnClick: "closeOnClick", closeTimeout: "closeTimeout", openMethod: "openMethod" }, outputs: { onToggle: "onToggle", onHostClick: "onHostClick" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\" class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\"\n (click)='toggle()'>\n</button>\n", styles: [".ngt-dropdown-container{max-height:30rem;width:max-content}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
1117
+ NgtDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtDropdownComponent, selector: "ngt-dropdown", inputs: { scrollable: "scrollable", autoXReverse: "autoXReverse", autoYReverse: "autoYReverse", reverseXPosition: "reverseXPosition", reverseYPosition: "reverseYPosition", closeOnClick: "closeOnClick", closeTimeout: "closeTimeout", openMethod: "openMethod" }, outputs: { onToggle: "onToggle", onHostClick: "onHostClick" }, viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["container"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div *ngIf=\"isOpen\" class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\"\n class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\" (click)='toggle()'>\n</button>", styles: [".ngt-dropdown-container{max-height:30rem;width:max-content}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
1118
1118
  trigger('openClose', [
1119
1119
  state('open', style({ opacity: 1, transform: 'translateY(0px)' })),
1120
1120
  state('closed', style({ opacity: 0, transform: 'translateY(-10px)' })),
@@ -1133,7 +1133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
1133
1133
  animate(300)
1134
1134
  ]),
1135
1135
  ]),
1136
- ], template: "<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\" class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\"\n (click)='toggle()'>\n</button>\n", styles: [".ngt-dropdown-container{max-height:30rem;width:max-content}\n"] }]
1136
+ ], template: "<div class=\"sm:relative\">\n <div (mouseenter)=\"onHover(host, container)\" (click)=\"onClick($event, host, container)\"\n (contextmenu)=\"onRightClick($event)\" #host>\n <ng-content select='[host]'></ng-content>\n </div>\n\n <div [hidden]='!isOpen'\n class=\"{{ shouldReverseYPosition() ? 'mb-12 bottom-0' : 'mt-4' }} {{ shouldReverseXPosition() ? 'left-0': 'right-0' }} ngt-dropdown-container sm:mr-0 mr-3 max-w-xs absolute\"\n [@openClose]=\"isOpen ? 'open' : 'closed'\" (mouseenter)=\"onHover(host, container)\"\n (click)='closeOnSelectOption()' style=\"z-index: 1100 !important;\" #container>\n\n <div *ngIf=\"isOpen\" class=\"flex flex-col\" [ngClass]=\"{ 'h-52 overflow-auto':scrollable }\">\n <ng-content select='[container]'></ng-content>\n </div>\n </div>\n</div>\n\n<button *ngIf=\"isOpen && openMethod != 'HOVER'\" type=\"button\"\n class=\"fixed z-40 inset-0 h-full w-full opacity-0 cursor-default\" (click)='toggle()'>\n</button>", styles: [".ngt-dropdown-container{max-height:30rem;width:max-content}\n"] }]
1137
1137
  }], ctorParameters: function () {
1138
1138
  return [{ type: NgtDropdownContainerComponent, decorators: [{
1139
1139
  type: Optional
@@ -2087,10 +2087,10 @@ class NgtValidationComponent {
2087
2087
  }
2088
2088
  }
2089
2089
  NgtValidationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtValidationComponent, deps: [{ token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2090
- NgtValidationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtValidationComponent, selector: "ngt-validation", inputs: { control: "control", container: "container", minValue: "minValue", minLength: "minLength" }, ngImport: i0, template: "<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2090
+ NgtValidationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtValidationComponent, selector: "ngt-validation", inputs: { control: "control", container: "container", minValue: "minValue", minLength: "minLength" }, ngImport: i0, template: "<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_custom_validator && (control?.dirty || (container && container['submitted']))\">\n {{ control.errors.invalid_custom_validator }}\n </span>\n</div>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2091
2091
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtValidationComponent, decorators: [{
2092
2092
  type: Component,
2093
- args: [{ selector: 'ngt-validation', template: "<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n</div>\n" }]
2093
+ args: [{ selector: 'ngt-validation', template: "<div type=\"hidden\" class=\"text-xxs text-red-700 font-bold\">\n <span class=\"help-block has-error\" *ngIf=\"control?.errors?.maxlength\">\n {{ ngtTranslateService.ngtValidationMaxCharactersExceded }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.required && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationRequiredField }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.email && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidEmail }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.login && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationLogin }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPassword }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.unique && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationAlreadyExists }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cnpj && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCnpj }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.cpf && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidCpf }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.password && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationPasswordRequiredMinCharacters }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.match && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationFieldsNotMatch }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalidDate && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidDate }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.time && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationInvalidPrevision }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.externalServerDependency && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationExternalServerUnavailable }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minValue && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationValueMustBeGreaterThan(minValue) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.minlength && (control?.dirty || (container && container['submitted']))\">\n {{ ngtTranslateService.ngtValidationMinLengthField(minLength) }}\n </span>\n\n <span class=\"help-block has-error\"\n *ngIf=\"control?.errors?.invalid_custom_validator && (control?.dirty || (container && container['submitted']))\">\n {{ control.errors.invalid_custom_validator }}\n </span>\n</div>" }]
2094
2094
  }], ctorParameters: function () {
2095
2095
  return [{ type: NgtTranslateService, decorators: [{
2096
2096
  type: Optional
@@ -2166,8 +2166,8 @@ class NgtInputComponent extends NgtBaseNgModel {
2166
2166
  this.decimalMaskPrecision = 2;
2167
2167
  this.showCharactersLength = false;
2168
2168
  this.uppercase = false;
2169
- this.type = 'text';
2170
2169
  this.helperAutoXReverse = true;
2170
+ this.type = 'text';
2171
2171
  this.onClickLeftIcon = new EventEmitter();
2172
2172
  this.onClickRightIcon = new EventEmitter();
2173
2173
  this.validatePhoneResult = new EventEmitter();
@@ -2422,6 +2422,9 @@ class NgtInputComponent extends NgtBaseNgModel {
2422
2422
  if (this.type == 'password' && this.validatePassword && this.hasPasswordValidation()) {
2423
2423
  asyncValidators.push(this.passwordValidator());
2424
2424
  }
2425
+ if (this.customValidator) {
2426
+ asyncValidators.push(this.customValidator());
2427
+ }
2425
2428
  this.formControl.setAsyncValidators(asyncValidators);
2426
2429
  this.formControl.updateValueAndValidity();
2427
2430
  });
@@ -2833,7 +2836,7 @@ class NgtInputComponent extends NgtBaseNgModel {
2833
2836
  }
2834
2837
  }
2835
2838
  NgtInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtInputComponent, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtHttpValidationService, optional: true, skipSelf: true }, { token: NgtHttpResourceService, optional: true, skipSelf: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }, { token: NgtModalComponent, optional: true, skipSelf: true }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
2836
- NgtInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtInputComponent, selector: "ngt-input", inputs: { label: "label", placeholder: "placeholder", shining: "shining", loading: "loading", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText", innerLeftIcon: "innerLeftIcon", innerLeftIconColor: "innerLeftIconColor", innerRightIcon: "innerRightIcon", innerRightIconColor: "innerRightIconColor", decimalMaskPrecision: "decimalMaskPrecision", showCharactersLength: "showCharactersLength", uppercase: "uppercase", customInnerContentTemplate: "customInnerContentTemplate", isDisabled: "isDisabled", isReadonly: "isReadonly", showRoundedIcon: "showRoundedIcon", type: "type", name: "name", mask: "mask", focus: "focus", allowClear: "allowClear", jit: "jit", useInputEvent: "useInputEvent", findExistingResource: "findExistingResource", allowPhoneValidation: "allowPhoneValidation", validatePassword: "validatePassword", passwordableId: "passwordableId", passwordPolicyId: "passwordPolicyId", isRequired: "isRequired", uniqueResource: "uniqueResource", minValue: "minValue", maxValue: "maxValue", maxLength: "maxLength", minLength: "minLength", match: "match", multipleOf: "multipleOf", validateMinValueOnMask: "validateMinValueOnMask", externalServerDependency: "externalServerDependency", helperReverseYPosition: "helperReverseYPosition", helperAutoXReverse: "helperAutoXReverse" }, outputs: { onClickLeftIcon: "onClickLeftIcon", onClickRightIcon: "onClickRightIcon", validatePhoneResult: "validatePhoneResult" }, providers: [
2839
+ NgtInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtInputComponent, selector: "ngt-input", inputs: { label: "label", placeholder: "placeholder", shining: "shining", loading: "loading", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText", innerLeftIcon: "innerLeftIcon", innerLeftIconColor: "innerLeftIconColor", innerRightIcon: "innerRightIcon", innerRightIconColor: "innerRightIconColor", decimalMaskPrecision: "decimalMaskPrecision", showCharactersLength: "showCharactersLength", uppercase: "uppercase", customInnerContentTemplate: "customInnerContentTemplate", helperReverseYPosition: "helperReverseYPosition", helperAutoXReverse: "helperAutoXReverse", isDisabled: "isDisabled", isReadonly: "isReadonly", showRoundedIcon: "showRoundedIcon", type: "type", name: "name", mask: "mask", focus: "focus", allowClear: "allowClear", jit: "jit", useInputEvent: "useInputEvent", findExistingResource: "findExistingResource", allowPhoneValidation: "allowPhoneValidation", validatePassword: "validatePassword", passwordableId: "passwordableId", passwordPolicyId: "passwordPolicyId", isRequired: "isRequired", uniqueResource: "uniqueResource", minValue: "minValue", maxValue: "maxValue", maxLength: "maxLength", minLength: "minLength", match: "match", multipleOf: "multipleOf", validateMinValueOnMask: "validateMinValueOnMask", externalServerDependency: "externalServerDependency", customValidator: "customValidator" }, outputs: { onClickLeftIcon: "onClickLeftIcon", onClickRightIcon: "onClickRightIcon", validatePhoneResult: "validatePhoneResult" }, providers: [
2837
2840
  NgtMakeProvider(NgtInputComponent),
2838
2841
  ], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label\" class=\"mb-2 flex {{ ngtStyle.compile(['color.text', 'text', 'font']) }}\" [hidden]='shining'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-md ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n <span [innerHtml]=\"helpText\"></span>\n </ngt-helper>\n</label>\n\n<div class=\"{{ shining ? 'hidden' : 'flex relative'}}\">\n <input autocomplete=\"new-password\"\n class=\"flex border appearance-none focus:outline-none leading-tight w-full {{ getInputPaddings() }} {{ ngtStyle.compile(['h', 'text', 'color.border', 'color.bg', 'color.text', 'rounded', 'cursor']) }}\"\n [disabled]=\"disabled()\" [readonly]=\"isReadonly || loading\" [placeholder]=\"placeholder\"\n [style]=\"uppercase ? 'text-transform: uppercase!important':''\"\n [ngClass]=\"{'input-has-error border-red-700': formControl?.errors && (formControl?.dirty || (formContainer && formContainer['submitted']))}\"\n [attr.type]=\"inputProperties.htmlType\" (mouseleave)=\"restorePlaceholder()\" (focusout)=\"restorePlaceholder()\"\n (input)=\"useInputEvent ? onNativeChange() : null\" (change)=\"!useInputEvent ? onNativeChange() : null\" #element>\n <span *ngIf=\"innerLeftIcon\"\n class=\"absolute self-center px-2 {{ innerLeftIconColor }} {{ onClickLeftIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickLeftIcon.emit()\">\n\n <ngt-svg *ngIf=\"!showRoundedIcon\" class=\"text-xs fill-current\" [src]='innerLeftIcon'></ngt-svg>\n <img *ngIf=\"showRoundedIcon\" class=\"rounded-full h-4\" [src]='innerLeftIcon'>\n </span>\n\n <div *ngIf=\"customInnerContentTemplate\" class=\"absolute self-center px-2\">\n <ng-container [ngTemplateOutlet]=\"customInnerContentTemplate\"></ng-container>\n </div>\n\n <div class=\"flex absolute h-full justify-end right-0 w-auto\">\n <span *ngIf=\"!disabled() && allowClear && value && !loading\"\n class=\"self-center right-0 px-2 text-red-400 cursor-pointer\" (click)='clearInput($event)'>\n <svg class=\"fill-current self-center\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n <path\n d=\"M19.1 17.2l-5.3-5.3 5.3-5.3-1.8-1.8-5.3 5.4-5.3-5.3-1.8 1.7 5.3 5.3-5.3 5.3L6.7 19l5.3-5.3 5.3 5.3 1.8-1.8z\" />\n </svg>\n </span>\n\n <span *ngIf=\"loading\" class=\"self-center right-0 px-2 text-gray-500\">\n <div class=\"div-loader\"></div>\n </span>\n\n <span *ngIf=\"type == 'password' && value\" class=\"self-center px-2 cursor-pointer\">\n <svg *ngIf=\"element.type == 'password'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='showPassword()'>\n <path\n d=\"M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10zm9.8 4a4 4 0 1 0 0-8 4 4 0 0 0 0 8zm0-2a2 2 0 1 1 0-4 2 2 0 0 1 0 4z\" />\n </svg>\n\n <svg *ngIf=\"element.type == 'text'\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 20 20\" (click)='hidePassword()'>\n <path\n d=\"M12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42L16.36 2.22z\" />\n </svg>\n </span>\n\n <span *ngIf=\"innerRightIcon && type != 'password'\"\n class=\"self-center px-2 {{ innerRightIconColor }} {{ onClickRightIcon ? 'cursor-pointer' : '' }}\"\n (click)=\"onClickRightIcon.emit()\">\n <ngt-svg class=\"text-xxs fill-current\" [src]='innerRightIcon'></ngt-svg>\n </span>\n </div>\n</div>\n\n<ng-container *ngIf=\"showCharactersLength && maxTotalCharsCount && !shining\">\n <p class=\"text-xxs mt-1\">\n {{ ngtTranslateService.ngtTextAreaRemainingCharacters }}:\n <span class=\"font-semibold\">{{ getRemainingCharacters() }}</span>\n </p>\n</ng-container>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"{{ ngtStyle.compile(['h']) }} w-full\"></ngt-shining>\n </div>\n</ng-container>\n\n<input *ngIf='componentReady' type=\"hidden\" [ngModel]=\"value\" [name]=\"name\" [value]=\"value\">\n\n<ng-content></ng-content>\n\n<ngt-validation [control]=\"formControl\" [container]=\"formContainer\" [minValue]='minValue' [minLength]='minLength'>\n</ngt-validation>\n", styles: [".div-loader{width:20px;height:20px;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtSvgComponent, selector: "ngt-svg", inputs: ["src", "class"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
2839
2842
  { provide: ControlContainer, useExisting: NgForm }
@@ -2914,6 +2917,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
2914
2917
  type: Input
2915
2918
  }], customInnerContentTemplate: [{
2916
2919
  type: Input
2920
+ }], helperReverseYPosition: [{
2921
+ type: Input
2922
+ }], helperAutoXReverse: [{
2923
+ type: Input
2917
2924
  }], isDisabled: [{
2918
2925
  type: Input
2919
2926
  }], isReadonly: [{
@@ -2964,9 +2971,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
2964
2971
  type: Input
2965
2972
  }], externalServerDependency: [{
2966
2973
  type: Input
2967
- }], helperReverseYPosition: [{
2968
- type: Input
2969
- }], helperAutoXReverse: [{
2974
+ }], customValidator: [{
2970
2975
  type: Input
2971
2976
  }], onClickLeftIcon: [{
2972
2977
  type: Output
@@ -5013,7 +5018,7 @@ class NgtThComponent {
5013
5018
  }
5014
5019
  }
5015
5020
  NgtThComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtThComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtDatatableComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
5016
- NgtThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtThComponent, selector: "[ngt-th]", inputs: { reference: "reference", sortReference: "sortReference", modalWidth: "modalWidth", searchModalOverflow: "searchModalOverflow", sortable: "sortable", searchable: "searchable", hasCustomSearch: "hasCustomSearch", searchLabel: "searchLabel", sortableTooltip: "sortableTooltip" }, outputs: { onEnableSearch: "onEnableSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n (onClose)=\"ngtDataTable.searchModal.close()\">\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-gray-800 text-sm\">{{ searchLabel }}</span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "customInnerContentTemplate", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "useInputEvent", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "helperReverseYPosition", "helperAutoXReverse"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: NgtModalHeaderComponent, selector: "ngt-modal-header", inputs: ["disableDefaultCloses"] }, { kind: "component", type: NgtModalBodyComponent, selector: "ngt-modal-body", inputs: ["isDisabled"] }, { kind: "component", type: NgtActionComponent, selector: "ngt-action", inputs: ["href", "icon", "ngtStyle", "isDisabled", "forceEnable"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }] });
5021
+ NgtThComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtThComponent, selector: "[ngt-th]", inputs: { reference: "reference", sortReference: "sortReference", modalWidth: "modalWidth", searchModalOverflow: "searchModalOverflow", sortable: "sortable", searchable: "searchable", hasCustomSearch: "hasCustomSearch", searchLabel: "searchLabel", sortableTooltip: "sortableTooltip" }, outputs: { onEnableSearch: "onEnableSearch" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "modal", first: true, predicate: ["modal"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n (onClose)=\"ngtDataTable.searchModal.close()\">\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-gray-800 text-sm\">{{ searchLabel }}</span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "customInnerContentTemplate", "helperReverseYPosition", "helperAutoXReverse", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "useInputEvent", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "customValidator"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: NgtModalHeaderComponent, selector: "ngt-modal-header", inputs: ["disableDefaultCloses"] }, { kind: "component", type: NgtModalBodyComponent, selector: "ngt-modal-body", inputs: ["isDisabled"] }, { kind: "component", type: NgtActionComponent, selector: "ngt-action", inputs: ["href", "icon", "ngtStyle", "isDisabled", "forceEnable"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }] });
5017
5022
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtThComponent, decorators: [{
5018
5023
  type: Component,
5019
5024
  args: [{ selector: '[ngt-th]', template: "<div class=\"flex items-center w-full {{ ngtStyle.compile(['justifyContent']) }}\" [title]=\"getTooltip()\" (click)='sort()'\n [class.cursor-pointer]='sortable'>\n <ng-content></ng-content>\n <ng-container *ngIf='sortable && isCurrentSort'>\n <svg *ngIf=\"sortDirection == 'asc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z\" />\n </svg>\n\n <svg *ngIf=\"sortDirection == 'desc'\" class=\"fill-current self-center cursor-pointer ml-1\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\">\n <path d=\"M10.707 7.05L10 6.343 4.343 12l1.414 1.414L10 9.172l4.243 4.242L15.657 12z\" />\n </svg>\n </ng-container>\n\n <ng-container *ngIf='searchable'>\n <div (click)='enableSearch($event)' class=\"float-right ml-2\" title=\"Filtrar\">\n <ngt-action class=\"text-lg\" h='h-6' w='w-6' [forceEnable]=\"true\" ngt-stylizable>\n <svg class=\"fill-current self-center\" viewBox=\"0 0 1792 1792\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M1595 295q17 41-14 70l-493 493v742q0 42-39 59-13 5-25 5-27 0-45-19l-256-256q-19-19-19-45V858L211 365q-31-29-14-70 17-39 59-39h1280q42 0 59 39z\" />\n </svg>\n </ngt-action>\n </div>\n </ng-container>\n</div>\n\n<ng-template #modal>\n <ngt-modal-header [disableDefaultCloses]=\"ngtDataTable.searchModal.disableDefaultCloses\"\n (onClose)=\"ngtDataTable.searchModal.close()\">\n <span *ngIf=\"searchLabel\" class=\"font-semibold text-gray-800 text-sm\">{{ searchLabel }}</span>\n\n <ng-content select='[customSearchHeader]'></ng-content>\n </ngt-modal-header>\n\n <ngt-modal-body [isDisabled]=\"false\">\n <ngt-input *ngIf=\"!hasCustomSearch\" jit='true' [(ngModel)]='searchTerm' (ngModelChange)='search($event)'\n placeholder='Pesquisar...' name='{{ reference }}_filter' #searchInput>\n </ngt-input>\n\n <div [hidden]='!hasCustomSearch'>\n <ng-content select='[customSearch]'></ng-content>\n </div>\n </ngt-modal-body>\n</ng-template>" }]
@@ -5543,6 +5548,7 @@ class NgtRadioButtonComponent extends NgtBaseNgModel {
5543
5548
  this.formContainer = formContainer;
5544
5549
  this.isSelectable = true;
5545
5550
  this.helpTextColor = 'text-green-500';
5551
+ this.helperAutoXReverse = true;
5546
5552
  this.subscriptions = [];
5547
5553
  if (this.ngtRadioButtonContainer) {
5548
5554
  this.subscriptions.push(this.ngtRadioButtonContainer.onActiveRadioButtonChange.subscribe((activeRadioButton) => {
@@ -5606,9 +5612,9 @@ class NgtRadioButtonComponent extends NgtBaseNgModel {
5606
5612
  }
5607
5613
  }
5608
5614
  NgtRadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtRadioButtonComponent, deps: [{ token: i0.Injector }, { token: i0.Renderer2 }, { token: NgtStylizableDirective, optional: true, self: true }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }, { token: NgtModalComponent, optional: true, skipSelf: true }, { token: NgtRadioButtonContainerComponent, optional: true, skipSelf: true }, { token: i2$1.ControlContainer, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
5609
- NgtRadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtRadioButtonComponent, selector: "ngt-radio-button", inputs: { label: "label", name: "name", shining: "shining", isSelectable: "isSelectable", isDisabled: "isDisabled", selectedHexColor: "selectedHexColor", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText" }, providers: [
5615
+ NgtRadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtRadioButtonComponent, selector: "ngt-radio-button", inputs: { label: "label", name: "name", shining: "shining", isSelectable: "isSelectable", isDisabled: "isDisabled", selectedHexColor: "selectedHexColor", helpTitle: "helpTitle", helpTextColor: "helpTextColor", helpText: "helpText", helperReverseYPosition: "helperReverseYPosition", helperAutoXReverse: "helperAutoXReverse" }, providers: [
5610
5616
  NgtMakeProvider(NgtRadioButtonComponent),
5611
- ], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label\n class=\"inline-flex items-center {{ disabled() || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='disabled() || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 text-sm {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n [style]=\"getStyle()\">\n\n <div class=\"m-1\" style=\"width: 15px; height: 15px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\">\n\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\"/>\n </svg>\n </div>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-xs ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>\n", styles: ["label{margin-bottom:unset!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
5617
+ ], viewQueries: [{ propertyName: "element", first: true, predicate: ["element"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label\n class=\"inline-flex items-center {{ disabled() || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='disabled() || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 text-sm {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n [style]=\"getStyle()\">\n\n <div class=\"m-1\" style=\"width: 15px; height: 15px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\">\n\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-xs ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" class=\"ml-1\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" [helperReverseYPosition]=\"helperReverseYPosition\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>\n", styles: ["label{margin-bottom:unset!important}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }], viewProviders: [
5612
5618
  { provide: ControlContainer, useExisting: NgForm }
5613
5619
  ] });
5614
5620
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtRadioButtonComponent, decorators: [{
@@ -5617,7 +5623,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
5617
5623
  NgtMakeProvider(NgtRadioButtonComponent),
5618
5624
  ], viewProviders: [
5619
5625
  { provide: ControlContainer, useExisting: NgForm }
5620
- ], template: "<label\n class=\"inline-flex items-center {{ disabled() || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='disabled() || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 text-sm {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n [style]=\"getStyle()\">\n\n <div class=\"m-1\" style=\"width: 15px; height: 15px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\">\n\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\"/>\n </svg>\n </div>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-xs ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>\n", styles: ["label{margin-bottom:unset!important}\n"] }]
5626
+ ], template: "<label\n class=\"inline-flex items-center {{ disabled() || !isSelectable ? 'cursor-not-allowed opacity-50' : 'cursor-pointer' }}\">\n <input type=\"checkbox\" [name]='name' class=\"hidden\" ([ngModel])='value' [disabled]='disabled() || !isSelectable'\n #element>\n\n <div class=\"{{ value ? ngtStyle.compile(['color.border', 'color.text']) : 'border-gray-500' }}\n shadow rounded-full border border-gray-400 text-sm {{ !shining ? 'flex justify-center items-center' : 'hidden' }}\"\n [style]=\"getStyle()\">\n\n <div class=\"m-1\" style=\"width: 15px; height: 15px;\">\n <svg *ngIf=\"value\" class=\"fill-current\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 29.107 29.107\">\n\n <path\n d=\"M14.554 0C6.561 0 0 6.562 0 14.552c0 7.996 6.561 14.555 14.554 14.555 7.996 0 14.553-6.559 14.553-14.555C29.106 6.562 22.55 0 14.554 0z\" />\n </svg>\n </div>\n </div>\n\n <span *ngIf='label && !shining' class=\"text-xs ml-2\" [class.line-through]='!isSelectable'>\n {{ label }}\n </span>\n\n <ngt-helper *ngIf=\"helpText\" class=\"ml-1\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [autoXReverse]=\"helperAutoXReverse\" [helperReverseYPosition]=\"helperReverseYPosition\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ng-container *ngIf='shining'>\n <div class=\"flex\">\n <ngt-shining class=\"w-16 h-12\"></ngt-shining>\n </div>\n</ng-container>\n", styles: ["label{margin-bottom:unset!important}\n"] }]
5621
5627
  }], ctorParameters: function () {
5622
5628
  return [{ type: i0.Injector }, { type: i0.Renderer2 }, { type: NgtStylizableDirective, decorators: [{
5623
5629
  type: Self
@@ -5665,6 +5671,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImpor
5665
5671
  type: Input
5666
5672
  }], helpText: [{
5667
5673
  type: Input
5674
+ }], helperReverseYPosition: [{
5675
+ type: Input
5676
+ }], helperAutoXReverse: [{
5677
+ type: Input
5668
5678
  }] } });
5669
5679
 
5670
5680
  class NgtRadioButtonModule {
@@ -7500,7 +7510,7 @@ class NgtMultiSelectComponent extends NgtBaseNgModel {
7500
7510
  NgtMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtMultiSelectComponent, deps: [{ token: NgtHttpService }, { token: i0.Injector }, { token: i0.ChangeDetectorRef }, { token: NgtFormComponent, optional: true, skipSelf: true }, { token: NgtSectionComponent, optional: true, skipSelf: true }, { token: NgtModalComponent, optional: true, skipSelf: true }, { token: NgtStylizableDirective, optional: true, self: true }, { token: i2$1.ControlContainer, host: true, optional: true }, { token: NgtTranslateService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
7501
7511
  NgtMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: NgtMultiSelectComponent, selector: "ngt-multi-select", inputs: { customOptionTemplate: "customOptionTemplate", customHeaderTemplate: "customHeaderTemplate", label: "label", helpTitle: "helpTitle", helpText: "helpText", helpTextColor: "helpTextColor", helperReverseYPosition: "helperReverseYPosition", helperAutoXReverse: "helperAutoXReverse", shining: "shining", loading: "loading", bindLabel: "bindLabel", bindSearch: "bindSearch", itemsPerPage: "itemsPerPage", name: "name", remoteResource: "remoteResource", items: "items", searchable: "searchable", allowOriginalItemsUnselect: "allowOriginalItemsUnselect", autoSelectUniqueOption: "autoSelectUniqueOption", isRequired: "isRequired", isDisabled: "isDisabled" }, outputs: { onDataChange: "onDataChange" }, host: { listeners: { "scroll": "onScroll($event)" } }, providers: [
7502
7512
  NgtMakeProvider(NgtMultiSelectComponent)
7503
- ], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true }, { propertyName: "elementCheckboxTemplate", first: true, predicate: ["elementCheckboxTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label && !shining\" class=\"flex text-xs\" [class.mb-2]='!hasValidationErrors()'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-xs ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ngt-validation [hidden]='shining' class=\"block mb-1\" [control]='formControl' [container]='formContainer'>\n</ngt-validation>\n\n<div class=\"{{ shining ? 'hidden' : 'flex flex-col' }} border w-full rounded {{ ngtStyle.compile(['h']) }}\"\n style=\"min-height: 13rem;\" [class.border-red-500]='hasValidationErrors()' [class.disabled-background]='disabled()'>\n <div class=\"flex items-center w-full p-2 border-b\">\n <ngt-checkbox class=\"flex\" title=\"Selecionar todos\" [label]=\"!searchable ? 'Selecionar todos' : ''\"\n [(ngModel)]=\"selectAllCheckbox\" [name]=\"selectAllCheckboxName\" [isClickDisabled]='true'\n [isDisabled]='loading || disabled()' h='h-4' w='w-4' (click)='selectAll()' ngt-stylizable>\n </ngt-checkbox>\n\n <ngt-input *ngIf=\"searchable\" class=\"block w-full pl-2\" [name]='searchInputName' [(ngModel)]='searchTerm'\n placeholder='Buscar...' [allowClear]='true' [jit]='true' h='h-10' (ngModelChange)='search($event)'\n [loading]='loading' [isDisabled]='disabled()' ngt-stylizable #inputSearch>\n </ngt-input>\n </div>\n\n <div *ngIf=\"loading\" class=\"flex flex-col gap-3 px-3 h-full w-full cursor-wait\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n\n <div class=\"w-full overflow-y-auto text-xs {{ loading ? 'hidden' : 'flex flex-col' }}\" (scroll)='onScroll($event)'\n #containerRef>\n <ng-container *ngIf=\"customHeaderTemplate\" [ngTemplateOutlet]=\"customHeaderTemplate\">\n </ng-container>\n\n <ng-container *ngFor=\"let element of getSelectableElements(); let i = index\">\n <div class=\"flex w-full items-center hover:bg-gray-200 {{ disabled() ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.p-2]='!customOptionTemplate' (click)='toggleItem(element, $event)'>\n <ng-template let-element #elementCheckboxTemplate>\n <ngt-checkbox class=\"flex pr-2\" [name]='element.uuid' [(ngModel)]=\"element.isSelected\"\n (ngModelChange)='onNativeChange(element)' [isClickDisabled]='true'\n [isDisabled]='!canSelectItem(element)' h='h-5' w='w-5' (click)='toggleItem(element, $event)'\n ngt-stylizable>\n </ngt-checkbox>\n </ng-template>\n\n <ng-template let-element #defaultOptionTemplate>\n {{ getSelectableElementValue(element) }}\n </ng-template>\n\n <ng-container *ngIf=\"!customOptionTemplate\" [ngTemplateOutlet]=\"elementCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element }\">\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate || defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: i }\">\n </ng-container>\n </div>\n </ng-container>\n\n <p *ngIf=\"!getSelectableElements()?.length\" class=\"text-center mt-4\">\n {{ ngtTranslateService.ngtMultiSelectNoDataFound }}\n </p>\n </div>\n</div>\n\n<div class=\"{{ shining ? 'hidden' : 'flex' }} w-full items-center mt-2\">\n <span class=\"text-xs mr-4\">\n {{ selectedElements?.length || 0 }} / {{ itemsTotal || 0 }}\n </span>\n\n <ngt-checkbox class=\"flex\" label=\"Visualizar selecionados\" [name]='displayOnlySelectedName'\n [(ngModel)]=\"displayOnlySelected\" [isDisabled]='loading || disabled()' h='h-5' w='w-5' ngt-stylizable>\n </ngt-checkbox>\n</div>\n\n<ngt-shining *ngIf='shining' class=\"block w-full {{ ngtStyle.compile(['h']) }}\" style=\"min-height: 16rem;\"\n rounded='rounded' ngt-stylizable>\n</ngt-shining>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]='value' [name]='name' [value]='value'>\n", styles: [".disabled-background{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem!important;padding:1px!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ 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: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }, { kind: "component", type: NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "customInnerContentTemplate", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "useInputEvent", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "helperReverseYPosition", "helperAutoXReverse"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: NgtCheckboxComponent, selector: "ngt-checkbox", inputs: ["label", "shining", "isDisabled", "isClickDisabled", "name", "mode", "helpTitle", "helpTextColor", "helpText", "helperAutoXReverse"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }], viewProviders: [
7513
+ ], viewQueries: [{ propertyName: "containerRef", first: true, predicate: ["containerRef"], descendants: true }, { propertyName: "inputSearch", first: true, predicate: ["inputSearch"], descendants: true }, { propertyName: "elementCheckboxTemplate", first: true, predicate: ["elementCheckboxTemplate"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<label *ngIf=\"label && !shining\" class=\"flex text-xs\" [class.mb-2]='!hasValidationErrors()'>\n {{ label }}:\n\n <span *ngIf=\"isRequired\" class=\"text-red-500 font-bold text-xs ml-1\">*</span>\n\n <ngt-helper *ngIf=\"helpText\" [helpTitle]=\"helpTitle\" [iconColor]=\"helpTextColor\"\n [helperReverseYPosition]=\"helperReverseYPosition\" [autoXReverse]=\"helperAutoXReverse\" class=\"ml-1\">\n {{ helpText }}\n </ngt-helper>\n</label>\n\n<ngt-validation [hidden]='shining' class=\"block mb-1\" [control]='formControl' [container]='formContainer'>\n</ngt-validation>\n\n<div class=\"{{ shining ? 'hidden' : 'flex flex-col' }} border w-full rounded {{ ngtStyle.compile(['h']) }}\"\n style=\"min-height: 13rem;\" [class.border-red-500]='hasValidationErrors()' [class.disabled-background]='disabled()'>\n <div class=\"flex items-center w-full p-2 border-b\">\n <ngt-checkbox class=\"flex\" title=\"Selecionar todos\" [label]=\"!searchable ? 'Selecionar todos' : ''\"\n [(ngModel)]=\"selectAllCheckbox\" [name]=\"selectAllCheckboxName\" [isClickDisabled]='true'\n [isDisabled]='loading || disabled()' h='h-4' w='w-4' (click)='selectAll()' ngt-stylizable>\n </ngt-checkbox>\n\n <ngt-input *ngIf=\"searchable\" class=\"block w-full pl-2\" [name]='searchInputName' [(ngModel)]='searchTerm'\n placeholder='Buscar...' [allowClear]='true' [jit]='true' h='h-10' (ngModelChange)='search($event)'\n [loading]='loading' [isDisabled]='disabled()' ngt-stylizable #inputSearch>\n </ngt-input>\n </div>\n\n <div *ngIf=\"loading\" class=\"flex flex-col gap-3 px-3 h-full w-full cursor-wait\">\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n <ngt-shining class=\"h-10 w-full\"></ngt-shining>\n </div>\n\n <div class=\"w-full overflow-y-auto text-xs {{ loading ? 'hidden' : 'flex flex-col' }}\" (scroll)='onScroll($event)'\n #containerRef>\n <ng-container *ngIf=\"customHeaderTemplate\" [ngTemplateOutlet]=\"customHeaderTemplate\">\n </ng-container>\n\n <ng-container *ngFor=\"let element of getSelectableElements(); let i = index\">\n <div class=\"flex w-full items-center hover:bg-gray-200 {{ disabled() ? 'cursor-not-allowed' : 'cursor-pointer' }}\"\n [class.p-2]='!customOptionTemplate' (click)='toggleItem(element, $event)'>\n <ng-template let-element #elementCheckboxTemplate>\n <ngt-checkbox class=\"flex pr-2\" [name]='element.uuid' [(ngModel)]=\"element.isSelected\"\n (ngModelChange)='onNativeChange(element)' [isClickDisabled]='true'\n [isDisabled]='!canSelectItem(element)' h='h-5' w='w-5' (click)='toggleItem(element, $event)'\n ngt-stylizable>\n </ngt-checkbox>\n </ng-template>\n\n <ng-template let-element #defaultOptionTemplate>\n {{ getSelectableElementValue(element) }}\n </ng-template>\n\n <ng-container *ngIf=\"!customOptionTemplate\" [ngTemplateOutlet]=\"elementCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element }\">\n </ng-container>\n\n <ng-container [ngTemplateOutlet]=\"customOptionTemplate || defaultOptionTemplate\"\n [ngTemplateOutletContext]=\"{ $implicit: element, index: i }\">\n </ng-container>\n </div>\n </ng-container>\n\n <p *ngIf=\"!getSelectableElements()?.length\" class=\"text-center mt-4\">\n {{ ngtTranslateService.ngtMultiSelectNoDataFound }}\n </p>\n </div>\n</div>\n\n<div class=\"{{ shining ? 'hidden' : 'flex' }} w-full items-center mt-2\">\n <span class=\"text-xs mr-4\">\n {{ selectedElements?.length || 0 }} / {{ itemsTotal || 0 }}\n </span>\n\n <ngt-checkbox class=\"flex\" label=\"Visualizar selecionados\" [name]='displayOnlySelectedName'\n [(ngModel)]=\"displayOnlySelected\" [isDisabled]='loading || disabled()' h='h-5' w='w-5' ngt-stylizable>\n </ngt-checkbox>\n</div>\n\n<ngt-shining *ngIf='shining' class=\"block w-full {{ ngtStyle.compile(['h']) }}\" style=\"min-height: 16rem;\"\n rounded='rounded' ngt-stylizable>\n</ngt-shining>\n\n<input *ngIf='componentReady' type='hidden' [ngModel]='value' [name]='name' [value]='value'>\n", styles: [".disabled-background{border:solid #cbd5e0 1px!important;background-color:#fafafa!important;border-radius:.25rem!important;padding:1px!important}.div-loader{width:4rem;height:4rem;border:3px solid #a0aec038;border-top-color:#a0aec0;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ 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: "directive", type: i2$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: NgtValidationComponent, selector: "ngt-validation", inputs: ["control", "container", "minValue", "minLength"] }, { kind: "component", type: NgtShiningComponent, selector: "ngt-shining", inputs: ["shiningWidth"] }, { kind: "component", type: NgtHelperComponent, selector: "ngt-helper", inputs: ["helpTextColor", "helpText", "helpTitle", "icon", "iconSize", "iconColor", "iconTitle", "tooltipSize", "autoXReverse", "helperReverseYPosition"] }, { kind: "component", type: NgtInputComponent, selector: "ngt-input", inputs: ["label", "placeholder", "shining", "loading", "helpTitle", "helpTextColor", "helpText", "innerLeftIcon", "innerLeftIconColor", "innerRightIcon", "innerRightIconColor", "decimalMaskPrecision", "showCharactersLength", "uppercase", "customInnerContentTemplate", "helperReverseYPosition", "helperAutoXReverse", "isDisabled", "isReadonly", "showRoundedIcon", "type", "name", "mask", "focus", "allowClear", "jit", "useInputEvent", "findExistingResource", "allowPhoneValidation", "validatePassword", "passwordableId", "passwordPolicyId", "isRequired", "uniqueResource", "minValue", "maxValue", "maxLength", "minLength", "match", "multipleOf", "validateMinValueOnMask", "externalServerDependency", "customValidator"], outputs: ["onClickLeftIcon", "onClickRightIcon", "validatePhoneResult"] }, { kind: "component", type: NgtCheckboxComponent, selector: "ngt-checkbox", inputs: ["label", "shining", "isDisabled", "isClickDisabled", "name", "mode", "helpTitle", "helpTextColor", "helpText", "helperAutoXReverse"] }, { kind: "directive", type: NgtStylizableDirective, selector: "[ngt-stylizable]", inputs: ["color", "color.text", "color.bg", "color.border", "h", "w", "p", "px", "py", "pt", "pr", "pb", "pl", "m", "mx", "my", "mt", "mr", "mb", "ml", "border", "shadow", "rounded", "font", "text", "breakWords", "overflow", "position", "justifyContent", "cursor", "fontCase"] }], viewProviders: [
7504
7514
  { provide: ControlContainer, useExisting: NgForm }
7505
7515
  ], encapsulation: i0.ViewEncapsulation.None });
7506
7516
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: NgtMultiSelectComponent, decorators: [{