Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/chenjiahan/rodal

A React modal with animations.
https://github.com/chenjiahan/rodal

animation dialog modal react

Last synced: about 16 hours ago
JSON representation

A React modal with animations.

Awesome Lists containing this project

README

        

# Rodal [![Build Status](https://img.shields.io/travis/chenjiahan/rodal.svg?style=flat-square)](https://travis-ci.org/chenjiahan/rodal) [![NPM downloads](http://img.shields.io/npm/dm/rodal.svg?style=flat-square)](https://npmjs.org/package/rodal)

A React modal with animations.
[Example](https://chenjiahan.github.io/rodal/)

## Installation

```bash
# React 17 or 18
npm i rodal --save

# React 15 or 16, install rodal v1
npm i rodal@1 --save
```

## Usage

```javascript
import React from 'react';
import Rodal from 'rodal';

// include styles
import 'rodal/lib/rodal.css';

class App extends React.Component {
constructor(props) {
super(props);
this.state = { visible: false };
}

show() {
this.setState({ visible: true });
}

hide() {
this.setState({ visible: false });
}

render() {
return (


show


Content



);
}
}
```

## Props

| Property | Type | Default | Description |
| ---------------- | ------ | ------- | ---------------------------------------------------- |
| width | number | 400 | width of dialog |
| height | number | 240 | height of dialog |
| measure | string | px | measure of width and height |
| onClose | func | / | handler called onClose of modal |
| onAnimationEnd | func | / | handler called onEnd of animation |
| visible | bool | false | whether to show dialog |
| showMask | bool | true | whether to show mask |
| closeOnEsc | bool | false | whether close dialog when esc pressed |
| closeMaskOnClick | bool | true | whether close dialog when mask clicked |
| showCloseButton | bool | true | whether to show close button |
| animation | string | zoom | animation type |
| enterAnimation | string | / | enter animation type (higher order than 'animation') |
| leaveAnimation | string | | leave animation type (higher order than 'animation') |
| duration | number | 300 | animation duration |
| className | string | / | className for the container |
| customStyles | object | / | custom styles |
| customMaskStyles | object | / | custom mask styles |
| id | string | / | id for dialog |

## Animation Types

- zoom
- fade
- flip
- door
- rotate
- slideUp
- slideDown
- slideLeft
- slideRight

## Other

[Vue version](https://github.com/chenjiahan/vodal)