import { Validators } from '@angular/forms'; import { Component, Input, OnInit, ViewContainerRef } from '@angular/core'; import { emailValidator } from '../validators'; import { Field } from '../../../core/field/abstract'; @Component({ selector: 'cmn-email', templateUrl: './email.component.html', styleUrls: [ './email.component.scss', ], }) export class EmailComponent extends Field implements OnInit { @Input() public readonly name: string; @Input() public readonly size: string; @Input() public readonly icon: string; @Input() public readonly label: string; @Input() public readonly forceError: boolean; @Input() public readonly placeholder: string; constructor(private readonly viewRef: ViewContainerRef) { super(viewRef); } public ngOnInit(): void { super.ngOnInit(); this.addFormValidator(this.name, [ Validators.required, emailValidator ]); } }