AModin / react-chained-modals

React component for display few chained modals / Single modal / Prompts / Alerts / Dialogs etc.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

React chained modals Tweet

React version

Allow you to add few chained modals or just single popup in your react app. Easy to use and customizing. Check the demo page

screencast-amodin github io-2018 12 09-21-00-37

Getting Started

Installation

Get the package from npm

npm i react-chained-modals

Usage

Import:

import ChainedModal from "react-chained-modals";
import "react-chained-modals/src/modal.css"
import "animate.css"

then place:

<ChainedModal
  animationNext="fadeInRight"
  animationPrev="fadeInLeft"
  visible={this.state.showModal}
  onRequestClose={this.toggleModal}
  closeOnBackground
  animationSpeed="faster"
  elements={[
   {
     component: Modal1,
     props: { title: "First modal" }
   },
   {
     component: Modal2,
     props: { title: "Second modal" }
   },
   {
     component: Modal3,
     props: { title: "Third modal" }
   }
 ]}
/>

Methods and options

Name Type Description Default
animationNext string Transition animation on showNext method call. View full list here Animate.css. This method will call also on popup first view. none
animationPrev string Transition animation on showPrev method call. View full list here Animate.css none
visible bool Is modals visible. Options: true, false false
onRequestClose function Method that should set visible to false
closeOnBackground bool Should popup close on click at background. Options: true, false false
animationSpeed string Define it if you want to change the animation speed. Options: "slow", "slower", "fast", "faster" none
elements array Each item in the array should have the component that will show and optional parameter props which put all 'props' you want to use in this component none

Methods and options for each modal

In each component, that you added in elements you can get next next properties and methods from props:

Name Type Description
closeChainedModal function The onRequestClose function will be called
totalModals number Number of modals, length of array
showNext function Show next modal function
showPrev function Show prev modal function
currentModal number Current modal, index in array

Example of Modal1 component:

const Modal1 = props => {
  return (
    <div>
      {props.title} {props.currentModal}
      <div>{props.totalModals}</div>
      <div>
        <span onClick={props.showPrev()}>Go prev </span>
        <span onClick={props.showNext()}>Go next</span>
      </div>
      <button onClick={() => props.closeChainedModal()}>close modal</button>
    </div>
  );
};

Customizing:

Just replace your styles with styles from the module

Built With

About

React component for display few chained modals / Single modal / Prompts / Alerts / Dialogs etc.


Languages

Language:JavaScript 89.9%Language:CSS 10.1%