UNPKG

2.55 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
12var _react = _interopRequireDefault(require("react"));
13
14var _propTypes = _interopRequireDefault(require("prop-types"));
15
16var _classnames = _interopRequireDefault(require("classnames"));
17
18var _utils = require("./utils");
19
20var propTypes = {
21 body: _propTypes.default.bool,
22 bottom: _propTypes.default.bool,
23 children: _propTypes.default.node,
24 className: _propTypes.default.string,
25 cssModule: _propTypes.default.object,
26 heading: _propTypes.default.bool,
27 left: _propTypes.default.bool,
28 list: _propTypes.default.bool,
29 middle: _propTypes.default.bool,
30 object: _propTypes.default.bool,
31 right: _propTypes.default.bool,
32 tag: _utils.tagPropType,
33 top: _propTypes.default.bool
34};
35
36var Media = function Media(props) {
37 var body = props.body,
38 bottom = props.bottom,
39 className = props.className,
40 cssModule = props.cssModule,
41 heading = props.heading,
42 left = props.left,
43 list = props.list,
44 middle = props.middle,
45 object = props.object,
46 right = props.right,
47 tag = props.tag,
48 top = props.top,
49 attributes = (0, _objectWithoutPropertiesLoose2.default)(props, ["body", "bottom", "className", "cssModule", "heading", "left", "list", "middle", "object", "right", "tag", "top"]);
50 var defaultTag;
51
52 if (heading) {
53 defaultTag = 'h4';
54 } else if (attributes.href) {
55 defaultTag = 'a';
56 } else if (attributes.src || object) {
57 defaultTag = 'img';
58 } else if (list) {
59 defaultTag = 'ul';
60 } else {
61 defaultTag = 'div';
62 }
63
64 var Tag = tag || defaultTag;
65 var classes = (0, _utils.mapToCssModules)((0, _classnames.default)(className, {
66 'media-body': body,
67 'media-heading': heading,
68 'media-left': left,
69 'media-right': right,
70 'media-top': top,
71 'media-bottom': bottom,
72 'media-middle': middle,
73 'media-object': object,
74 'media-list': list,
75 media: !body && !heading && !left && !right && !top && !bottom && !middle && !object && !list
76 }), cssModule);
77 return /*#__PURE__*/_react.default.createElement(Tag, (0, _extends2.default)({}, attributes, {
78 className: classes
79 }));
80};
81
82Media.propTypes = propTypes;
83var _default = Media;
84exports.default = _default;
\No newline at end of file