UNPKG

2.68 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 InputGroupAppend = (0, _createWithBsPrefix.default)('input-group-append');
21var InputGroupPrepend = (0, _createWithBsPrefix.default)('input-group-prepend');
22var InputGroupText = (0, _createWithBsPrefix.default)('input-group-text', {
23 Component: 'span'
24});
25
26var InputGroupCheckbox = function InputGroupCheckbox(props) {
27 return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
28 type: "checkbox"
29 }, props)));
30};
31
32var InputGroupRadio = function InputGroupRadio(props) {
33 return /*#__PURE__*/_react.default.createElement(InputGroupText, null, /*#__PURE__*/_react.default.createElement("input", (0, _extends2.default)({
34 type: "radio"
35 }, props)));
36};
37
38/**
39 *
40 * @property {InputGroupAppend} Append
41 * @property {InputGroupPrepend} Prepend
42 * @property {InputGroupText} Text
43 * @property {InputGroupRadio} Radio
44 * @property {InputGroupCheckbox} Checkbox
45 */
46var InputGroup = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
47 var bsPrefix = _ref.bsPrefix,
48 size = _ref.size,
49 hasValidation = _ref.hasValidation,
50 className = _ref.className,
51 _ref$as = _ref.as,
52 Component = _ref$as === void 0 ? 'div' : _ref$as,
53 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "size", "hasValidation", "className", "as"]);
54 bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'input-group');
55 return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
56 ref: ref
57 }, props, {
58 className: (0, _classnames.default)(className, bsPrefix, size && bsPrefix + "-" + size, hasValidation && 'has-validation')
59 }));
60});
61
62InputGroup.displayName = 'InputGroup';
63var InputGroupWithExtras = (0, _extends2.default)({}, InputGroup, {
64 Text: InputGroupText,
65 Radio: InputGroupRadio,
66 Checkbox: InputGroupCheckbox,
67 Append: InputGroupAppend,
68 Prepend: InputGroupPrepend
69});
70var _default = InputGroupWithExtras;
71exports.default = _default;
72module.exports = exports["default"];
\No newline at end of file