UNPKG

@atlaskit/dropdown-menu

Version:

A dropdown menu displays a list of actions or options to a user.

20 lines 742 B
import { useContext, useEffect, useRef } from 'react'; import { fg } from '@atlaskit/platform-feature-flags'; import { FocusManagerContext } from '../components/focus-manager'; // This function is called whenever a MenuItem mounts. // The refs stored in the context are used to programmatically // control focus on a user navigates using the keyboard. function useRegisterItemWithFocusManager(hasPopup = false) { const { registerRef } = useContext(FocusManagerContext); const itemRef = useRef(null); useEffect(() => { if (hasPopup && fg('select-avoid-duplicated-registered-ref')) { return; } registerRef(itemRef); }, [registerRef, hasPopup]); return itemRef; } export default useRegisterItemWithFocusManager;