UNPKG

ngx-ui-hero

Version:

Simple, fast and reliable utilities for Angular.

66 lines 14 kB
import { Component, Inject, Input, Optional, ViewChild } from '@angular/core'; import { NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgModel } from '@angular/forms'; import { DomSanitizer } from '@angular/platform-browser'; import { ElementBase } from '../../base/element-base'; import { INPUT_FORMS_CONFIG } from '../../input-forms-config.constants'; import * as i0 from "@angular/core"; import * as i1 from "@angular/platform-browser"; import * as i2 from "@angular/common"; import * as i3 from "@angular/forms"; import * as i4 from "ngx-bootstrap/tooltip"; import * as i5 from "../input-validations/input-validations.component"; let identifier = 0; export class InputEmailComponent extends ElementBase { constructor(validators, asyncValidators, config, domSanitizer) { super(validators, asyncValidators, config); this.config = config; this.domSanitizer = domSanitizer; this.placeholder = ''; this.showInputGroup = true; this.identifier = `input-email-${identifier++}`; } ngOnInit() { if (!this.inputGroupText) { this.inputGroupText = this.domSanitizer.bypassSecurityTrustHtml("<i class='fa fa-envelope-o' aria-hidden='true'></i>"); } } } InputEmailComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputEmailComponent, deps: [{ token: NG_VALIDATORS, optional: true }, { token: NG_ASYNC_VALIDATORS, optional: true }, { token: INPUT_FORMS_CONFIG }, { token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component }); InputEmailComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: InputEmailComponent, selector: "input-email", inputs: { placeholder: "placeholder", maxlength: "maxlength", showInputGroup: "showInputGroup", inputGroupText: "inputGroupText" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputEmailComponent, multi: true }], viewQueries: [{ propertyName: "model", first: true, predicate: NgModel, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<label *ngIf=\"label\" [attr.for]=\"identifier\">\n {{label}}\n <span class=\"required-symbol\" *ngIf=\"isRequired\"> *</span>\n <i class=\"fa fa-question-circle ml-2\" tooltip=\"{{help}}\" container=\"body\" *ngIf=\"help\"></i>\n</label>\n\n<div class=\"input-group\">\n <div class=\"input-group-prepend\" *ngIf=\"showInputGroup\">\n <span class=\"input-group-text\" [innerHtml]=\"inputGroupText\"></span>\n </div>\n <input \n type=\"email\"\n name=\"email\"\n pattern=\"[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,3}$\"\n class=\"form-control\" \n [disabled]=\"disabled\" \n [maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [autocomplete]=\"autocomplete\"\n [(ngModel)]=\"value\"\n [id]=\"identifier\"\n [ngClass]=\"{\n 'is-valid': showValidations && !disabled && touched && !(invalid | async),\n 'is-invalid': showValidations && !disabled && touched && (invalid | async)\n }\"\n email\n />\n</div>\n\n<small class=\"text-muted\" *ngIf=\"description\">{{description}}</small>\n\n<input-validations\n *ngIf=\"showValidations && !disabled && touched && (invalid | async)\"\n [messages]=\"failures | async\">\n</input-validations>\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: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i3.EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: ["email"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.TooltipDirective, selector: "[tooltip], [tooltipHtml]", inputs: ["containerClass", "tooltipAnimation", "tooltipFadeDuration", "isOpen", "tooltipHtml", "tooltip", "tooltipPlacement", "placement", "tooltipIsOpen", "tooltipEnable", "isDisabled", "tooltipAppendToBody", "container", "tooltipClass", "tooltipContext", "tooltipPopupDelay", "delay", "tooltipTrigger", "triggers", "adaptivePosition"], outputs: ["tooltipChange", "tooltipStateChanged", "onShown", "onHidden"], exportAs: ["bs-tooltip"] }, { kind: "component", type: i5.InputValidationsComponent, selector: "input-validations", inputs: ["messages"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: InputEmailComponent, decorators: [{ type: Component, args: [{ selector: 'input-email', providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: InputEmailComponent, multi: true }], template: "<label *ngIf=\"label\" [attr.for]=\"identifier\">\n {{label}}\n <span class=\"required-symbol\" *ngIf=\"isRequired\"> *</span>\n <i class=\"fa fa-question-circle ml-2\" tooltip=\"{{help}}\" container=\"body\" *ngIf=\"help\"></i>\n</label>\n\n<div class=\"input-group\">\n <div class=\"input-group-prepend\" *ngIf=\"showInputGroup\">\n <span class=\"input-group-text\" [innerHtml]=\"inputGroupText\"></span>\n </div>\n <input \n type=\"email\"\n name=\"email\"\n pattern=\"[a-z0-9._%+-]+@[a-z0-9.-]+\\.[a-z]{2,3}$\"\n class=\"form-control\" \n [disabled]=\"disabled\" \n [maxlength]=\"maxlength\"\n [placeholder]=\"placeholder\"\n [autocomplete]=\"autocomplete\"\n [(ngModel)]=\"value\"\n [id]=\"identifier\"\n [ngClass]=\"{\n 'is-valid': showValidations && !disabled && touched && !(invalid | async),\n 'is-invalid': showValidations && !disabled && touched && (invalid | async)\n }\"\n email\n />\n</div>\n\n<small class=\"text-muted\" *ngIf=\"description\">{{description}}</small>\n\n<input-validations\n *ngIf=\"showValidations && !disabled && touched && (invalid | async)\"\n [messages]=\"failures | async\">\n</input-validations>\n" }] }], ctorParameters: function () { return [{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [NG_VALIDATORS] }] }, { type: Array, decorators: [{ type: Optional }, { type: Inject, args: [NG_ASYNC_VALIDATORS] }] }, { type: undefined, decorators: [{ type: Inject, args: [INPUT_FORMS_CONFIG] }] }, { type: i1.DomSanitizer }]; }, propDecorators: { placeholder: [{ type: Input }], maxlength: [{ type: Input }], showInputGroup: [{ type: Input }], inputGroupText: [{ type: Input }], model: [{ type: ViewChild, args: [NgModel, { static: true }] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZW1haWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXVpLWhlcm8vc3JjL2xpYi9pbnB1dC1mb3Jtcy9jb21wb25lbnRzL2lucHV0LWVtYWlsL2lucHV0LWVtYWlsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC11aS1oZXJvL3NyYy9saWIvaW5wdXQtZm9ybXMvY29tcG9uZW50cy9pbnB1dC1lbWFpbC9pbnB1dC1lbWFpbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQVksTUFBTSwyQkFBMkIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7Ozs7QUFFeEUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBWW5CLE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxXQUFtQjtJQVUxRCxZQUNxQyxVQUFzQixFQUNoQixlQUEyQixFQUMvQixNQUF3QixFQUNyRCxZQUEwQjtRQUVsQyxLQUFLLENBQUMsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhOLFdBQU0sR0FBTixNQUFNLENBQWtCO1FBQ3JELGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBYnBCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXhCLG1CQUFjLEdBQWEsSUFBSSxDQUFDO1FBS2xDLGVBQVUsR0FBRyxlQUFlLFVBQVUsRUFBRSxFQUFFLENBQUM7SUFTbEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMscURBQXFELENBQUMsQ0FBQztTQUN4SDtJQUNILENBQUM7O2lIQXZCVSxtQkFBbUIsa0JBV1IsYUFBYSw2QkFDYixtQkFBbUIsNkJBQzlCLGtCQUFrQjtxR0FibEIsbUJBQW1CLDBLQU5uQixDQUFDO1lBQ1YsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsbUJBQW1CO1lBQ2hDLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxpRUFRUyxPQUFPLHFGQzFCcEIsK3FDQW1DQTs0RkRmYSxtQkFBbUI7a0JBVi9CLFNBQVM7K0JBRUUsYUFBYSxhQUVaLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxxQkFBcUI7NEJBQ2hDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7OzBCQWFDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsYUFBYTs7MEJBQ2hDLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsbUJBQW1COzswQkFDdEMsTUFBTTsyQkFBRSxrQkFBa0I7dUVBWmIsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFFOEIsS0FBSztzQkFBeEMsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX0FTWU5DX1ZBTElEQVRPUlMsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBFbGVtZW50QmFzZSB9IGZyb20gJy4uLy4uL2Jhc2UvZWxlbWVudC1iYXNlJztcbmltcG9ydCB7IElucHV0Rm9ybXNDb25maWcgfSBmcm9tICcuLi8uLi9pbnB1dC1mb3Jtcy1jb25maWcnO1xuaW1wb3J0IHsgSU5QVVRfRk9STVNfQ09ORklHIH0gZnJvbSAnLi4vLi4vaW5wdXQtZm9ybXMtY29uZmlnLmNvbnN0YW50cyc7XG5cbmxldCBpZGVudGlmaWVyID0gMDtcblxuQENvbXBvbmVudCh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdpbnB1dC1lbWFpbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC1lbWFpbC5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogSW5wdXRFbWFpbENvbXBvbmVudCxcbiAgICBtdWx0aTogdHJ1ZVxuICB9XVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEVtYWlsQ29tcG9uZW50IGV4dGVuZHMgRWxlbWVudEJhc2U8c3RyaW5nPiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4bGVuZ3RoOiBudW1iZXI7XG4gIEBJbnB1dCgpIHNob3dJbnB1dEdyb3VwPzogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGlucHV0R3JvdXBUZXh0Pzogc3RyaW5nIHwgU2FmZUh0bWw7XG5cbiAgQFZpZXdDaGlsZChOZ01vZGVsLCB7c3RhdGljOiB0cnVlfSkgbW9kZWw6IE5nTW9kZWw7XG5cbiAgcHVibGljIGlkZW50aWZpZXIgPSBgaW5wdXQtZW1haWwtJHtpZGVudGlmaWVyKyt9YDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE5HX1ZBTElEQVRPUlMpIHZhbGlkYXRvcnM6IEFycmF5PGFueT4sXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChOR19BU1lOQ19WQUxJREFUT1JTKSBhc3luY1ZhbGlkYXRvcnM6IEFycmF5PGFueT4sXG4gICAgQEluamVjdCggSU5QVVRfRk9STVNfQ09ORklHICkgcHVibGljIGNvbmZpZzogSW5wdXRGb3Jtc0NvbmZpZyxcbiAgICBwcml2YXRlIGRvbVNhbml0aXplcjogRG9tU2FuaXRpemVyXG4gICkge1xuICAgIHN1cGVyKHZhbGlkYXRvcnMsIGFzeW5jVmFsaWRhdG9ycywgY29uZmlnKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyAgICBcbiAgICBpZiAoIXRoaXMuaW5wdXRHcm91cFRleHQpIHtcbiAgICAgIHRoaXMuaW5wdXRHcm91cFRleHQgPSB0aGlzLmRvbVNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChcIjxpIGNsYXNzPSdmYSBmYS1lbnZlbG9wZS1vJyBhcmlhLWhpZGRlbj0ndHJ1ZSc+PC9pPlwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbCAqbmdJZj1cImxhYmVsXCIgW2F0dHIuZm9yXT1cImlkZW50aWZpZXJcIj5cbiAge3tsYWJlbH19XG4gIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtc3ltYm9sXCIgKm5nSWY9XCJpc1JlcXVpcmVkXCI+ICo8L3NwYW4+XG4gIDxpIGNsYXNzPVwiZmEgZmEtcXVlc3Rpb24tY2lyY2xlIG1sLTJcIiB0b29sdGlwPVwie3toZWxwfX1cIiBjb250YWluZXI9XCJib2R5XCIgKm5nSWY9XCJoZWxwXCI+PC9pPlxuPC9sYWJlbD5cblxuPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1wcmVwZW5kXCIgKm5nSWY9XCJzaG93SW5wdXRHcm91cFwiPlxuICAgIDxzcGFuIGNsYXNzPVwiaW5wdXQtZ3JvdXAtdGV4dFwiIFtpbm5lckh0bWxdPVwiaW5wdXRHcm91cFRleHRcIj48L3NwYW4+XG4gIDwvZGl2PlxuICA8aW5wdXQgXG4gICAgdHlwZT1cImVtYWlsXCJcbiAgICBuYW1lPVwiZW1haWxcIlxuICAgIHBhdHRlcm49XCJbYS16MC05Ll8lKy1dK0BbYS16MC05Li1dK1xcLlthLXpdezIsM30kXCJcbiAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiICBcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBcbiAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgW2lkXT1cImlkZW50aWZpZXJcIlxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdpcy12YWxpZCc6IHNob3dWYWxpZGF0aW9ucyAmJiAhZGlzYWJsZWQgJiYgdG91Y2hlZCAmJiAhKGludmFsaWQgfCBhc3luYyksXG4gICAgICAnaXMtaW52YWxpZCc6IHNob3dWYWxpZGF0aW9ucyAmJiAhZGlzYWJsZWQgJiYgdG91Y2hlZCAmJiAoaW52YWxpZCB8IGFzeW5jKVxuICAgIH1cIlxuICAgIGVtYWlsXG4gIC8+XG48L2Rpdj5cblxuPHNtYWxsIGNsYXNzPVwidGV4dC1tdXRlZFwiICpuZ0lmPVwiZGVzY3JpcHRpb25cIj57e2Rlc2NyaXB0aW9ufX08L3NtYWxsPlxuXG48aW5wdXQtdmFsaWRhdGlvbnNcbiAgKm5nSWY9XCJzaG93VmFsaWRhdGlvbnMgJiYgIWRpc2FibGVkICYmIHRvdWNoZWQgJiYgKGludmFsaWQgfCBhc3luYylcIlxuICBbbWVzc2FnZXNdPVwiZmFpbHVyZXMgfCBhc3luY1wiPlxuPC9pbnB1dC12YWxpZGF0aW9ucz5cbiJdfQ==