"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireDefault(require("react")); var _createWithBsPrefix = _interopRequireDefault(require("./createWithBsPrefix")); var _ThemeProvider = require("./ThemeProvider"); var _excluded = ["bsPrefix", "size", "hasValidation", "className", "as"]; var InputGroupAppend = (0, _createWithBsPrefix.default)('input-group-append'); var InputGroupPrepend = (0, _createWithBsPrefix.default)('input-group-prepend'); var InputGroupText = (0, _createWithBsPrefix.default)('input-group-text', { Component: 'span' }); var InputGroupCheckbox = function InputGroupCheckbox(props) { return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({ type: "checkbox" }, props))); }; var InputGroupRadio = function InputGroupRadio(props) { return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({ type: "radio" }, props))); }; /** * * @property {InputGroupAppend} Append * @property {InputGroupPrepend} Prepend * @property {InputGroupText} Text * @property {InputGroupRadio} Radio * @property {InputGroupCheckbox} Checkbox */ var InputGroup = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) { var bsPrefix = _ref.bsPrefix, size = _ref.size, hasValidation = _ref.hasValidation, className = _ref.className, _ref$as = _ref.as, Component = _ref$as === void 0 ? 'div' : _ref$as, props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded); bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'input-group'); return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({ ref: ref }, props, { className: (0, _classnames.default)(className, bsPrefix, size && bsPrefix + "-" + size, hasValidation && 'has-validation') })); }); InputGroup.displayName = 'InputGroup'; var InputGroupWithExtras = (0, _extends2.default)({}, InputGroup, { Text: InputGroupText, Radio: InputGroupRadio, Checkbox: InputGroupCheckbox, Append: InputGroupAppend, Prepend: InputGroupPrepend }); var _default = InputGroupWithExtras; exports.default = _default; module.exports = exports["default"];