import React, { FC, CSSProperties } from 'react'; import Transition, { ExitHandler } from 'react-transition-group/Transition'; interface Props { duration: number; children: JSX.Element; in: boolean; unmountOnExit?: boolean; onExited?: ExitHandler; } export const FadeIn: FC = (props) => { const defaultStyle: CSSProperties = { transition: `opacity ${props.duration}ms linear`, opacity: 0, }; const transitionStyles: { [str: string]: CSSProperties } = { exited: { opacity: 0, display: 'none' }, entering: { opacity: 0 }, entered: { opacity: 1 }, exiting: { opacity: 0 }, }; return ( {(state) => (
{props.children}
)}
); };