UNPKG

@atlaskit/dropdown-menu

Version:

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

26 lines (25 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _platformFeatureFlags = require("@atlaskit/platform-feature-flags"); var _focusManager = require("../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() { var hasPopup = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; var _useContext = (0, _react.useContext)(_focusManager.FocusManagerContext), registerRef = _useContext.registerRef; var itemRef = (0, _react.useRef)(null); (0, _react.useEffect)(function () { if (hasPopup && (0, _platformFeatureFlags.fg)('select-avoid-duplicated-registered-ref')) { return; } registerRef(itemRef); }, [registerRef, hasPopup]); return itemRef; } var _default = exports.default = useRegisterItemWithFocusManager;