UNPKG

@paroicms/bo-media-gallery

Version:

Basic media gallery react component for Paroi CMS.

26 lines (25 loc) 1.07 kB
import type { Image, Media } from "@paroicms/public-anywhere-lib"; import type { HttpUploadMediaValue } from "../gallery-types.js"; import type { UploadingFileHandler } from "./http-upload.js"; import type { UploadingFile } from "./internal.types.js"; export interface UseUploadHandlerOptions { mediaHandle: string; acceptFilter?: (file: File) => boolean; getMedias: (handle: string) => Promise<(Media | Image)[]>; limitManager?: UploadLimitManager; httpUploadMedia: ({ file, handle, attachedData, }: HttpUploadMediaValue) => UploadingFileHandler<Media | Image>; } export interface UploadLimitManager { remainingMediaPlaces?: number; updateMediaCount: (ev: { handle: string; count: number; }) => void; } export interface UploadMediaHandler { uploadFiles: (fileList: File[]) => Promise<(Media | Image | undefined)[]>; uploadingFiles: UploadingFile[]; medias: (Media | Image)[]; refreshMedias: () => Promise<void>; } export declare function useUploadHandler(props: UseUploadHandlerOptions): UploadMediaHandler;