| 
                        12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | 
                        - import { memo } from 'react'
 - import cn from '@/utils/classnames'
 - 
 - type ProgressCircleProps = {
 -   className?: string
 -   percentage?: number
 -   size?: number
 -   circleStrokeWidth?: number
 -   circleStrokeColor?: string
 -   circleFillColor?: string
 -   sectorFillColor?: string
 - }
 - 
 - const ProgressCircle: React.FC<ProgressCircleProps> = ({
 -   className,
 -   percentage = 0,
 -   size = 12,
 -   circleStrokeWidth = 1,
 -   circleStrokeColor = 'stroke-components-progress-brand-border',
 -   circleFillColor = 'fill-components-progress-brand-bg',
 -   sectorFillColor = 'fill-components-progress-brand-progress',
 - }) => {
 -   const radius = size / 2
 -   const center = size / 2
 -   const angle = (percentage / 101) * 360
 -   const radians = (angle * Math.PI) / 180
 -   const x = center + radius * Math.cos(radians - Math.PI / 2)
 -   const y = center + radius * Math.sin(radians - Math.PI / 2)
 -   const largeArcFlag = percentage > 50 ? 1 : 0
 - 
 -   const pathData = `
 -     M ${center},${center}
 -     L ${center},${center - radius}
 -     A ${radius},${radius} 0 ${largeArcFlag} 1 ${x},${y}
 -     Z
 -   `
 - 
 -   return (
 -     <svg
 -       width={size + circleStrokeWidth}
 -       height={size + circleStrokeWidth}
 -       viewBox={`0 0 ${size + circleStrokeWidth} ${size + circleStrokeWidth}`}
 -       className={className}
 -     >
 -       <circle
 -         className={cn(
 -           circleFillColor,
 -           circleStrokeColor,
 -         )}
 -         cx={center + circleStrokeWidth / 2}
 -         cy={center + circleStrokeWidth / 2}
 -         r={radius}
 -         strokeWidth={circleStrokeWidth}
 -       />
 -       <path
 -         className={cn(sectorFillColor)}
 -         d={pathData}
 -         transform={`translate(${circleStrokeWidth / 2}, ${circleStrokeWidth / 2})`}
 -       />
 -     </svg>
 -   )
 - }
 - 
 - export default memo(ProgressCircle)
 
 
  |