import FocusTrap from 'focus-trap-react'; import { as, Modal, Overlay, OverlayBackdrop, OverlayCenter } from 'folds'; import React, { ReactNode } from 'react'; import { ModalWide } from '../styles/Modal.css'; import { stopPropagation } from '../utils/keyboard'; export type RenderViewerProps = { src: string; alt: string; requestClose: () => void; }; type ImageOverlayProps = RenderViewerProps & { viewer: boolean; renderViewer: (props: RenderViewerProps) => ReactNode; }; export const ImageOverlay = as<'div', ImageOverlayProps>( ({ src, alt, viewer, requestClose, renderViewer, ...props }, ref) => ( }> requestClose(), clickOutsideDeactivates: true, escapeDeactivates: stopPropagation, }} > evt.stopPropagation()} > {renderViewer({ src, alt, requestClose, })} ) );