react-resizable-modal
v0.0.0
Published
React Modal Component with Resizable and Draggable
Downloads
6
Readme
react-rnd-modal
Installation
React 16.8+
npm i react-resizeable-modal
Usage
import React, { useState } from 'react'
import Modal from 'react-resizeable-modal'
// include styles
import 'react-resizeable-modal/style/index.css'
function App() {
const [visible, setVisible] = useState<boolean>(false)
return (
<div>
<button onClick={() => setVisible(true)}>show</button>
<Modal visible={visible} onClose={() => setVisible(false)}>
<div>Content</div>
</Modal>
</div>
)
}
Props
| Property | Type | Default | Description | | ---------------- | -------- | ------- | ---------------------------------------------------- | | width | number | - | width of panel | | height | number | - | height of panel | | measure | string | px | measure of width and height | | onClose | function | / | handler called onClose of modal | | onAnimationEnd | function | / | handler called onEnd of animation | | visible | bool | false | whether to show panel | | 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 for the container | | customMaskStyles | object | / | custom mask styles for mask layer |
Animation Types
- zoom
- fade
- flip
- door
- rotate
- slideUp
- slideDown
- slideLeft
- slideRight