2025-02-03 18:17:44 +03:00
|
|
|
import clsx from 'clsx';
|
2025-01-31 21:05:04 +03:00
|
|
|
import { FieldError, GlobalError } from 'react-hook-form';
|
|
|
|
|
2025-02-03 18:17:44 +03:00
|
|
|
import { CProps } from '../props';
|
|
|
|
|
|
|
|
interface ErrorFieldProps extends CProps.Styling {
|
2025-01-31 21:05:04 +03:00
|
|
|
error?: FieldError | GlobalError;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Displays an error message for input field.
|
|
|
|
*/
|
2025-02-03 18:17:44 +03:00
|
|
|
function ErrorField({ error, className, ...restProps }: ErrorFieldProps): React.ReactElement | null {
|
2025-01-31 21:05:04 +03:00
|
|
|
if (!error) {
|
|
|
|
return null;
|
|
|
|
}
|
2025-02-03 18:17:44 +03:00
|
|
|
return (
|
|
|
|
<div className={clsx('text-sm text-warn-600 select-none', className)} {...restProps}>
|
|
|
|
{error.message}
|
|
|
|
</div>
|
|
|
|
);
|
2025-01-31 21:05:04 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
export default ErrorField;
|