import { Input, InputProps } from '@/components/ui/input'; import { ChangeEvent, forwardRef, useCallback } from 'react'; type KeyInputProps = { value?: string; onChange?: (value: string) => void; searchValue?: string | RegExp; } & Omit; export const KeyInput = forwardRef( function KeyInput( { value, onChange, searchValue = /[^a-zA-Z0-9_]/g, ...props }, ref, ) { const handleChange = useCallback( (e: ChangeEvent) => { const value = e.target.value ?? ''; const filteredValue = value.replace(searchValue, ''); onChange?.(filteredValue); }, [onChange, searchValue], ); return ; }, );