UNPKG

ndla-ui

Version:

UI component library for NDLA.

45 lines (39 loc) 914 B
import React from 'react'; import PropTypes from 'prop-types'; import { CSSTransition } from 'react-transition-group'; const Fade = ({ children, delay, timeout, exitDelay, ...rest }) => ( <CSSTransition classNames="u-fade" {...rest} timeout={timeout} unmountOnExit onEnter={node => { const n = node; n.style.transitionDuration = `${timeout}ms`; if (delay) { n.style.transitionDelay = `${delay}ms`; } }} onExit={ exitDelay ? node => { const n = node; n.style.transitionDelay = `${exitDelay}ms`; } : null }> {children} </CSSTransition> ); Fade.propTypes = { children: PropTypes.node.isRequired, timeout: PropTypes.number, delay: PropTypes.number, exitDelay: PropTypes.number, }; Fade.defaultProps = { timeout: 300, delay: null, exitDelay: null, }; export default Fade;