@etsoo/materialui
Version:
TypeScript Material-UI Implementation
41 lines (40 loc) • 1.01 kB
TypeScript
import { ButtonProps } from "@mui/material/Button";
import React from "react";
/**
* File upload button props
*/
export type FileUploadButtonProps = ButtonProps<"label"> & {
/**
* Drop files label
*/
dropFilesLabel?: React.ReactNode;
/**
* Max files allowed
*/
maxFiles?: number;
/**
* Max file size
*/
maxFileSize?: number;
/**
* Input field attributes
*/
inputProps?: Omit<React.InputHTMLAttributes<HTMLInputElement>, "type" | "hidden" | "multiple">;
/**
* File invalid handler
* @param values [expected, actual]
* @param file File
*/
onFileInvalid?: (values: [number, number], file?: File) => void;
/**
* Upload files callback
* @param files Files
*/
onUploadFiles: (files: FileList) => void;
};
/**
* File upload button
* @param props Props
* @returns Component
*/
export declare function FileUploadButton(props: FileUploadButtonProps): import("react/jsx-runtime").JSX.Element;