|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 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 React.createElement(Tag, _extends({}, attributes, {
- className: classes
- }));
- };
-
- Media.propTypes = propTypes;
- export default Media;
|