watercolor-ui
Version:
A modern minimalist cross-framework component library
74 lines • 2.51 kB
TypeScript
/**
* 验证文件格式
* @param {FileList|File[]} files - 文件列表
* @param {string} accept - 接受的文件格式
* @returns {Object} 验证结果 { valid: File[], invalid: File[] }
*/
export function validateFiles(files: FileList | File[], accept?: string): Object;
/**
* 检查文件大小限制
* @param {File[]} files - 文件数组
* @param {number} maxSize - 最大文件大小(字节)
* @param {number} maxTotal - 最大总大小(字节)
* @returns {Object} 检查结果 { valid: File[], oversized: File[], totalOverflow: boolean }
*/
export function checkFileSizes(files: File[], maxSize?: number, maxTotal?: number): Object;
/**
* 格式化文件大小
* @param {number} bytes - 字节数
* @param {number} decimals - 小数位数
* @returns {string} 格式化后的大小字符串
*/
export function formatFileSize(bytes: number, decimals?: number): string;
/**
* 获取文件类型图标
* @param {File} file - 文件对象
* @returns {string} 文件类型图标
*/
export function getFileTypeIcon(file: File): string;
/**
* 处理拖拽事件
* @param {DragEvent} event - 拖拽事件
* @param {Object} callbacks - 回调函数对象
*/
export function handleDragEvents(event: DragEvent, callbacks?: Object): void;
/**
* 从拖拽事件中获取文件
* @param {DragEvent} event - 拖拽事件
* @returns {File[]} 文件数组
*/
export function getFilesFromDragEvent(event: DragEvent): File[];
/**
* 检查是否支持拖拽上传
* @returns {boolean} 是否支持
*/
export function isDragSupported(): boolean;
/**
* 读取文件内容
* @param {File} file - 文件对象
* @param {string} readAs - 读取方式: 'text' | 'dataURL' | 'arrayBuffer' | 'binaryString'
* @returns {Promise} Promise对象
*/
export function readFile(file: File, readAs?: string): Promise<any>;
/**
* 创建文件预览
* @param {File} file - 文件对象
* @returns {Promise<string>} 预览URL
*/
export function createFilePreview(file: File): Promise<string>;
/**
* 上传文件
* @param {File} file - 文件对象
* @param {string} url - 上传URL
* @param {Object} options - 上传选项
* @returns {Promise} 上传Promise
*/
export function uploadFile(file: File, url: string, options?: Object): Promise<any>;
/**
* 生成唯一文件ID
* @param {File} file - 文件对象
* @returns {string} 唯一ID
*/
export function generateFileId(file: File): string;
export function getFileInputClasses(variant: any): string;
//# sourceMappingURL=utils.d.ts.map