Skip to content

tochwill/react-swap-animation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Swap Animation

Swap animation for React. Useful to smoothly swap blocks of content with varying heights.

Note: Due to the nature of the effect SwapAnimation only animates a single child. If you want to animate items in a list use react-slide-animation instead.

Installation

npm install --save react-swap-animation

Usage

import SwapAnimation from 'react-swap-animation';

const Message = ({ message }) => (
    <SwapAnimation animationEnterTimeout={300} animationLeaveTimeout={300}>
        {!message ? <Spinner key="spinner" /> : <Text key="message">{message}</Text>}
    </SwapAnimation>
);

export default Message;

Build

Import styles using PostCSS Import Plugin (e.g. in your main.css):

@import "react-swap-animation";

Or manually add react-swap-animation/lib/index.css to your webpack entry config.

Reference

  • children - Required. Single child that animates when swapped.

    You must provide the key attribute for all children of SwapAnimation. This is how React determines which child has entered, left, or stayed.

  • animationEnterTimeout - Required. Duration of transition for child entering.

  • animationLeaveTimeout - Required. Duration of transition for child leaving.

  • component - Component used for rendering. (default: 'div')

    Can be a string (DOM component) or any user defined component:

    <SwapAnimation component={CustomContainer}>
        {/* ... */}
    </SwapAnimation>
    

    Additional properties to SwapAnimation will become properties of the rendered component:

    <SwapAnimation className="example" style={{ border: '1px solid black' }}>
        {/* ... */}
    </SwapAnimation>
    
  • animationName - Prefix used to construct CSS class names. (default: 'swap-animation')

    Can be used to create custom animation effects:

    • {animationName} - Applied to container when child is swapped
    • {animationName}-active - Applied to container on next tick
    • {animationName}-enter - Applied to entering child during swap
    • {animationName}-enter-active - Applied to entering child on next tick
    • {animationName}-leave - Applied to leaving child during swap
    • {animationName}-leave-active - Applied to leaving child on next tick

About

Swap animation for React.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 82.2%
  • CSS 17.8%