import { useEffect, useRef } from 'react'; import type { InputRef } from '../Input'; export default function useRemovePasswordTimeout( inputRef: React.RefObject, triggerOnMount?: boolean, ) { const removePasswordTimeoutRef = useRef([]); const removePasswordTimeout = () => { removePasswordTimeoutRef.current.push( setTimeout(() => { if ( inputRef.current?.input && inputRef.current?.input.getAttribute('type') === 'password' && inputRef.current?.input.hasAttribute('value') ) { inputRef.current?.input.removeAttribute('value'); } }), ); }; useEffect(() => { if (triggerOnMount) { removePasswordTimeout(); } return () => removePasswordTimeoutRef.current.forEach(timer => { if (timer) { clearTimeout(timer); } }); }, []); return removePasswordTimeout; }