import type { BoxProps } from '@mui/material/Box'; import { Controller, useFormContext } from 'react-hook-form'; import { Upload } from '../upload'; import type { UploadProps } from '../upload'; // ---------------------------------------------------------------------- export type RHFUploadProps = UploadProps & { name: string; slotProps?: { wrapper?: BoxProps; }; }; // ---------------------------------------------------------------------- export function RHFUpload({ name, multiple, helperText, ...other }: RHFUploadProps) { const { control, setValue } = useFormContext(); return ( { const uploadProps = { multiple, accept: { 'image/*': [] }, error: !!error, helperText: error?.message ?? helperText, }; const onDrop = (acceptedFiles: File[]) => { const value = multiple ? [...field.value, ...acceptedFiles] : acceptedFiles[0]; setValue(name, value, { shouldValidate: true }); }; // return <>{JSON.stringify({ t: field.value })}; return ; }} /> ); }