UNPKG

upup-react-file-uploader

Version:
176 lines (172 loc) 5.45 kB
import React, { FC } from 'react'; declare enum UploadAdapter { INTERNAL = "INTERNAL", GOOGLE_DRIVE = "GOOGLE_DRIVE", ONE_DRIVE = "ONE_DRIVE", LINK = "LINK", CAMERA = "CAMERA" } type GoogleDriveConfigs = { google_api_key: string; google_app_id: string; google_client_id: string; }; type OneDriveConfigs = { onedrive_client_id: string; redirectUri?: string; }; declare enum UpupProvider { AWS = "aws", Azure = "azure", BackBlaze = "backblaze", DigitalOcean = "digitalocean" } type MaxFileSizeObject = { size: number; unit: 'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'PB' | 'EB' | 'ZB' | 'YB'; }; type UpupUploaderPropsClassNames = { fileIcon?: string; containerMini?: string; containerFull?: string; containerHeader?: string; containerCancelButton?: string; containerAddMoreButton?: string; adapterButtonList?: string; adapterButton?: string; adapterButtonIcon?: string; adapterButtonText?: string; adapterViewHeader?: string; adapterViewCancelButton?: string; adapterView?: string; driveLoading?: string; driveHeader?: string; driveLogoutButton?: string; driveSearchContainer?: string; driveSearchInput?: string; driveBody?: string; driveItemContainerDefault?: string; driveItemContainerSelected?: string; driveItemContainerInner?: string; driveItemInnerText?: string; driveFooter?: string; driveAddFilesButton?: string; driveCancelFilesButton?: string; urlInput?: string; urlFetchButton?: string; cameraPreviewContainer?: string; cameraDeleteButton?: string; cameraCaptureButton?: string; cameraRotateButton?: string; cameraAddButton?: string; fileListContainer?: string; fileListContainerInnerSingle?: string; fileListContainerInnerMultiple?: string; fileListFooter?: string; filePreviewPortal?: string; fileItemSingle?: string; fileItemMultiple?: string; fileThumbnailSingle?: string; fileThumbnailMultiple?: string; fileInfo?: string; fileName?: string; fileSize?: string; filePreviewButton?: string; fileDeleteButton?: string; uploadButton?: string; uploadDoneButton?: string; progressBarContainer?: string; progressBar?: string; progressBarInner?: string; progressBarText?: string; }; type UpupUploaderPropsIcons = { ContainerAddMoreIcon?: FC<{ className?: string; }>; FileDeleteIcon?: FC<{ className?: string; }>; CameraDeleteIcon?: FC<{ className?: string; }>; CameraCaptureIcon?: FC<{ className?: string; }>; CameraRotateIcon?: FC<{ className?: string; }>; LoaderIcon?: FC<{ className?: string; }>; }; type UpupUploaderProps = { provider: UpupProvider; tokenEndpoint: string; enableAutoCorsConfig?: boolean; uploadAdapters?: UploadAdapter[]; driveConfigs?: { googleDrive?: GoogleDriveConfigs; oneDrive?: OneDriveConfigs; }; shouldCompress?: boolean; accept?: string; limit?: number; allowPreview?: boolean; isProcessing?: boolean; mini?: boolean; maxFileSize?: MaxFileSizeObject; customProps?: object; dark?: boolean; classNames?: UpupUploaderPropsClassNames; icons?: UpupUploaderPropsIcons; onFilesSelected?: (files: FileWithParams[]) => void; onDoneClicked?: () => void; onPrepareFiles?: (files: FileWithParams[]) => Promise<FileWithParams[]>; onFileClick?: (file: FileWithParams) => void; onIntegrationClick?: (integrationType: string) => void; onFileUploadStart?: (file: FileWithParams) => void; onFileUploadComplete?: (file: FileWithParams, key: string) => void; onFilesUploadComplete?: (fileWithParams: FileWithParams[]) => void; onFileUploadProgress?: (file: FileWithParams, { loaded, total, percentage, }: { loaded: number; total: number; percentage: number; }) => void; onFilesUploadProgress?: (completedFiles: number, totalFiles: number) => void; onFileRemove?: (file: FileWithParams) => void; onFilesDragOver?: (files: File[]) => void; onFilesDragLeave?: (files: File[]) => void; onFilesDrop?: (files: File[]) => void; onFileTypeMismatch?: (file: File, acceptedTypes: string) => void; onError?: (errorMessage: string) => void; onWarn?: (warningMessage: string) => void; }; type FileWithParams = File & { id: string; url: string; key?: string; fileHash?: string | undefined; thumbnail?: { file: File; key?: string; }; }; type FileWithProgress = FileWithParams & { progress: number; }; type UpupUploaderRef = { useUpload(): { error?: string; files: FileWithParams[]; loading: boolean; progress: number; upload(): Promise<FileWithParams[] | undefined>; resetState(): void; dynamicUpload(files: File[] | FileWithParams[]): Promise<FileWithParams[] | undefined>; setFiles(newFiles: File[]): void; dynamicallyReplaceFiles(files: File[] | FileWithParams[]): void; }; }; declare const _default: React.ForwardRefExoticComponent<UpupUploaderProps & React.RefAttributes<UpupUploaderRef>>; export { type FileWithParams, type FileWithProgress, type GoogleDriveConfigs, type OneDriveConfigs, UploadAdapter, UpupProvider, _default as UpupUploader, type UpupUploaderRef };