1 | import _extends from "@babel/runtime-corejs2/helpers/esm/extends";
|
2 | import _objectWithoutPropertiesLoose from "@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose";
|
3 | import _inheritsLoose from "@babel/runtime-corejs2/helpers/esm/inheritsLoose";
|
4 | import React from 'react';
|
5 | import PropTypes from 'prop-types';
|
6 | import classNames from 'classnames';
|
7 | import Button from './Button';
|
8 | import SafeAnchor from './SafeAnchor';
|
9 | import { bsClass as setBsClass } from './utils/bootstrapUtils';
|
10 | var propTypes = {
|
11 | noCaret: PropTypes.bool,
|
12 | open: PropTypes.bool,
|
13 | title: PropTypes.string,
|
14 | useAnchor: PropTypes.bool
|
15 | };
|
16 | var defaultProps = {
|
17 | open: false,
|
18 | useAnchor: false,
|
19 | bsRole: 'toggle'
|
20 | };
|
21 |
|
22 | var DropdownToggle =
|
23 |
|
24 | function (_React$Component) {
|
25 | _inheritsLoose(DropdownToggle, _React$Component);
|
26 |
|
27 | function DropdownToggle() {
|
28 | return _React$Component.apply(this, arguments) || this;
|
29 | }
|
30 |
|
31 | var _proto = DropdownToggle.prototype;
|
32 |
|
33 | _proto.render = function render() {
|
34 | var _this$props = this.props,
|
35 | noCaret = _this$props.noCaret,
|
36 | open = _this$props.open,
|
37 | useAnchor = _this$props.useAnchor,
|
38 | bsClass = _this$props.bsClass,
|
39 | className = _this$props.className,
|
40 | children = _this$props.children,
|
41 | props = _objectWithoutPropertiesLoose(_this$props, ["noCaret", "open", "useAnchor", "bsClass", "className", "children"]);
|
42 |
|
43 | delete props.bsRole;
|
44 | var Component = useAnchor ? SafeAnchor : Button;
|
45 | var useCaret = !noCaret;
|
46 |
|
47 |
|
48 |
|
49 | return React.createElement(Component, _extends({}, props, {
|
50 | role: "button",
|
51 | className: classNames(className, bsClass),
|
52 | "aria-haspopup": true,
|
53 | "aria-expanded": open
|
54 | }), children || props.title, useCaret && ' ', useCaret && React.createElement("span", {
|
55 | className: "caret"
|
56 | }));
|
57 | };
|
58 |
|
59 | return DropdownToggle;
|
60 | }(React.Component);
|
61 |
|
62 | DropdownToggle.propTypes = propTypes;
|
63 | DropdownToggle.defaultProps = defaultProps;
|
64 | export default setBsClass('dropdown-toggle', DropdownToggle); |
\ | No newline at end of file |