UNPKG

@health-ecosystem/file-upload

Version:

File upload library for Health Ecosystem applications with improved Next.js 15+ compatibility

66 lines 2.21 kB
/** * Modern File Uploader Component * Production-ready React component for Health Ecosystem file uploads * Version 2.0 - Modern UI with manual upload control */ import React from 'react'; import { FileUploadConfig, UploadOptions, UploadResult, UploadError } from '../types'; interface FileUploaderProps { /** File upload configuration */ config: FileUploadConfig; /** Upload options */ options: UploadOptions; /** Multiple file selection */ multiple?: boolean; /** Accept file types */ accept?: string; /** Enable drag and drop */ enableDropzone?: boolean; /** Auto upload files when selected */ autoUpload?: boolean; /** Show file previews */ showPreview?: boolean; /** Custom styling */ className?: string; /** Custom styles */ style?: React.CSSProperties; /** Upload success callback */ onSuccess?: (result: UploadResult | UploadResult[]) => void; /** Upload error callback */ onError?: (error: UploadError) => void; /** Upload progress callback */ onProgress?: (progress: number) => void; /** File selection callback */ onFilesSelected?: (files: File[]) => void; /** Children render function */ children?: (props: FileUploaderRenderProps) => React.ReactNode; } interface FileUploaderRenderProps { /** Whether upload is in progress */ isUploading: boolean; /** Upload progress (0-100) */ progress: number; /** Upload result */ result?: UploadResult; /** Upload error */ error?: UploadError; /** Whether drag is active (if dropzone enabled) */ isDragActive?: boolean; /** Selected files */ selectedFiles: File[]; /** Open file picker */ openFilePicker: () => void; /** Upload files manually */ upload: (files?: File[]) => Promise<UploadResult | UploadResult[]>; /** Cancel upload */ cancel: () => void; /** Reset state */ reset: () => void; /** Clear selected files */ clearFiles: () => void; /** Remove specific file */ removeFile: (index: number) => void; } export declare const FileUploader: React.FC<FileUploaderProps>; export default FileUploader; //# sourceMappingURL=FileUploader.d.ts.map