typescript-react-draggable
A library that provides Draggable and Zoomable React components written in TypeScript:
- Draggable: adds drag behavior to its child component given that the child component is an HTMLElement with arbitrary content.
- SVGDraggable: adds drag behavior to its child component given that the given component is an SVG component.
- Zoomable: adds zoom behavior to HTML components.
- SVGZoomable: adds zoom behavior to SVG components.
Dependences
D3: this library uses d3.behavior.drag, and d3.behavior.zoom to add the behavior to react components.
Example
;; ; ReactDOM; ;; ; ReactDOM; //Zoomable ;; ; ReactDOM; ;; ; ReactDOM;
Notes
Both Draggable and SVGDraggable do not add extra HTML/SVG elements to the DOM, but rather apply the drag behavior to the wrapped child element.
Future work
- Allow Draggable component to accept multiple top-level children such that all children receive the behavior.
Suhail Abood © 2016