@wordpress/components
Version:
UI components for WordPress.
44 lines (38 loc) • 1.18 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@wordpress/element";
/**
* External dependencies
*/
import classnames from 'classnames';
import { uniqueId } from 'lodash';
/**
* 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';
export default function NavigationItemBase(props) {
var _navigationTree$getIt;
const {
children,
className,
...restProps
} = props;
const [itemId] = useState(uniqueId('item-'));
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