UNPKG

@wordpress/components

Version:
47 lines (41 loc) 1.28 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * External dependencies */ import classnames from 'classnames'; /** * WordPress dependencies */ import { useState } from '@wordpress/element'; /** * Internal dependencies */ import { useNavigationContext } from '../context'; import { useNavigationTreeItem } from './use-navigation-tree-item'; import { ItemBaseUI } from '../styles/navigation-styles'; let uniqueId = 0; export default function NavigationItemBase(props) { var _navigationTree$getIt; // Also avoid to pass the `title` and `href` props to the ItemBaseUI styled component. const { children, className, title, href, ...restProps } = props; const [itemId] = useState(`item-${++uniqueId}`); useNavigationTreeItem(itemId, props); const { navigationTree } = useNavigationContext(); if (!((_navigationTree$getIt = navigationTree.getItem(itemId)) !== null && _navigationTree$getIt !== void 0 && _navigationTree$getIt._isVisible)) { return null; } const classes = classnames('components-navigation__item', className); return createElement(ItemBaseUI, _extends({ className: classes }, restProps), children); } //# sourceMappingURL=base.js.map