'use client'; import { forwardRef, HTMLAttributes, useId } from 'react'; export interface ScanlinesOverlayProps extends HTMLAttributes { /** Opacity of the scanlines */ opacity?: number; /** Line thickness in pixels */ lineThickness?: number; /** Scanline color */ color?: string; /** Animate the scanlines */ animated?: boolean; /** Animation speed */ speed?: 'slow' | 'normal' | 'fast'; /** Flicker effect on scanlines */ flicker?: boolean; /** Curvature effect (CRT) */ curvature?: boolean; /** Blend mode */ blendMode?: string; /** Position type */ position?: 'fixed' | 'absolute'; } export const ScanlinesOverlay = forwardRef( ( { opacity = 0.1, lineThickness = 2, color = 'rgba(0, 0, 0, 0.5)', animated = false, speed = 'normal', flicker = false, curvature = false, blendMode = 'overlay', position = 'fixed', className = '', style, ...props }, ref ) => { const id = useId(); const speedDuration = speed === 'slow' ? 12 : speed === 'fast' ? 4 : 8; return ( <>
{curvature && ( <>
)}
); } ); ScanlinesOverlay.displayName = 'ScanlinesOverlay'; export default ScanlinesOverlay;