import { Pipe, PipeTransform } from "@angular/core"; import { AbstractControl } from "@angular/forms"; import { ICaInput } from "../config/ca-input.config"; @Pipe({ name: "inputPasswordEyeClass", standalone: true, }) export class InputPasswordEyeClassPipe implements PipeTransform { transform( getSuperControl: AbstractControl | null, isFocusInput: boolean, inputConfig: ICaInput, isTouchedInput: boolean, value: string ): { [key: string]: boolean } { return { visible: getSuperControl?.value, inactive: inputConfig.isDisabled!, "valid-focus-out": getSuperControl?.value && getSuperControl?.valid && !isFocusInput && !inputConfig.isDisabled, "valid-focus-in": getSuperControl?.value && getSuperControl?.valid && isFocusInput && !inputConfig.isDisabled, "invalid-focus-out": getSuperControl?.value && getSuperControl?.invalid && !inputConfig.isDisabled && (isTouchedInput || getSuperControl?.touched) && !isFocusInput, "invalid-focus-in": getSuperControl?.value && getSuperControl?.invalid && isFocusInput && !inputConfig.isDisabled, }; } }