1.0.10 • Published 4 years ago

react-svg-arrows v1.0.10

Weekly downloads
4
License
MIT
Repository
-
Last release
4 years ago

react-svg-arrows

Draw svg arrows between DOM elements in React. You can find the original project react-archer!

Installation

npm install react-svg-arrows --save or yarn add react-svg-arrows

Example

import { ArrowContainer, ArrowElement } 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>

      <ArrowContainer strokeColor='red' >
        <div style={rootStyle}>
          <ArrowElement
            id="root"
            relations={[{
              targetId: 'element2',
              targetAnchor: 'top',
              sourceAnchor: 'bottom',
            }]}
          >
            <div style={boxStyle}>Root</div>
          </ArrowElement>
        </div>

        <div style={rowStyle}>
          <ArrowElement
            id="element2"
            relations={[{
              targetId: 'element3',
              targetAnchor: 'left',
              sourceAnchor: 'right',
              style: { strokeColor: 'blue', strokeWidth: 1 },
              label: <div style={{ marginTop: '-20px' }}>Arrow 2</div>,
            }]}
          >
            <div style={boxStyle}>Element 2</div>
          </ArrowElement>

          <ArrowElement id="element3">
            <div style={boxStyle}>Element 3</div>
          </ArrowElement>

          <ArrowElement
            id="element4"
            relations={[{
              targetId: 'root',
              targetAnchor: 'right',
              sourceAnchor: 'left',
              label: 'Arrow 3',
            }]}
          >
            <div style={boxStyle}>Element 4</div>
          </ArrowElement>
        </div>
      </ArrowContainer>

    </div>
  );
}

export default App;

API

ArrowContainer

NameTypeDescription
strokeColorstringA color string '#ff0000'
strokeWidthnumberA size in px
arrowLengthnumberA size in px
arrowThicknessnumberA size in px
childrenReact.Node

ArrowElement

NameTypeDescription
idstringThe id that will identify the Archer Element. Should only contain alphanumeric characters and standard characters that you can find in HTML ids.
childrenReact.Node
relationsArray<Relation>

The Relation type has the following shape:

{
  targetId: string,
  targetAnchor: 'top' | 'bottom' | 'left' | 'right',
  sourceAnchor: 'top' | 'bottom' | 'left' | 'right',
  label: React.Node,
  style: Style,
}

The Style type has the following shape:

{
  strokeColor: string,
  strokeWidth: number,
  arrowLength: number,
  arrowThickness: number
}
1.0.10

4 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

0.0.6

5 years ago

0.0.5

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago

1.1.0

5 years ago