Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import { forwardRef, useEffect, useImperativeHandle, useRef } from 'react'; export default forwardRef(function TextInput( { type = 'text', className = '', isFocused = false, ...props }, ref, ) { const localRef = useRef(null); useImperativeHandle(ref, () => ({ focus: () => localRef.current?.focus(), })); useEffect(() => { if (isFocused) { localRef.current?.focus(); } }, [isFocused]); return ( <input {...props} type={type} className={ 'rounded-md border-gray-300 shadow-sm focus:border-indigo-500 focus:ring-indigo-500 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-300 dark:focus:border-indigo-600 dark:focus:ring-indigo-600 ' + className } ref={localRef} /> ); }); |