import { Pipe, PipeTransform } from '@angular/core'; import { ICaInput } from '../config'; import { AbstractControl } from '@angular/forms'; @Pipe({ name: 'inputPlaceholderTextClass', standalone: true, }) export class InputPlaceholderTextClassPipe implements PipeTransform { transform( isFocusInput: boolean, isTouchedInput: boolean, getSuperControl: AbstractControl | null, inputConfig: ICaInput, isVisibleCommands: boolean, value: string ): { [key: string]: boolean | undefined } { return { focus: isFocusInput, 'inactive-filled': getSuperControl?.value && inputConfig.isDisabled, 'valid-focus-in': getSuperControl?.value && getSuperControl?.valid && isFocusInput && !inputConfig.blackInput && !inputConfig.commands?.active && !isVisibleCommands && !inputConfig.isDisabled, 'valid-focus-out': getSuperControl?.value && getSuperControl?.valid && !isFocusInput && !inputConfig.commands?.active && !isVisibleCommands && !inputConfig.isDisabled, 'invalid-focus-in': getSuperControl?.value && getSuperControl?.invalid && isFocusInput && !inputConfig.blackInput && !inputConfig.commands?.active && !isVisibleCommands && !inputConfig.isDisabled, 'invalid-focus-out': getSuperControl?.value && getSuperControl?.invalid && (isTouchedInput || getSuperControl?.touched) && !isFocusInput && !inputConfig.isDisabled }; } }