UNPKG

@talend/react-bootstrap

Version:

Bootstrap 3 components built with React

65 lines (64 loc) 2.2 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _classnames = _interopRequireDefault(require("classnames")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Glyphicon = _interopRequireDefault(require("./Glyphicon")); var _bootstrapUtils = require("./utils/bootstrapUtils"); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const defaultProps = { bsRole: 'feedback' }; const contextTypes = { $bs_formGroup: _propTypes.default.object }; class FormControlFeedback extends _react.default.Component { getGlyph(validationState) { switch (validationState) { case 'success': return 'ok'; case 'warning': return 'warning-sign'; case 'error': return 'remove'; default: return null; } } renderDefaultFeedback(formGroup, className, classes, elementProps) { const glyph = this.getGlyph(formGroup && formGroup.validationState); if (!glyph) { return null; } return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Glyphicon.default, { ...elementProps, glyph: glyph, className: (0, _classnames.default)(className, classes) }); } render() { const { className, children, ...props } = this.props; const [bsProps, elementProps] = (0, _bootstrapUtils.splitBsProps)(props); const classes = (0, _bootstrapUtils.getClassSet)(bsProps); if (!children) { return this.renderDefaultFeedback(this.context.$bs_formGroup, className, classes, elementProps); } const child = _react.default.Children.only(children); return /*#__PURE__*/_react.default.cloneElement(child, { ...elementProps, className: (0, _classnames.default)(child.props.className, className, classes) }); } } FormControlFeedback.defaultProps = defaultProps; FormControlFeedback.contextTypes = contextTypes; var _default = exports.default = (0, _bootstrapUtils.bsClass)('form-control-feedback', FormControlFeedback); //# sourceMappingURL=FormControlFeedback.js.map