import * as React from "react"; import { useTranslation } from "react-i18next"; import type { FormFieldProps } from "../types"; import { ariaAttributes } from "../utils"; import { FormFieldWrapper } from "./FormFieldWrapper"; type InputFormFieldProps = FormFieldProps<"text-field"> & { disabled?: boolean; value: string; onChange: (value: string) => void; }; export function InputFormField({ name, label, bottomText, leftAddon, placeholder, maxLength, error, onBlur, required, inputType = "text", disabled, value, onChange, }: InputFormFieldProps) { const id = React.useId(); const { t } = useTranslation(["forms"]); const translatedPlaceholder = placeholder?.includes(":") ? t(placeholder as never) : placeholder; return (
{leftAddon ? {leftAddon} : null} onChange(e.target.value)} onBlur={() => onBlur?.()} maxLength={maxLength} disabled={disabled} placeholder={translatedPlaceholder} {...ariaAttributes({ id, bottomText, error, required, })} />
); }