Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 

43 linhas
1.5 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, deprecated, tagPropType } from './utils';
  7. var propTypes = {
  8. tag: tagPropType,
  9. inverse: PropTypes.bool,
  10. color: PropTypes.string,
  11. block: deprecated(PropTypes.bool, 'Please use the props "body"'),
  12. body: PropTypes.bool,
  13. outline: PropTypes.bool,
  14. className: PropTypes.string,
  15. cssModule: PropTypes.object,
  16. innerRef: PropTypes.oneOfType([PropTypes.object, PropTypes.string, PropTypes.func])
  17. };
  18. var defaultProps = {
  19. tag: 'div'
  20. };
  21. var Card = function Card(props) {
  22. var className = props.className,
  23. cssModule = props.cssModule,
  24. color = props.color,
  25. block = props.block,
  26. body = props.body,
  27. inverse = props.inverse,
  28. outline = props.outline,
  29. Tag = props.tag,
  30. innerRef = props.innerRef,
  31. attributes = _objectWithoutPropertiesLoose(props, ["className", "cssModule", "color", "block", "body", "inverse", "outline", "tag", "innerRef"]);
  32. var classes = mapToCssModules(classNames(className, 'card', inverse ? 'text-white' : false, block || body ? 'card-body' : false, color ? (outline ? 'border' : 'bg') + "-" + color : false), cssModule);
  33. return React.createElement(Tag, _extends({}, attributes, {
  34. className: classes,
  35. ref: innerRef
  36. }));
  37. };
  38. Card.propTypes = propTypes;
  39. Card.defaultProps = defaultProps;
  40. export default Card;