Wrapper component around React Motion for easier UI transitions
React Motion UI Pack
React Motion is an amazing animation library for React. React Motion UI Pack tries to help ease entry level / common use cases with React Motion by providing a higher level way to work with it and create common UI transitions easier. If you need more complex animations I suggest using React Motion directly.
Usage
yarn add react-motion-ui-pack
npm install react-motion-ui-pack --save
<script src="https://unpkg.com/react-motion-ui-pack/dist/react-motion-ui-pack.js"></script>
(UMD library exposed as `Transition`)
##Example
import Transition from 'react-motion-ui-pack'
// Animate a list of items as they are added
<Transition
component="ul"
enter={{
opacity: 1,
}}
leave={{
opacity: 0,
}}
>
{ this.state.items.map(item =>
<li key={item.id}>{item.content}</li>
)
}
</Transition>
// Animate a modal
<Transition
component={false} // don't use a wrapping component
enter={{
opacity: 1,
translateY: spring(0, {stiffness: 400, damping: 10})
}}
leave={{
opacity: 0,
translateY: 250
}}
>
{ this.state.modalOpen &&
<div key="modal" className="modal__content">
// modal code
</div>
}
</Transition>
Props
component: PropTypes.oneOfType([PropTypes.string, PropTypes.bool, isElement])
Define the wrapping tag/component around the children passed in, pass false to not use a wrapping component at all for only child components.
runOnMount: PropTypes.bool
Determines whether the animation runs on mount or not
appear: PropTypes.object
Where the animation starts, defaults to leave value if nothing passed
enter: PropTypes.object
The resting state of the animation
leave: PropTypes.object
The ending value of the animation
onEnter: PropTypes.func
Callback right before an element enters, passes in your current animating values onEnter={currentValues => /* do something */} called only once.
onLeave: PropTypes.func
Same as onEnter, but fires multiple times as an element is leaving.