/** @format */ /** * External dependencies */ import { Component, createRef } from '@wordpress/element'; import classnames from 'classnames'; import { CSSTransition, TransitionGroup } from 'react-transition-group'; import PropTypes from 'prop-types'; /** * This component creates slideable content controlled by an animate prop to direct the contents to slide left or right. * All other props are passed to `CSSTransition`. More info at http://reactcommunity.org/react-transition-group/css-transition */ class AnimationSlider extends Component { constructor() { super(); this.state = { animate: null, }; this.container = createRef(); this.onExited = this.onExited.bind( this ); } onExited() { const { onExited } = this.props; if ( onExited ) { onExited( this.container.current ); } } render() { const { children, animationKey, animate } = this.props; const containerClasses = classnames( 'woocommerce-slide-animation', animate && `animate-${ animate }` ); return (