react-bootstrap
Version:
Bootstrap 4 components built with React
86 lines (59 loc) • 2.87 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
var _classnames = _interopRequireDefault(require("classnames"));
var _reactDom = require("react-dom");
var _isRequiredForA11y = _interopRequireDefault(require("prop-types-extra/lib/isRequiredForA11y"));
var _DropdownToggle = _interopRequireDefault(require("react-overlays/DropdownToggle"));
var _react = _interopRequireDefault(require("react"));
var _Button = _interopRequireDefault(require("./Button"));
var _ThemeProvider = require("./ThemeProvider");
var wrapRef = function wrapRef(props) {
var ref = props.ref;
props.ref = ref.__wrapped || (ref.__wrapped = function (r) {
return ref((0, _reactDom.findDOMNode)(r));
});
return props;
};
var DropdownToggle =
/*#__PURE__*/
function (_React$Component) {
(0, _inheritsLoose2.default)(DropdownToggle, _React$Component);
function DropdownToggle() {
return _React$Component.apply(this, arguments) || this;
}
var _proto = DropdownToggle.prototype;
_proto.render = function render() {
var _this$props = this.props,
bsPrefix = _this$props.bsPrefix,
split = _this$props.split,
className = _this$props.className,
children = _this$props.children,
childBsPrefix = _this$props.childBsPrefix,
Component = _this$props.as,
props = (0, _objectWithoutPropertiesLoose2.default)(_this$props, ["bsPrefix", "split", "className", "children", "childBsPrefix", "as"]);
if (childBsPrefix !== undefined) {
props.bsPrefix = childBsPrefix;
} // This intentionally forwards size and variant (if set) to the
// underlying component, to allow it to render size and style variants.
return _react.default.createElement(_DropdownToggle.default, null, function (_ref) {
var toggle = _ref.toggle,
toggleProps = _ref.props;
return _react.default.createElement(Component, (0, _extends2.default)({
onClick: toggle,
className: (0, _classnames.default)(className, bsPrefix, split && bsPrefix + "-split")
}, wrapRef(toggleProps), props), children);
});
};
return DropdownToggle;
}(_react.default.Component); // Needs to be a class FTM, because it needs to accept a ref that can be used with findDOMNode
DropdownToggle.defaultProps = {
as: _Button.default
};
var _default = (0, _ThemeProvider.createBootstrapComponent)(DropdownToggle, 'dropdown-toggle');
exports.default = _default;
module.exports = exports["default"];