UNPKG

1.21 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3import classNames from 'classnames';
4import React from 'react';
5import PropTypes from 'prop-types';
6var propTypes = {
7 /**
8 * Specify whether the feedback is for valid or invalid fields
9 *
10 * @type {('valid'|'invalid')}
11 */
12 type: PropTypes.string.isRequired,
13 as: PropTypes.elementType
14};
15var defaultProps = {
16 type: 'valid'
17};
18var Feedback = React.forwardRef( // Need to define the default "as" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595
19function (_ref, ref) {
20 var _ref$as = _ref.as,
21 Component = _ref$as === void 0 ? 'div' : _ref$as,
22 className = _ref.className,
23 type = _ref.type,
24 props = _objectWithoutPropertiesLoose(_ref, ["as", "className", "type"]);
25
26 return React.createElement(Component, _extends({}, props, {
27 ref: ref,
28 className: classNames(className, type && type + "-feedback")
29 }));
30});
31Feedback.displayName = 'Feedback';
32Feedback.propTypes = propTypes;
33Feedback.defaultProps = defaultProps;
34export default Feedback;
\No newline at end of file