'use client'; import { forwardRef, ButtonHTMLAttributes } from 'react'; import styles from './neon-glow.module.css'; export interface NeonGlowProps extends ButtonHTMLAttributes { children: React.ReactNode; /** Neon glow color (default: '#00ffff') */ color?: string; /** Glow blur radius in pixels (default: 20) */ glowSize?: number; /** Pulse animation duration in seconds (default: 2) */ pulseSpeed?: number; /** Add realistic neon flicker effect (default: false) */ flicker?: boolean; } export const NeonGlow = forwardRef( ( { children, color = '#00ffff', glowSize = 20, pulseSpeed = 2, flicker = false, className, style, ...props }, ref ) => { const customStyle: React.CSSProperties = { '--neon-color': color, '--glow-size': `${glowSize}px`, '--pulse-speed': `${pulseSpeed}s`, ...style, } as React.CSSProperties; const classes = [ styles.button, flicker && styles.flicker, className, ].filter(Boolean).join(' '); return ( ); } ); NeonGlow.displayName = 'NeonGlow'; export default NeonGlow;