/** * Un `File` recién adjuntado (sin subir todavía) o un archivo ya subido, que * llega como `{ url, name, size }` sin instancia de `File` disponible. */ export type FileChipFile = File | { url?: string; name: string; size?: number; }; export type FileChipProps = Readonly<{ file: FileChipFile; /** * Click en el thumbnail cuando es una imagen — pensado para abrir un * lightbox/galería en el consumidor. Sin esta prop el thumbnail no es * interactivo. */ onOpenThumbnail?: () => void; /** Sin esta prop no se renderiza botón de cerrar (archivo no removible). */ onRemove?: () => void; /** Archivo recién seleccionado, todavía subiéndose: thumb con spinner y chip atenuado. */ isUploading?: boolean; className?: string; }>;