'use client'; import { DetailedHTMLProps, FC, forwardRef, SelectHTMLAttributes, useMemo, } from 'react'; import { clsx } from 'clsx'; import { useFormContext } from 'react-hook-form'; import interClass from '../helpers/inter.font'; import { RegisterOptions } from 'react-hook-form/dist/types/validator'; import { TranslatedLabel } from '../translation/translated-label'; export const Select: FC< DetailedHTMLProps< SelectHTMLAttributes, HTMLSelectElement > & { error?: any; extraForm?: RegisterOptions; disableForm?: boolean; label: string; name: string; hideErrors?: boolean; translationKey?: string; translationParams?: Record; } > = forwardRef((props, ref) => { const { label, className, hideErrors, disableForm, error, extraForm, translationKey, translationParams, ...rest } = props; const form = useFormContext(); const err = useMemo(() => { if (error) return error; if (!form || !form.formState.errors[props?.name!]) return; return form?.formState?.errors?.[props?.name!]?.message! as string; }, [form?.formState?.errors?.[props?.name!]?.message, error]); return (