Resizable draggable modal based on React hooks.
npm i react-resizable-draggable-modalimport ResizableDraggableModal from 'react-resizable-draggable-modal'
import 'react-resizable-draggable-modal/build/style.css'
<ResizableDraggableModal
title='My Modal'
visible={modalIsOpen}
onClose={closeModal}
onOk={closeModal}
>
<div className='body'>
<p>This is the modal body.</p>
</div>
</ResizableDraggableModal>| Property | Description | Type | Default |
|---|---|---|---|
| left | Init left of the Modal | number |
|
| top | Init top of the Modal | number |
|
| initWidth | init Width of the Modal | number |
600 |
| initHeight | init Height of the Modal | number |
400 |
| minWidth | Minimum width when dragging | number |
300 |
| minHeight | Minimum height when dragging | number |
200 |
| resetRectOnOpen | When opening the modal, whether to reset rect(position and size) | boolean |
|
| draggable | Is it draggable | boolean |
true |
| resizable | Is it resizable | boolean |
true |
| verticalResizable | Is it resizable in the vertical direction? | boolean |
true |
| horizontalResizable | Is it resizable in the horizontal direction? | boolean |
true |
| overflowBoundary | Behavior beyond the parent container's boundaries | auto or hidden |
auto |
| mask | Whether show mask or not | boolean |
true |
| maskClosable | Whether to close the Modal when the mask (area outside the modal) is clicked | boolean |
|
| visible | Is the modal open? | boolean |
|
| getPopupContainer | To set the container of the Modal. The default is to create a div element in body, but you can reset it to the scrolling area and make a relative reposition. | function |
() => document.body |
| className | The class name of the modal | string |
|
| title | The title of the modal | string |
title |
| onDrag | Dragging the Modal is triggered | function |
|
| onResize | Dragging the Modal is triggered | function |
|
| footer | Footer content, set as footer={null} when you don't need default buttons | ReactNode |
|
| onClose | Click the cancel button on the left side of the footer | function |
|
| onOk | Click the ok button on the right side of the footer | function |