apollo-form
Version:
Form state manager
23 lines (22 loc) • 1.06 kB
TypeScript
import React from 'react';
export declare type FilePickerError = 'File size is to large' | 'Wrong file format';
export interface FilePickerRenderProps<Multiple extends boolean | undefined = undefined> {
onClick: (e: React.MouseEvent) => void;
onDragEnter: (e: React.DragEvent) => void;
onDragLeave: (e: React.DragEvent) => void;
onDragOver: (e: React.DragEvent) => void;
onDrop: (e: React.DragEvent) => void;
dragged: boolean;
}
export interface FilePickerProps<Multiple extends boolean | undefined = undefined> {
value?: Multiple extends true ? File[] : File;
onChange?: (e: React.ChangeEvent | React.DragEvent, value: Multiple extends true ? File[] : File) => void;
multiple?: Multiple;
reset?: boolean;
accept?: string[];
maxSize?: number;
children: (props: FilePickerRenderProps<Multiple>) => JSX.Element;
onError?: (err: FilePickerError) => void;
}
declare function FilePicker<Multiple extends boolean | undefined = undefined>(props: FilePickerProps<Multiple>): JSX.Element;
export default FilePicker;