UNPKG

2.67 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
10var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
12var _classnames = _interopRequireDefault(require("classnames"));
13
14var _react = _interopRequireDefault(require("react"));
15
16var _createWithBsPrefix = _interopRequireDefault(require("./createWithBsPrefix"));
17
18var _ThemeProvider = require("./ThemeProvider");
19
20var _excluded = ["bsPrefix", "size", "hasValidation", "className", "as"];
21var InputGroupAppend = (0, _createWithBsPrefix.default)('input-group-append');
22var InputGroupPrepend = (0, _createWithBsPrefix.default)('input-group-prepend');
23var InputGroupText = (0, _createWithBsPrefix.default)('input-group-text', {
24 Component: 'span'
25});
26
27var InputGroupCheckbox = function InputGroupCheckbox(props) {
28 return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
29 type: "checkbox"
30 }, props)));
31};
32
33var InputGroupRadio = function InputGroupRadio(props) {
34 return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
35 type: "radio"
36 }, props)));
37};
38
39/**
40 *
41 * @property {InputGroupAppend} Append
42 * @property {InputGroupPrepend} Prepend
43 * @property {InputGroupText} Text
44 * @property {InputGroupRadio} Radio
45 * @property {InputGroupCheckbox} Checkbox
46 */
47var InputGroup = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
48 var bsPrefix = _ref.bsPrefix,
49 size = _ref.size,
50 hasValidation = _ref.hasValidation,
51 className = _ref.className,
52 _ref$as = _ref.as,
53 Component = _ref$as === void 0 ? 'div' : _ref$as,
54 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);
55 bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'input-group');
56 return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
57 ref: ref
58 }, props, {
59 className: (0, _classnames.default)(className, bsPrefix, size && bsPrefix + "-" + size, hasValidation && 'has-validation')
60 }));
61});
62
63InputGroup.displayName = 'InputGroup';
64InputGroup.Text = InputGroupText;
65InputGroup.Radio = InputGroupRadio;
66InputGroup.Checkbox = InputGroupCheckbox;
67InputGroup.Append = InputGroupAppend;
68InputGroup.Prepend = InputGroupPrepend;
69var _default = InputGroup;
70exports.default = _default;
71module.exports = exports["default"];
\No newline at end of file