'use client'; import { forwardRef, HTMLAttributes } from 'react'; import styles from './cyber-slider.module.css'; export interface CyberSliderProps extends Omit, 'onChange'> { value: number; onChange: (value: number) => void; min?: number; max?: number; step?: number; variant?: 'cyan' | 'pink' | 'green' | 'purple'; showValue?: boolean; } export const CyberSlider = forwardRef( ({ value, onChange, min = 0, max = 100, step = 1, variant = 'cyan', showValue = false, className, ...props }, ref) => { const percentage = ((value - min) / (max - min)) * 100; return ( onChange(Number(e.target.value))} className={styles.input} /> {showValue && {value}} ); } ); CyberSlider.displayName = 'CyberSlider'; export default CyberSlider;