UNPKG

1.86 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3var _excluded = ["className", "title", "eventKey", "children"],
4 _excluded2 = ["children"];
5import * as React from 'react';
6import classNames from 'classnames';
7import omit from "rc-util/es/omit";
8import { parseChildren } from './utils/nodeUtil';
9import { MenuContext } from './context/MenuContext';
10import { useFullPath, useMeasure } from './context/PathContext';
11
12var InternalMenuItemGroup = function InternalMenuItemGroup(_ref) {
13 var className = _ref.className,
14 title = _ref.title,
15 eventKey = _ref.eventKey,
16 children = _ref.children,
17 restProps = _objectWithoutProperties(_ref, _excluded);
18
19 var _React$useContext = React.useContext(MenuContext),
20 prefixCls = _React$useContext.prefixCls;
21
22 var groupPrefixCls = "".concat(prefixCls, "-item-group");
23 return /*#__PURE__*/React.createElement("li", _extends({}, restProps, {
24 onClick: function onClick(e) {
25 return e.stopPropagation();
26 },
27 className: classNames(groupPrefixCls, className)
28 }), /*#__PURE__*/React.createElement("div", {
29 className: "".concat(groupPrefixCls, "-title"),
30 title: typeof title === 'string' ? title : undefined
31 }, title), /*#__PURE__*/React.createElement("ul", {
32 className: "".concat(groupPrefixCls, "-list")
33 }, children));
34};
35
36export default function MenuItemGroup(_ref2) {
37 var children = _ref2.children,
38 props = _objectWithoutProperties(_ref2, _excluded2);
39
40 var connectedKeyPath = useFullPath(props.eventKey);
41 var childList = parseChildren(children, connectedKeyPath);
42 var measure = useMeasure();
43
44 if (measure) {
45 return childList;
46 }
47
48 return /*#__PURE__*/React.createElement(InternalMenuItemGroup, omit(props, ['warnKey']), childList);
49}
\No newline at end of file