選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
 
 
 
 

37 行
1.2 KiB

  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
  3. import React from 'react';
  4. import PropTypes from 'prop-types';
  5. import classNames from 'classnames';
  6. import { mapToCssModules, tagPropType } from './utils';
  7. var propTypes = {
  8. children: PropTypes.node,
  9. tag: tagPropType,
  10. className: PropTypes.string,
  11. cssModule: PropTypes.object,
  12. valid: PropTypes.bool,
  13. tooltip: PropTypes.bool
  14. };
  15. var defaultProps = {
  16. tag: 'div',
  17. valid: undefined
  18. };
  19. var FormFeedback = function FormFeedback(props) {
  20. var className = props.className,
  21. cssModule = props.cssModule,
  22. valid = props.valid,
  23. tooltip = props.tooltip,
  24. Tag = props.tag,
  25. attributes = _objectWithoutPropertiesLoose(props, ["className", "cssModule", "valid", "tooltip", "tag"]);
  26. var validMode = tooltip ? 'tooltip' : 'feedback';
  27. var classes = mapToCssModules(classNames(className, valid ? "valid-" + validMode : "invalid-" + validMode), cssModule);
  28. return React.createElement(Tag, _extends({}, attributes, {
  29. className: classes
  30. }));
  31. };
  32. FormFeedback.propTypes = propTypes;
  33. FormFeedback.defaultProps = defaultProps;
  34. export default FormFeedback;