Sha256: adaf69d1e57b4a54ea3ded9dca17ed752833b707c0a658e7082c6b08d7c39b16
Contents?: true
Size: 953 Bytes
Versions: 5
Compression:
Stored size: 953 Bytes
Contents
import { forwardRef, useEffect, useImperativeHandle, useRef, InputHTMLAttributes } from 'react'; export default forwardRef(function TextInput( { type = 'text', className = '', isFocused = false, ...props }: InputHTMLAttributes<HTMLInputElement> & { isFocused?: boolean }, ref ) { const localRef = useRef<HTMLInputElement>(null); useImperativeHandle(ref, () => ({ focus: () => localRef.current?.focus(), })); useEffect(() => { if (isFocused) { localRef.current?.focus(); } }, []); return ( <input {...props} type={type} className={ 'border-gray-300 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 focus:border-indigo-500 dark:focus:border-indigo-600 focus:ring-indigo-500 dark:focus:ring-indigo-600 rounded-md shadow-sm ' + className } ref={localRef} /> ); });
Version data entries
5 entries across 5 versions & 1 rubygems