use-file-picker
Version:
Simple react hook to open browser file selector.
43 lines (36 loc) • 2.13 kB
TypeScript
import { V as Validator, b as FileAmountLimitConfig, U as UseFilePickerConfig, c as FileSizeRestrictions, d as ImageDimensionRestrictionsConfig, a as FileWithPath$1 } from '../interfaces-DZ8vOLhN.js';
import { FileWithPath } from 'file-selector';
declare class FileAmountLimitValidator extends Validator {
private limitAmountOfFilesConfig;
constructor(limitAmountOfFilesConfig: FileAmountLimitConfig);
validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
validateAfterParsing(): Promise<void>;
}
declare class FileSizeValidator extends Validator {
private fileSizeRestrictions;
constructor(fileSizeRestrictions: FileSizeRestrictions);
validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
validateAfterParsing(_config: UseFilePickerConfig, _file: FileWithPath): Promise<void>;
}
declare class ImageDimensionsValidator extends Validator {
private imageSizeRestrictions;
constructor(imageSizeRestrictions: ImageDimensionRestrictionsConfig);
validateBeforeParsing(): Promise<void>;
validateAfterParsing(config: UseFilePickerConfig, file: FileWithPath, reader: FileReader): Promise<void>;
}
declare class PersistentFileAmountLimitValidator extends Validator {
private limitFilesConfig;
private previousPlainFiles;
constructor(limitFilesConfig: FileAmountLimitConfig);
onClear(): void;
onFileRemoved(_removedFile: File, removedIndex: number): void;
validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
validateAfterParsing(): Promise<void>;
}
declare class FileTypeValidator extends Validator {
private readonly acceptedFileExtensions;
constructor(acceptedFileExtensions: string[]);
validateBeforeParsing(_config: UseFilePickerConfig, plainFiles: File[]): Promise<void>;
validateAfterParsing(_config: UseFilePickerConfig, _file: FileWithPath$1, _reader: FileReader): Promise<void>;
}
export { FileAmountLimitValidator, FileSizeValidator, FileTypeValidator, ImageDimensionsValidator, PersistentFileAmountLimitValidator, Validator };