@nish1896/rhf-mui-components
Version:
A suite of 20+ production-ready react-hook-form components built with material-ui. Fully typed, tree-shakable, and optimized for enterprise-grade forms.
54 lines (53 loc) • 1.75 kB
TypeScript
import { FileInputProps, FileUploadError } from "../../types/file-uploader.js";
import { FormHelperTextProps, FormLabelProps } from "../../types/mui.js";
import { ChangeEvent, ReactNode } from "react";
import * as react_jsx_runtime0 from "react/jsx-runtime";
import { Control, FieldValues, Path, RegisterOptions } from "react-hook-form";
//#region src/mui/file-uploader/index.d.ts
type RHFFileUploaderProps<T extends FieldValues> = {
fieldName: Path<T>;
control: Control<T>;
registerOptions?: RegisterOptions<T, Path<T>>;
required?: boolean;
showFileSize?: boolean;
hideFileList?: boolean;
renderUploadButton?: (fileInput: ReactNode) => ReactNode;
renderFileItem?: (file: File, index: number) => ReactNode;
onValueChange?: (acceptedFiles: File | File[] | null, event: ChangeEvent<HTMLInputElement>) => void;
onUploadError?: (errors: FileUploadError[], rejectedFiles: File[]) => void;
label?: ReactNode;
showLabelAboveFormField?: boolean;
formLabelProps?: FormLabelProps;
errorMessage?: ReactNode;
helperText?: ReactNode;
hideErrorMessage?: boolean;
formHelperTextProps?: FormHelperTextProps;
fullWidth?: boolean;
} & FileInputProps;
declare const RHFFileUploader: <T extends FieldValues>({
fieldName,
control,
registerOptions,
accept,
multiple,
maxFiles,
maxSize,
hideFileList,
showFileSize,
renderUploadButton,
renderFileItem,
onValueChange,
disabled: muiDisabled,
onUploadError,
label,
showLabelAboveFormField,
formLabelProps,
required,
helperText,
errorMessage,
hideErrorMessage,
formHelperTextProps,
fullWidth
}: RHFFileUploaderProps<T>) => react_jsx_runtime0.JSX.Element;
//#endregion
export { type FileUploadError, RHFFileUploaderProps, RHFFileUploader as default };