UNPKG

welcome-ui

Version:

Customizable design system with react • styled-components • styled-system and ariakit.

53 lines (52 loc) 2.52 kB
import { default as React } from 'react'; import { Accept, DropEvent, DropzoneProps, DropzoneState } from 'react-dropzone'; import { ForceFileType } from '../Files'; import { CreateWuiProps } from '../System'; import { CreateEvent } from '../../utils/create-event'; export type FileDropChildren = { disabled?: boolean; error?: string; file?: FileType; fileName?: string; fileUrl?: FileUrlType; forceFileType?: ForceFileType; isAnImage?: boolean; isHoverAccept?: DropzoneState['isDragAccept']; isHoverReject?: DropzoneState['isDragReject']; openFile?: OpenType; wordings?: WordingsType; }; export interface FileDropOptions { /** Pass a comma-separated string of file types e.g. "image/png" or "image/png,image/jpeg" */ accept?: Accept; children?: (state: FileDropChildren) => JSX.Element; fileName?: string; forceFileType?: ForceFileType; handleAddFile?: (event: CreateEvent | DropEvent | React.ChangeEvent<HTMLInputElement>) => void; handleRemoveFile?: (event: CreateEvent | DropEvent | React.ChangeEvent<HTMLInputElement>) => void; isClearable?: boolean; isEditable?: boolean; name?: string; onBlur?: () => void; onChange?: (event: CreateEvent | DropEvent | React.ChangeEvent<HTMLInputElement>) => void; onError?: (event?: string) => void; value: FileType; /** Pass an object with optional fields title, hint, fileButtonText and/or previewButtonText (string or JSX.Element) */ wordings?: WordingsType; } export type FileDropProps = CreateWuiProps<'div', FileDropOptions> & Omit<DropzoneProps, 'children'>; export interface FileWithPreview extends File { preview?: string; } type FileType = FileWithPreview | string; type FileUrlType = string | URL; type OpenType = DropzoneState['open']; type WordingsType = { fileButtonText?: JSX.Element | string; hint?: JSX.Element | string; previewButtonText?: JSX.Element | string; title?: JSX.Element | string; }; export declare const FileDrop: import('../System').CreateWuiComponent<"div", FileDropProps>; export declare const ImagePreview: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('styled-components').FastOmit<React.DetailedHTMLProps<React.ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, keyof import('@xstyled/system').SystemProps<import('@xstyled/system').Theme>> & import('@xstyled/system').SystemProps<import('@xstyled/system').Theme>, never>> & string; export {};