react-archer
🏹 Draw arrows between DOM elements in React 🖋
Installation
npm install react-archer --save
or yarn add react-archer
Example
import ArcherContainer ArcherElement from 'react-archer'; const rootStyle = display: 'flex' justifyContent: 'center' ;const rowStyle = margin: '200px 0' display: 'flex' justifyContent: 'space-between' const boxStyle = padding: '10px' border: '1px solid black' ; const App = return <div> <ArcherContainer ='red' > <div => <ArcherElement ="root" = > <div =>Root</div> </ArcherElement> </div> <div => <ArcherElement ="element2" = > <div =>Element 2</div> </ArcherElement> <ArcherElement ="element3"> <div =>Element 3</div> </ArcherElement> <ArcherElement ="element4" = > <div =>Element 4</div> </ArcherElement> </div> </ArcherContainer> </div> ; ;
API
ArcherContainer
Name | Type | Description |
---|---|---|
strokeColor |
string |
A color string '#ff0000' |
strokeWidth |
number |
A size in px |
arrowLength |
number |
A size in px |
arrowThickness |
number |
A size in px |
children |
React.Node |
ArcherElement
Name | Type | Description |
---|---|---|
id |
string |
The id that will identify the Archer Element. Should only contain alphanumeric characters and standard characters that you can find in HTML ids. |
strokeColor |
string |
A color string '#ff0000' |
strokeWidth |
number |
A size in px |
arrowLength |
number |
A size in px |
arrowThickness |
number |
A size in px |
children |
React.Node |
|
relations |
Array<Relation> |
The Relation
type has the following shape:
from: anchor: 'top' | 'bottom' | 'left' | 'right' to: anchor: 'top' | 'bottom' | 'left' | 'right' id: string label: ReactNode
TODO
- Automatic anchoring option
- Options to customize the path shape more (straight line, right angle line, smoothed right angle path)
- Add a Code Sandbox