react-speedometer
Version:
Cool speedometer for React
10 lines (9 loc) • 658 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useContext, useMemo } from 'react';
import Context from './context';
import { getCirclePath } from './utils';
export default function Arc({ color = 'black', opacity = 0.3, arcWidth = 4, lineCap, ...rest }) {
const { radius, lineCap: globalLineCap, angle, } = useContext(Context);
const secondaryPath = useMemo(() => getCirclePath(radius, radius, radius - arcWidth / 2, 0, angle), [radius, arcWidth, angle]);
return (_jsx("path", { d: secondaryPath, stroke: color, strokeOpacity: opacity, strokeWidth: arcWidth, strokeLinecap: lineCap || globalLineCap, fill: 'transparent', ...rest }));
}