@iimm/formily-mui
Version:
form field components based on @mui/material and @formily/react
39 lines (38 loc) • 1.59 kB
TypeScript
import type { CSSProperties, ElementRef, ReactNode, RefObject } from "react";
import { type ButtonProps } from "@mui/material";
import { type UploadZoneProps } from "./UploadZone";
import { UploadListProps } from "./UploadList";
import { type FormItemBaseProps, type FormItemExtraProps } from "../../layout";
import type { IUploadedFile, FieldBaseProps } from "../../types";
import "./styles.scss";
export declare const UploadBase: (props: UploadBaseProps) => import("react/jsx-runtime").JSX.Element;
export interface UploadBaseProps extends UploadZoneProps, FieldBaseProps<IUploadedFile[]>, Omit<FormItemBaseProps, "className" | "style" | "prefixCls">, FormItemExtraProps {
isImage?: (file: IUploadedFile) => boolean;
previewFile?: (file: IUploadedFile) => void;
transformFile?: (file: IUploadedFile) => IUploadedFile;
uploadButtonProps?: ButtonProps;
uploadButtonText?: ReactNode;
disabled?: boolean;
readOnly?: boolean;
showUploadList?: boolean;
maxCount?: number;
showPreviewIcon?: boolean;
showRemoveIcon?: boolean;
previewIcon?: ReactNode;
downloadIcon?: ReactNode;
removeIcon?: ReactNode;
uploadListStyle?: CSSProperties;
uploadListClassName?: string;
itemStyle?: CSSProperties;
itemClassName?: string;
className?: string;
uploadRef?: RefObject<UploadRefContent>;
onRemove?: UploadListProps["onRemove"];
onPreview?: (file: IUploadedFile, e?: MouseEvent) => void;
}
interface UploadRefContent {
inputRef?: ElementRef<any>;
rootRef?: ElementRef<any>;
open?: () => void;
}
export {};