UNPKG

2.06 kBJavaScriptView Raw
1import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
2import _classCallCheck from 'babel-runtime/helpers/classCallCheck';
3import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn';
4import _inherits from 'babel-runtime/helpers/inherits';
5import _extends from 'babel-runtime/helpers/extends';
6import React from 'react';
7import PropTypes from 'prop-types';
8
9import Dropdown from './Dropdown';
10import splitComponentProps from './utils/splitComponentProps';
11
12var propTypes = _extends({}, Dropdown.propTypes, {
13
14 // Toggle props.
15 bsStyle: PropTypes.string,
16 bsSize: PropTypes.string,
17 title: PropTypes.node.isRequired,
18 noCaret: PropTypes.bool,
19
20 // Override generated docs from <Dropdown>.
21 /**
22 * @private
23 */
24 children: PropTypes.node
25});
26
27var DropdownButton = function (_React$Component) {
28 _inherits(DropdownButton, _React$Component);
29
30 function DropdownButton() {
31 _classCallCheck(this, DropdownButton);
32
33 return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));
34 }
35
36 DropdownButton.prototype.render = function render() {
37 var _props = this.props,
38 bsSize = _props.bsSize,
39 bsStyle = _props.bsStyle,
40 title = _props.title,
41 children = _props.children,
42 props = _objectWithoutProperties(_props, ['bsSize', 'bsStyle', 'title', 'children']);
43
44 var _splitComponentProps = splitComponentProps(props, Dropdown.ControlledComponent),
45 dropdownProps = _splitComponentProps[0],
46 toggleProps = _splitComponentProps[1];
47
48 return React.createElement(
49 Dropdown,
50 _extends({}, dropdownProps, { bsSize: bsSize, bsStyle: bsStyle }),
51 React.createElement(
52 Dropdown.Toggle,
53 _extends({}, toggleProps, { bsSize: bsSize, bsStyle: bsStyle }),
54 title
55 ),
56 React.createElement(
57 Dropdown.Menu,
58 null,
59 children
60 )
61 );
62 };
63
64 return DropdownButton;
65}(React.Component);
66
67DropdownButton.propTypes = propTypes;
68
69export default DropdownButton;
\No newline at end of file