0.3.0 • Published 9 years ago

react-triangle v0.3.0

Weekly downloads
15
License
MIT
Repository
github
Last release
9 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

9 years ago

0.2.4

9 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago