import React from 'react'; import d3 from 'd3'; import {getMetricValue} from '../utils/data-utils.js'; const line = d3.svg.line() .interpolate('cardinal-closed') .tension(0.25); function getWidth(h) { return (Math.sqrt(3) / 2) * h; } function getPoints(h) { const w = getWidth(h); const points = [ [w * 0.5, 0], [w, 0.25 * h], [w, 0.75 * h], [w * 0.5, h], [0, 0.75 * h], [0, 0.25 * h] ]; return line(points); } export default function NodeShapeHex({highlighted, size, color, metric}) { const pathProps = v => ({ d: getPoints(size * v * 2), transform: `rotate(90) translate(-${size * getWidth(v)}, -${size * v})` }); const shadowSize = 0.45; const upperHexBitHeight = -0.25 * size * shadowSize; const clipId = `mask-${Math.random()}`; const {height, formattedValue} = getMetricValue(metric, size); return ( {highlighted && } {highlighted ? {formattedValue} : } ); }