"use strict"; 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 _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireDefault(require("react")); var _ThemeProvider = require("./ThemeProvider"); var _SafeAnchor = _interopRequireDefault(require("./SafeAnchor")); var _excluded = ["bsPrefix", "variant", "size", "active", "className", "block", "type", "as"]; var defaultProps = { variant: 'primary', active: false, disabled: false }; var Button = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, variant = _ref.variant, size = _ref.size, active = _ref.active, className = _ref.className, block = _ref.block, type = _ref.type, as = _ref.as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded); var prefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'btn'); var classes = (0, _classnames.default)(className, prefix, active && 'active', variant && prefix + "-" + variant, block && prefix + "-block", size && prefix + "-" + size); if (props.href) { return /*#__PURE__*/_react.default.createElement(_SafeAnchor.default, (0, _extends2.default)({}, props, { as: as, ref: ref, className: (0, _classnames.default)(classes, props.disabled && 'disabled') })); } if (ref) { props.ref = ref; } if (type) { props.type = type; } else if (!as) { props.type = 'button'; } var Component = as || 'button'; return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({}, props, { className: classes })); }); Button.displayName = 'Button'; Button.defaultProps = defaultProps; var _default = Button; exports.default = _default; module.exports = exports["default"];