'use client'; import { forwardRef, HTMLAttributes } from 'react'; import styles from './neon-progress.module.css'; export interface NeonProgressProps extends HTMLAttributes { /** Current progress value */ value: number; /** Maximum value */ max?: number; /** Neon color variant */ variant?: 'cyan' | 'pink' | 'green' | 'purple' | 'rainbow'; /** Bar size */ size?: 'sm' | 'md' | 'lg'; /** Shimmer animation */ animated?: boolean; /** Show percentage value */ showValue?: boolean; } export const NeonProgress = forwardRef( ( { value, max = 100, variant = 'cyan', size = 'md', animated = true, showValue = false, className, ...props }, ref ) => { const percentage = Math.min((value / max) * 100, 100); return (
{showValue && ( {Math.round(percentage)}% )}
); } ); NeonProgress.displayName = 'NeonProgress'; export default NeonProgress;