import { forwardRef, useId, type InputHTMLAttributes } from 'react';
import './Input.css';
interface Props extends InputHTMLAttributes {
label?: string;
helper?: string;
error?: string;
}
export const Input = forwardRef(function Input(
{ label, helper, error, id: providedId, className, ...rest },
ref,
) {
const generatedId = useId();
const id = providedId ?? generatedId;
const helperId = helper ? `${id}-helper` : undefined;
const errorId = error ? `${id}-error` : undefined;
return (
{label ? (
) : null}
{helper && !error ? (
{helper}
) : null}
{error ? (
{error}
) : null}
);
});