2.2.5 • Published 10 months ago

react-pure-modal v2.2.5

Weekly downloads
177
License
ISC
Repository
github
Last release
10 months ago

react-pure-modal npm package Build Status

NPM

React pure modal is a simplest way to create dialog on your site.

  • Very small (less than 4Kb)
  • Mobile friendly
  • Without dependencies

Demo

https://memcrab.github.io/react-pure-modal/

Installation

npm i -S react-pure-modal

Usage

import PureModal from 'react-pure-modal';
import 'react-pure-modal/dist/react-pure-modal.min.css';

const [modal, setModal] = useState(false);

<PureModal
  header="Your header"
  footer={
    <div>
      <button>Cancel</button>
      <button>Save</button>
    </div>
  }
  isOpen={modal}
  closeButton="close"
  closeButtonPosition="bottom"
  onClose={() => {
    setModal(false);
    return true;
  }}
>
  <p>Your content</p>
</PureModal>;

And open with

<button className="button" onClick={() => setModal(true)}>Open simple modal</button>

Options

replace boolean (default: false)

Replace all inner markup with Component children

isOpen: boolean

Control modal state from parent component

scrollable: boolean (default: true)

You can disable scroll in modal body

draggable: boolean (default: false)

You can drag a modal window

onClose: Function

Handle modal closing. Should return true if you allow closing

className: string

ClassName for modal DOM element, can be used for set modal width or change behaviour on mobile devices

width: string (example '200px')

Width in pixels, em's, vw etc

header: JSX.Element | string

Modal heading, doesn't disabled close button

footer: JSX.Element | string

Place here your actions

closeButton: (JSX.Element | string)

Content of your closing button

closeButtonPosition: string

Place closing button under your modal or inside header. Allowed options: 'header' | 'bottom'

portal: boolean (default: false)

Creates React.Portal

Changelog (latest on top)

  • Drag and drop
  • 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

Developing

  • npm install
  • npm run webpack:dev -- --watch
  • npm run webpack:prod -- --watch
  • npm run test:dev
  • Open index.html from examples
2.2.1

11 months ago

2.2.3

11 months ago

2.2.5

10 months ago

2.2.4

10 months ago

2.2.0

2 years ago

2.1.1

2 years ago

2.1.0

3 years ago

2.0.19

3 years ago

2.0.18

3 years ago

2.0.17

3 years ago

2.0.16

3 years ago

2.0.15

3 years ago

2.0.14

3 years ago

2.0.12

3 years ago

2.0.11

3 years ago

2.0.10

4 years ago

2.0.9

4 years ago

2.0.8

4 years ago

2.0.5

4 years ago

2.0.3

4 years ago

1.5.1

6 years ago

1.5.0

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

7 years ago

1.0.18

7 years ago

1.0.17

7 years ago

1.0.16

7 years ago

1.0.15

7 years ago

1.0.14

7 years ago

1.0.13

7 years ago

1.0.10

7 years ago

1.0.5

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago

0.0.16

8 years ago

0.0.15

8 years ago

0.0.13

8 years ago

0.0.12

8 years ago

0.0.11

8 years ago

0.0.10

8 years ago

0.0.9

8 years ago

0.0.8

8 years ago

0.0.7

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago