UNPKG

@pinuts/bsr-uikit-relaunch

Version:

BSR UI-KIT Relaunch

68 lines (66 loc) 3.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _formBuilder = require("@pinuts/form-builder"); var _Form = _interopRequireDefault(require("react-bootstrap/Form")); var _InputGroup = _interopRequireDefault(require("react-bootstrap/InputGroup")); var _getUikitClassNames = require("../../utils/getUikitClassNames.js"); var _FormFieldChildPropTypes = _interopRequireDefault(require("../FormFieldWrapper/FormFieldChildPropTypes.jsx")); var _FormFieldWrapper = _interopRequireDefault(require("../FormFieldWrapper/FormFieldWrapper.jsx")); var _withFieldGroup = _interopRequireDefault(require("../../hooks/withFieldGroup.jsx")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } // import PropTypes from 'prop-types'; // form-builder const BootstrapInputGroupField = _ref => { let { className, inputProps = {}, value, field, onChange = () => {}, ariaAttributes, isInvalid, readOnly, disabled, viewMode, fieldIds, leftAddonText, rightAddonText } = _ref; const handleChange = e => onChange(e.target.value); if (viewMode) { return value; } const formControlClassNames = (0, _getUikitClassNames.getFormControlClassNames)(isInvalid, readOnly, disabled, className); const leftAddonId = `${fieldIds.fieldId}-addon-left`; const rightAddonId = `${fieldIds.fieldId}-addon-right`; const describedBy = [ariaAttributes['aria-describedby'], leftAddonText && leftAddonId, rightAddonText && rightAddonId].filter(Boolean).join(' '); return /*#__PURE__*/_react.default.createElement(_InputGroup.default, { className: formControlClassNames }, leftAddonText && /*#__PURE__*/_react.default.createElement(_InputGroup.default.Text, { className: !disabled && !readOnly ? 'bg-transparent' : '', id: leftAddonId }, leftAddonText), /*#__PURE__*/_react.default.createElement(_Form.default.Control, _extends({}, field, ariaAttributes, { "aria-describedby": describedBy }, inputProps, { value: value || '', onChange: handleChange })), rightAddonText && /*#__PURE__*/_react.default.createElement(_InputGroup.default.Text, { className: !disabled && !readOnly ? 'bg-transparent' : '', id: rightAddonId }, rightAddonText)); }; BootstrapInputGroupField.propTypes = { ..._FormFieldChildPropTypes.default }; const HigherOrderBootstrapInputGroupField = (0, _withFieldGroup.default)(BootstrapInputGroupField); // wrap the field label, error message help text and more const WrappedBootstrapInputGroupField = props => { return /*#__PURE__*/_react.default.createElement(_FormFieldWrapper.default, props, /*#__PURE__*/_react.default.createElement(HigherOrderBootstrapInputGroupField, props)); }; (0, _formBuilder.registerComponent)('BootstrapInputGroupField', WrappedBootstrapInputGroupField); (0, _formBuilder.registerComponent)('BootstrapInputGroupFieldBasic', HigherOrderBootstrapInputGroupField); var _default = exports.default = HigherOrderBootstrapInputGroupField;