UNPKG

@wordpress/components

Version:
52 lines (49 loc) 1.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useNavigationTreeItem = void 0; var _element = require("@wordpress/element"); var _context = require("../context"); var _context2 = require("../group/context"); var _context3 = require("../menu/context"); var _utils = require("../utils"); /** * WordPress dependencies */ /** * Internal dependencies */ const useNavigationTreeItem = (itemId, props) => { const { activeMenu, navigationTree: { addItem, removeItem } } = (0, _context.useNavigationContext)(); const { group } = (0, _context2.useNavigationGroupContext)(); const { menu, search } = (0, _context3.useNavigationMenuContext)(); (0, _element.useEffect)(() => { const isMenuActive = activeMenu === menu; const isItemVisible = !search || props.title !== undefined && (0, _utils.normalizedSearch)(props.title, search); addItem(itemId, { ...props, group, menu, _isVisible: isMenuActive && isItemVisible }); return () => { removeItem(itemId); }; // Not adding deps for now, as it would require either a larger refactor. // See https://github.com/WordPress/gutenberg/pull/41639 }, [activeMenu, search]); }; exports.useNavigationTreeItem = useNavigationTreeItem; //# sourceMappingURL=use-navigation-tree-item.js.map