import type { IconNames } from "../Icon"; import type { FileUpload } from "../InputFile"; export type Sizes = "small" | "base" | "large" | "extraLarge"; export type FileIconsNames = Extract; export interface GalleryProps { /** * The size of the files and their spacing in the gallery * @default "base" */ size?: "base" | "large"; /** * The files for the Gallery to display */ files: GalleryFile[]; /** * The max number of thumbnails before no more thumbnails are displayed * unless the user clicks an action to display the rest */ max?: number; /** * onDelete callback - this function will be called when the delete action is * triggered on a Gallery image */ onDelete?(file: GalleryFile): void; } export interface GalleryFile extends Pick { /** * The thumbnail url of the file. */ readonly thumbnailSrc?: string; /** * The data url of the file. */ readonly src: string | (() => Promise); }