@paroicms/bo-media-gallery
Version:
Basic media gallery react component for Paroi CMS.
36 lines (35 loc) • 1.55 kB
TypeScript
import "../assets/styles/index.scss";
import type { Image, Media } from "@paroicms/public-anywhere-lib";
import type { GetMediaProperties, SetMediaAttachedData } from "./gallery-types.js";
import type { UploadingFile } from "./helpers/internal.types.js";
import type { UploadLimitManager } from "./helpers/upload-handler.js";
export interface MediaGalleryProps {
className?: string;
getMedias: (handle: string) => Promise<(Media | Image)[]>;
reorderMedias?: (options: {
handle: string;
mediaUids: string[];
}) => Promise<void>;
deleteMedia: (options: {
mediaUid: string;
handle: string;
}) => Promise<void>;
onMediaAction?: (media: Media) => void;
accept?: string;
handle: string;
/**
* Default value is `'row'`.
*/
direction?: "row" | "column";
isMobile?: boolean;
limitManager?: UploadLimitManager;
getMediaProperties?: GetMediaProperties;
updateMediaAttachedData: SetMediaAttachedData;
contentLanguage: string;
userLanguage?: string;
uploadFiles: (fileList: File[]) => Promise<(Media | Image | undefined)[]>;
uploadingFiles: UploadingFile[];
refreshMedias: () => Promise<void>;
medias: (Media | Image)[];
}
export declare function MediaGallery({ deleteMedia, className, reorderMedias, accept, handle, direction, onMediaAction, limitManager, isMobile, getMediaProperties, updateMediaAttachedData, contentLanguage, uploadFiles, uploadingFiles, refreshMedias, medias, }: MediaGalleryProps): import("react").JSX.Element;