import _extends from "@babel/runtime/helpers/esm/extends"; import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose"; import React from 'react'; import PropTypes from 'prop-types'; import classNames from 'classnames'; import { mapToCssModules, tagPropType } from './utils'; var propTypes = { body: PropTypes.bool, bottom: PropTypes.bool, children: PropTypes.node, className: PropTypes.string, cssModule: PropTypes.object, heading: PropTypes.bool, left: PropTypes.bool, list: PropTypes.bool, middle: PropTypes.bool, object: PropTypes.bool, right: PropTypes.bool, tag: tagPropType, top: PropTypes.bool }; var Media = function Media(props) { var body = props.body, bottom = props.bottom, className = props.className, cssModule = props.cssModule, heading = props.heading, left = props.left, list = props.list, middle = props.middle, object = props.object, right = props.right, tag = props.tag, top = props.top, attributes = _objectWithoutPropertiesLoose(props, ["body", "bottom", "className", "cssModule", "heading", "left", "list", "middle", "object", "right", "tag", "top"]); var defaultTag; if (heading) { defaultTag = 'h4'; } else if (attributes.href) { defaultTag = 'a'; } else if (attributes.src || object) { defaultTag = 'img'; } else if (list) { defaultTag = 'ul'; } else { defaultTag = 'div'; } var Tag = tag || defaultTag; var classes = mapToCssModules(classNames(className, { 'media-body': body, 'media-heading': heading, 'media-left': left, 'media-right': right, 'media-top': top, 'media-bottom': bottom, 'media-middle': middle, 'media-object': object, 'media-list': list, media: !body && !heading && !left && !right && !top && !bottom && !middle && !object && !list }), cssModule); return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, { className: classes })); }; Media.propTypes = propTypes; export default Media;