UNPKG

openiis-ui

Version:

Una librería moderna de componentes UI para Angular con temas personalizables

83 lines (82 loc) 2 kB
import { Observable } from 'rxjs'; import * as i0 from "@angular/core"; export interface UploadConfig { maxFileSize?: number; allowedTypes?: string[]; maxFiles?: number; compressionQuality?: number; enableResize?: boolean; maxWidth?: number; maxHeight?: number; } export interface FileUploadItem { id: string; file: File; name: string; size: number; type: string; url?: string; thumbnailUrl?: string; } export declare class OpeniisUploadService { private uploadQueue$; private defaultConfig; constructor(); /** * Obtener la cola de archivos como Observable */ get uploadQueue(): Observable<FileUploadItem[]>; /** * Obtener cola actual de forma síncrona */ getCurrentQueue(): FileUploadItem[]; /** * Validar un archivo individual */ validateFile(file: File, config?: UploadConfig): { valid: boolean; error?: string; }; /** * Agregar archivos a la cola */ addFiles(files: FileList | File[], config?: UploadConfig): Observable<FileUploadItem[]>; /** * Obtener archivo por ID */ getFile(id: string): File | null; /** * Obtener todos los archivos */ getAllFiles(): { id: string; file: File; name: string; }[]; /** * Eliminar archivo de la cola */ removeFile(id: string): void; /** * Limpiar toda la cola */ clearQueue(): void; /** * Comprimir imagen */ compressImage(file: File, quality?: number, maxWidth?: number, maxHeight?: number): Promise<File>; /** * Generar preview de imagen */ private generatePreview; /** * Actualizar un elemento en la cola */ private updateItem; /** * Generar ID único */ private generateId; static ɵfac: i0.ɵɵFactoryDeclaration<OpeniisUploadService, never>; static ɵprov: i0.ɵɵInjectableDeclaration<OpeniisUploadService>; }