0.3.0 • Published 7 years ago

react-triangle v0.3.0

Weekly downloads
15
License
MIT
Repository
github
Last release
7 years ago

react-triangle Build Status

draw svg triangle grid with react

img/screen.png

Install

$ npm install react-triangle

Example

import React from 'react';
import ReactDom from 'react-dom';
import Triangle, { gridPoints } from 'react-triangle';

const Triangles = () => {
  const triangles = gridPoints('up', 0, 0, 50, 10, 5).map(props => (
    <Triangle key={`${props.x}-${props.y}`} {...props} stroke="white"/>
  ));

  return (
    <svg width="500" height="500">
      {triangles}
    </svg>
  );
};

ReactDom.render(<Triangles />, document.getElementById('example'));

img/usagetriangles.png

More examples, see Storybook.

Documents

<Triangle direction={} x={} y={} size={}/> (default exported)

Main React component of triangle.

namePropTypesdescription
directionPropTypes.oneOf('up', 'down', 'left', 'right').isRequiredtriangle direction
xPropTypes.number.isRequiredcenter coordinate x
yPropTypes.number.isRequiredcenter coordinate y
sizePropTypes.number.isRequiredtriangle edge length
import Triangle from 'react-triangle';

<Triangle direction="up" x={0} y={0} size={50} />

gridPoint(oDirection, oX, oY, size, gridX, gridY)

return: { props: { direction, x, y, size }, gridX, gridY }

Helper function to calculate triangle location in grid. props field in returning object of this function can use for props of Triangle component.

(prefix o means original.)

namevalue typedescription
oDirection'up' or 'down' or 'left' or 'right'original triangle direction
oXnumberoriginal triangle's center coordinate x
oYnumberoriginal triangle's center coordinate y
sizenumbertriangle edge length
gridXintegercoordinate x in hexagonal grid system
gridYintegercoordinate y in hexagonal grid system
import Triangle, { gridPoint } from 'react-triangle';

const { props } = gridPoint('up', 0, 0, 50, 3, 4);
<Triangle {...props}/>

gridPoints(oDirection, oX, oY, size, gridWidth, gridHeight)

return: [ { props: { direction, x, y, size }, gridX, gridY }, ... ]

Helper function to bulk calculate triangles location of grid.

(prefix o means original.)

namevalue typedescription
oDirection'up' or 'down' or 'left' or 'right'original triangle direction
oXnumberoriginal triangle's center coordinate x
oYnumberoriginal triangle's center coordinate y
sizenumbertriangle edge length
gridWidthintegergrid size of x
gridHeightintegergrid size of y
import Triangle, { gridPoints } from 'react-triangle';

const triangles = gridPoints('up', 0, 0, 50, 5, 10).map(({ props, gridX, gridY }) => (
  <Triangle key={`${gridX}-${gridY}`} {...props}/>
));
0.3.0

7 years ago

0.2.4

7 years ago

0.2.3

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago