import { useRef } from 'react' import { useWordAutocomplete } from './useWordAutocomplete' import { WordSuggestions } from './WordSuggestions' export interface WordInputWithAutocompleteProps { index: number value: string onChange: (value: string) => void onFocus: () => void onBlur: () => void } export function WordInputWithAutocomplete(params: WordInputWithAutocompleteProps): React.ReactElement { const inputRef = useRef(null) const autocomplete = useWordAutocomplete({ value: params.value, onChange: params.onChange, inputRef }) return (
hideSuggestionsOnBlur({ onBlur: params.onBlur, setShowSuggestions: autocomplete.setShowSuggestions })} className="w-full px-3 py-2 border border-gray-300 rounded-lg font-mono text-lg text-center" autoComplete="off" autoCapitalize="off" autoCorrect="off" spellCheck="false" />
) } function hideSuggestionsOnBlur(params: { onBlur: () => void; setShowSuggestions: (value: boolean) => void }): void { setTimeout(() => { params.setShowSuggestions(false) params.onBlur() }, 200) }