2.0.6 • Published 8 years ago
react-modal-button v2.0.6
Installation
npm i --save react-modal-button
Example
Usage
import React from 'react';
import { ModalButton } from 'react-modal-button';
const App = () => (
<div>
<h1>React Modal Button!</h1>
<ModalButton
modal={({ closeModal }) => (
<div>
<p>My Modal</p>
<button onClick={closeModal}>Close</button>
</div>
)}
>
Button Text Here 🐕
</ModalButton>
</div>
);Props for content
| prop | render prop |
|---|---|
| modal | closeModal |
Props on Button
| props | defualt |
|---|---|
| buttonStyle | |
| buttonClassName |
Props for Modal
| props | Default |
|---|---|
| isBackdrop | false |
| showCloseButton | true |
| closeOnBackdrop | true |
| closeOnEsc | true |
| height | '300px' |
| width | '500px' |
| animation | 'fade' |
| animationDurationMS | 300 |
| className | |
| windowClassName | |
| windowStyles | |
| backdropClassName | |
| backdropStyles |
Custom Animation
modal-[your-animation-prop]-on-[enter/leave]
Control the modal with state
import { Modal } from 'react-modal-button';
class App extends Component {
state = {
isModalOpen: false,
};
openModal = () => {
this.setState({ isModalOpen: true });
};
closeModal = () => {
this.setState({ isModalOpen: false });
};
render() {
return (
<div>
<button onClick={this.openModal}>Open Modal</button>
<Modal isOpen={this.state.isModalOpen} onClose={this.closeModal}>
<div>Content</div>
<button onClick={this.closeModal}>Close Modal</button>
</Modal>
</div>
);
}
}