Sha256: 70e31b7a8880c6d9fdbf8c22fae8a1d729afab9be816490269016cc7e2ffb88d
Contents?: true
Size: 851 Bytes
Versions: 9
Compression:
Stored size: 851 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
9 entries across 9 versions & 1 rubygems