If you need to make a component draggable and zoomable on scroll, this component is for you.
<DragAndZoom>
<span>I can be zoomed and dragged</span>
</DragAndZoom>
yarn add react-drag-and-zoom
# Or, if using npm
npm install --save react-drag-and-zoom
This value is used to control zooming velocity. Default is 0.7
.
Initial zoom percentage. Default is 100
.
Minimum zoom percentage that can be applied. Default is 0
.
Maximum zoom percentage that can be applied. Default is Number.MAX_SAFE_INTEGER
.
Called while scrolling for zoom with the zoom value as it's first argument and the Event as the second.
Called on mouse down with the Event as its only argument.
Called on drag start with the Event as its only argument.
Called while dragging with the Event as its only argument.
Called when dragging stops with the Event as its only argument.
bounds: oneOf([shape({ left: number, top: number, right: number, bottom: number }), selector: string, 'parent'])
Specifies movement boundaries. Accepted values:
parent
restricts movement within the node's offsetParent (nearest node with position relative or absolute).- A selector, restricts movement within the targeted node
- An object with
left, top, right, and bottom
properties. These indicate how far in each direction the draggable can be moved.
This software is lovingly maintained and funded by Citrusbyte. At Citrusbyte, we specialize in solving difficult computer science problems for startups and the enterprise.
At Citrusbyte we believe in and support open source software.
- Check out more of our open source software at Citrusbyte Labs.
- Learn more about our work.
- Hire us to work on your project.
- Want to join the team?
Citrusbyte and the Citrusbyte logo are trademarks or registered trademarks of Citrusbyte, LLC.
MIT © Citrusbyte, LLC