import { Pipe, PipeTransform } from '@angular/core'; import { ICaInput } from '../config'; import { AbstractControl } from '@angular/forms'; @Pipe({ name: 'inputPlaceholderIconRightClass', standalone: true, }) export class InputPlaceholderIconRightClassPipe implements PipeTransform { transform( isFocusInput: boolean, getSuperControl: AbstractControl | null, inputConfig: ICaInput, isTouchedInput: boolean, value: string ): { [key: string]: boolean | undefined } { return { hide: isFocusInput && getSuperControl?.value, focus: isFocusInput, 'valid-focus-out': getSuperControl?.value && getSuperControl?.valid && !isFocusInput && !inputConfig.isDisabled, 'valid-focus-in': getSuperControl?.value && getSuperControl?.valid && isFocusInput && !inputConfig.isDisabled, 'invalid-focus-out': getSuperControl?.invalid && (isTouchedInput || getSuperControl?.touched) && !isFocusInput && !inputConfig.isDisabled, 'invalid-focus-in': getSuperControl?.value && getSuperControl?.invalid && isFocusInput && !inputConfig.isDisabled, red: inputConfig.isPlaceHolderIconRightSideDynamicColor && getSuperControl?.invalid && !inputConfig.isDisabled && (((isTouchedInput || getSuperControl?.touched) && !isFocusInput) || (getSuperControl?.value && isFocusInput)), blue: inputConfig.isPlaceHolderIconRightSideDynamicColor && getSuperControl?.value && getSuperControl?.valid && !isFocusInput && !inputConfig.isDisabled, }; } }