1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-05-06 01:56:41 +07:00
vault-frontend/src/hooks/dom/useFocusEvent.ts
2022-01-04 17:36:05 +07:00

18 lines
466 B
TypeScript

import { useCallback, useState } from 'react';
export const useFocusEvent = (initialState = false, delay = 0) => {
const [focused, setFocused] = useState(initialState);
const onFocus = useCallback(
event => {
event.preventDefault();
event.stopPropagation();
setFocused(true);
},
[setFocused]
);
const onBlur = useCallback(() => setTimeout(() => setFocused(false), delay), [delay]);
return { focused, onBlur, onFocus };
};