import { DetailedHTMLProps, FC, InputHTMLAttributes, ReactElement, } from 'react'; import { Input } from '../../atoms'; import { cn } from '@imphnen-frontend-service/utils'; export type TInputType = 'text' | 'email' | 'password' | 'file'; export type TInputSize = 'sm' | 'md' | 'lg'; export type TInputFieldProps = Omit< DetailedHTMLProps, HTMLInputElement>, 'size' | 'type' > & { label: string; type?: TInputType; size?: TInputSize; error?: string; disabled?: boolean; helperText?: string; htmlFor?: string; }; const sizeClasses: Record = { lg: { label: 'text-p3 font-medium', helperText: 'text-label3 font-normal', }, md: { label: 'text-label1 font-medium', helperText: 'text-label2 font-normal', }, sm: { label: 'text-label2 font-medium', helperText: 'text-label2 font-normal', }, }; export const InputField: FC = ({ label, placeholder, type = 'text', size = 'md', error, helperText, htmlFor, className, disabled, ...rest }): ReactElement => { return (
{error ? (

{error}

) : ( helperText && (

{helperText}

) )}
); };