'use client';
import { forwardRef, InputHTMLAttributes } from 'react';
import styles from './cyber-input.module.css';
export interface CyberInputProps extends InputHTMLAttributes {
/** Neon color variant */
variant?: 'cyan' | 'pink' | 'green' | 'purple';
/** Label above input */
label?: string;
/** Error message */
error?: string;
}
export const CyberInput = forwardRef(
(
{
variant = 'cyan',
label,
error,
className,
...props
},
ref
) => {
const wrapperClasses = [
styles.wrapper,
styles[variant],
error && styles.hasError,
className,
].filter(Boolean).join(' ');
return (
{label &&
}
{error &&
{error}}
);
}
);
CyberInput.displayName = 'CyberInput';
export default CyberInput;