@paroicms/front-media-gallery
Version:
Basic media gallery react component for Paroi CMS.
37 lines (36 loc) • 1.56 kB
TypeScript
import "../assets/styles/index.scss";
import type { Image, Media } from "@paroicms/public-anywhere-lib";
import type { GetMediaProperties, HttpUploadMediaValue, SetMediaAttachedData } from "./gallery-types";
import type { UploadingFileHandler } from "./helpers/http-helper";
export interface MediaGalleryProps {
className?: string;
getMedias: (handle: string) => Promise<(Media | Image)[]>;
httpUploadMedia: ({ file, handle, attachedData }: HttpUploadMediaValue) => UploadingFileHandler;
reorderMedias?: (options: {
handle: string;
mediaUids: string[];
}) => Promise<void>;
deleteMedia: (options: {
mediaUid: string;
handle: string;
}) => Promise<void>;
onMediaAction?: (media: Media) => void;
accept?: string;
acceptFilter?: (file: File) => boolean;
handle: string;
/**
* Default value is `'row'`.
*/
direction?: "row" | "column";
isMobile?: boolean;
remainingMediaPlaces?: number;
updateMediaCount?: (ev: {
handle: string;
count: number;
}) => void;
getMediaProperties?: GetMediaProperties;
updateMediaAttachedData: SetMediaAttachedData;
contentLanguage: string;
userLanguage?: string;
}
export declare function MediaGallery({ getMedias, deleteMedia, httpUploadMedia, className, reorderMedias, accept, acceptFilter, handle, direction, onMediaAction, remainingMediaPlaces, updateMediaCount, isMobile, getMediaProperties, updateMediaAttachedData, contentLanguage, }: MediaGalleryProps): import("react").JSX.Element;