You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
949 B
30 lines
949 B
import classNames from 'classnames';
|
|
import * as React from 'react';
|
|
import PropTypes from 'prop-types';
|
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
const propTypes = {
|
|
/**
|
|
* Specify whether the feedback is for valid or invalid fields
|
|
*
|
|
* @type {('valid'|'invalid')}
|
|
*/
|
|
type: PropTypes.string,
|
|
|
|
/** Display feedback as a tooltip. */
|
|
tooltip: PropTypes.bool,
|
|
as: PropTypes.elementType
|
|
};
|
|
const 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
|
|
({
|
|
as: Component = 'div',
|
|
className,
|
|
type = 'valid',
|
|
tooltip = false,
|
|
...props
|
|
}, ref) => /*#__PURE__*/_jsx(Component, { ...props,
|
|
ref: ref,
|
|
className: classNames(className, `${type}-${tooltip ? 'tooltip' : 'feedback'}`)
|
|
}));
|
|
Feedback.displayName = 'Feedback';
|
|
Feedback.propTypes = propTypes;
|
|
export default Feedback; |