UNPKG

1.44 kBJavaScriptView Raw
1import _extends from "@babel/runtime/helpers/esm/extends";
2import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3var _excluded = ["as", "className", "type", "tooltip"];
4import classNames from 'classnames';
5import React from 'react';
6import PropTypes from 'prop-types';
7var propTypes = {
8 /**
9 * Specify whether the feedback is for valid or invalid fields
10 *
11 * @type {('valid'|'invalid')}
12 */
13 type: PropTypes.string,
14
15 /** Display feedback as a tooltip. */
16 tooltip: PropTypes.bool,
17 as: PropTypes.elementType
18};
19var Feedback = /*#__PURE__*/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
20function (_ref, ref) {
21 var _ref$as = _ref.as,
22 Component = _ref$as === void 0 ? 'div' : _ref$as,
23 className = _ref.className,
24 _ref$type = _ref.type,
25 type = _ref$type === void 0 ? 'valid' : _ref$type,
26 _ref$tooltip = _ref.tooltip,
27 tooltip = _ref$tooltip === void 0 ? false : _ref$tooltip,
28 props = _objectWithoutPropertiesLoose(_ref, _excluded);
29
30 return /*#__PURE__*/React.createElement(Component, _extends({}, props, {
31 ref: ref,
32 className: classNames(className, type + "-" + (tooltip ? 'tooltip' : 'feedback'))
33 }));
34});
35Feedback.displayName = 'Feedback';
36Feedback.propTypes = propTypes;
37export default Feedback;
\No newline at end of file