UNPKG

3.23 kBJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4
5var _extends2 = require('babel-runtime/helpers/extends');
6
7var _extends3 = _interopRequireDefault(_extends2);
8
9var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
10
11var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
12
13var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
14
15var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
16
17var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
18
19var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
20
21var _inherits2 = require('babel-runtime/helpers/inherits');
22
23var _inherits3 = _interopRequireDefault(_inherits2);
24
25var _class, _temp;
26
27var _react = require('react');
28
29var _react2 = _interopRequireDefault(_react);
30
31var _propTypes = require('prop-types');
32
33var _propTypes2 = _interopRequireDefault(_propTypes);
34
35var _classnames = require('classnames');
36
37var _classnames2 = _interopRequireDefault(_classnames);
38
39var _menu = require('../menu');
40
41var _menu2 = _interopRequireDefault(_menu);
42
43function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
44
45/**
46 * Nav.Group
47 * @description 继承自 `Menu.Group` 的能力请查看 `Menu.Group` 文档
48 */
49var Group = (_temp = _class = function (_Component) {
50 (0, _inherits3.default)(Group, _Component);
51
52 function Group() {
53 (0, _classCallCheck3.default)(this, Group);
54 return (0, _possibleConstructorReturn3.default)(this, _Component.apply(this, arguments));
55 }
56
57 Group.prototype.render = function render() {
58 var _classNames;
59
60 var _context = this.context,
61 prefix = _context.prefix,
62 iconOnly = _context.iconOnly;
63 var _props = this.props,
64 className = _props.className,
65 children = _props.children,
66 label = _props.label,
67 others = (0, _objectWithoutProperties3.default)(_props, ['className', 'children', 'label']);
68
69
70 var newLabel = label;
71 if (iconOnly) {
72 // TODO: add a group icon ?
73 newLabel = [_react2.default.createElement(
74 'span',
75 { key: 'label' },
76 label
77 )];
78 }
79
80 var cls = (0, _classnames2.default)((_classNames = {}, _classNames[prefix + 'nav-group-label'] = true, _classNames[className] = !!className, _classNames));
81
82 return _react2.default.createElement(
83 _menu2.default.Group,
84 (0, _extends3.default)({ className: cls, label: newLabel }, others),
85 children
86 );
87 };
88
89 return Group;
90}(_react.Component), _class.menuChildType = 'group', _class.propTypes = {
91 /**
92 * 自定义类名
93 */
94 className: _propTypes2.default.string,
95 /**
96 * 标签内容
97 */
98 label: _propTypes2.default.node,
99 /**
100 * 导航项和子导航
101 */
102 children: _propTypes2.default.node
103}, _class.contextTypes = {
104 prefix: _propTypes2.default.string,
105 iconOnly: _propTypes2.default.bool
106}, _temp);
107Group.displayName = 'Group';
108exports.default = Group;
109module.exports = exports['default'];
\No newline at end of file