'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;