1.0.2 • Published 4 years ago

react-expand-animated v1.0.2

Weekly downloads
1,565
License
MIT
Repository
github
Last release
4 years ago

react-expand-animated 1.0.2

Simple expandable wrapper component with height, opacity animation.

Demo

Install

npm i react-expand-animated

Usage

import React, { Component } from 'react';
import Expand from 'react-expand-animated';

class App extends Component {
  state = { open: false };

  toggle = () => {
    this.setState(prevState => ({ open: !prevState.open }));
  };

  render() {
    return (
      <Fragment>
        <button onClick={this.toggle}>Open</button>
        <Expand open={this.state.open}>
          <div style={{ width: '300px', height: '400px', color: 'red' }}>Hello</div>
        </Expand>
      </Fragment>
    );
  }
}

export default App;

Props

PropsTypeRequiredDefaultDescription
childrennodetrueundefinedThe expanded or collapsed content
openboolfalsefalseWhen set to true expand the children component otherwise collapse it
durationnumberfalse400Animation duration in ms
easingstringfalse'ease-in-out'Css3 Animation's type
classNamestringfalse''Wrapper's className
tagstringfalse'div'Wrapper's tag
transitionsarrayOf(string)false'height', 'opacity'Transition attributes
stylesarrayOf(shape({ open: object, close: object }))false{}Additional inline-styles on open or close phase. For example: styles={open: { marginTop: 100 }, close: { marginTop: 0 }}

Development

Dev: npm run dev

Build: npm run build

Test: npm test

Test Coverage: npm run test:cov