You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
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={ 'px-2 flex-grow w-full h-[30px] bg-primary-background border border-primary-hover focus:outline-none focus:bg-neutral-10 focus:border-2 focus:border-primary-hover ' + className } ref={localRef} /> ); });
|