UNPKG

2.58 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 className = _ref.className,
50 _ref$as = _ref.as,
51 Component = _ref$as === void 0 ? 'div' : _ref$as,
52 props = (0, _objectWithoutPropertiesLoose2.default)(_ref, ["bsPrefix", "size", "className", "as"]);
53 bsPrefix = (0, _ThemeProvider.useBootstrapPrefix)(bsPrefix, 'input-group');
54 return /*#__PURE__*/_react.default.createElement(Component, (0, _extends2.default)({
55 ref: ref
56 }, props, {
57 className: (0, _classnames.default)(className, bsPrefix, size && bsPrefix + "-" + size)
58 }));
59});
60
61InputGroup.displayName = 'InputGroup';
62var InputGroupWithExtras = (0, _extends2.default)({}, InputGroup, {
63 Text: InputGroupText,
64 Radio: InputGroupRadio,
65 Checkbox: InputGroupCheckbox,
66 Append: InputGroupAppend,
67 Prepend: InputGroupPrepend
68});
69var _default = InputGroupWithExtras;
70exports.default = _default;
71module.exports = exports["default"];
\No newline at end of file