UNPKG

@brizy/cloud-media-upload

Version:
16 lines (15 loc) 871 B
import React, { forwardRef, useCallback, useImperativeHandle, useState } from "react"; import { MediaUploadContainer } from "../MediaUploadContainer"; import { Modal } from "../Modal"; export const ModalContainer = forwardRef(({ rootContainer }, ref) => { const [{ isOpen, mediaUploadInstance }, setState] = useState({ isOpen: false }); useImperativeHandle(ref, () => ({ update: (newProps) => setState(newProps), })); const canRender = typeof mediaUploadInstance !== "undefined" && isOpen; const _handleClose = useCallback(() => { mediaUploadInstance?.config.onClose(); }, [mediaUploadInstance]); return (canRender && (React.createElement(Modal, { isOpen: isOpen, handleClose: _handleClose, rootContainer: rootContainer }, React.createElement(MediaUploadContainer, { mediaUploadInstance: mediaUploadInstance })))); });