import { type FC, type PropsWithChildren } from 'react'; import '../styles/components/doughnut-chart.scss'; type Props = { /** * The bubble size (default is medium) */ size?: 'small' | 'medium' | 'large'; /** * The chart colour */ colorClass?: string; /** * The background chart colour */ bgColorClass?: string; /** * The ratio to be displayed in percent. */ percent?: number; }; const DoughnutChart: FC> = ({ size = 'medium', percent = 0, bgColorClass = 'colour-platinum', colorClass = 'colour-sea-blue', children, }) => { let leftTransformerDegree; let rightTransformerDegree; if (percent >= 50) { rightTransformerDegree = '180deg'; leftTransformerDegree = `${(percent - 50) * 3.6}deg`; } else { rightTransformerDegree = `${percent * 3.6}deg`; leftTransformerDegree = '0deg'; } return ( {children || {`${percent}%`}} ); }; export default DoughnutChart;