import { ChangeEvent, ImgHTMLAttributes, ReactElement } from 'react';
/**
* Props for the 'Thumbnail' component.
*
* @author Malik Alimoekhamedov
* @interface
*/
interface ThumbnailProps extends Omit, 'src'> {
/**
* When TRUE, will cast a shadow which will dynamically replicate
* the main image instead of casting a blunt dark color. This provides
* a feeling of subtle transparency and elevates the entire style of
* this component.
*
* Default: FALSE
*/
readonly castBlurredShadow?: boolean;
/**
* When TRUE, will show a button that can trigger browser file uploading dialog.
*
* Default: FALSE
*/
readonly isInEditMode?: boolean;
readonly uploadProps?: {
readonly button?: {
readonly icon?: ReactElement;
readonly label?: string;
};
readonly instructions?: string;
readonly onUpload?: (event: ChangeEvent) => void;
readonly progress?: number;
};
/**
* Accepts one image URL or an object containing low quality image URL
* to be loaded first and a high quality image URL to load next.
*/
readonly src?: string | {
lowQuality?: string;
highQuality?: string;
};
}
interface LazyImageProps extends Omit, 'src'>, Pick {
readonly placeholder?: string;
}
export type { ThumbnailProps, LazyImageProps };