React pure modal is a simplest way to create dialog on your site.
- Very small (less than 4Kb)
- Mobile friendly
- Without dependencies
npm i -S react-pure-modal
import PureModal from 'react-pure-modal';
import 'react-pure-modal/dist/react-pure-modal.min.css';
<PureModal
header="Your header"
footer={<div><button>Cancel</button><button>Save</button></div>}
onClose={() => {
console.log('handle closing');
return true;
}}
isOpen
ref="modal"
>
<p>Your content</p>
</PureModal>
And open with
<button onClick={() => this.refs.modal.open() }>Open modal</button>
Replace all inner markup with Component children
Control modal state from parent component
You can disable scroll in modal body
You can drag a modal window
Handle modal closing. Should return true if you allow closing
ClassName for modal DOM element, can be used for set modal width or change behaviour on mobile devices
Width in pixels, em's, vw etc
Modal heading, doesn't disabled close button
Place here your actions
- fix bug in firefox and safari with modal position
- set width as atribute
- new default aligning to the screen center!
- prevent of modal closing if ESC pressed in editable element
- now with minified css!
- styles are more impressive now, good mobile support
- now scrollable can be false
- remove dependencies, rewrite open and close logic, fix linting
- new header logic and breaking classes changes
npm install
npm run webpack:dev -- --watch
npm run webpack:prod -- --watch
npm run test:dev
- Open
index.html
from examples