import React, { MouseEvent, useCallback } from 'react' import withDefaults from '../utils/with-defaults' import useTheme from '../styles/use-theme' import CSSTransition from './css-transition' interface Props { onClick?: (event: MouseEvent) => void visible?: boolean offsetY?: number } const defaultProps = { onClick: () => {}, visible: false, offsetY: 0, } export type BackdropProps = Props & typeof defaultProps const Backdrop: React.FC> = React.memo(({ children, onClick, visible, offsetY, }) => { const theme = useTheme() const clickHandler = useCallback((event: MouseEvent) => { onClick && onClick(event) }, []) const childrenClickHandler = useCallback((event: MouseEvent) => { event.stopPropagation() event.preventDefault() }, []) return (
{children}
) }) export default withDefaults(Backdrop, defaultProps)