innovationDriveApp/node_modules/reactstrap/lib/Media.js
2018-07-08 19:21:40 +10:00

90 lines
No EOL
2.9 KiB
JavaScript

'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _classnames = require('classnames');
var _classnames2 = _interopRequireDefault(_classnames);
var _utils = require('./utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var propTypes = {
body: _propTypes2.default.bool,
bottom: _propTypes2.default.bool,
children: _propTypes2.default.node,
className: _propTypes2.default.string,
cssModule: _propTypes2.default.object,
heading: _propTypes2.default.bool,
left: _propTypes2.default.bool,
list: _propTypes2.default.bool,
middle: _propTypes2.default.bool,
object: _propTypes2.default.bool,
right: _propTypes2.default.bool,
tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),
top: _propTypes2.default.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 = _objectWithoutProperties(props, ['body', 'bottom', 'className', 'cssModule', 'heading', 'left', 'list', 'middle', 'object', 'right', 'tag', 'top']);
var defaultTag = void 0;
if (heading) {
defaultTag = 'h4';
} else if (left || right) {
defaultTag = 'a';
} else if (object) {
defaultTag = 'img';
} else if (list) {
defaultTag = 'ul';
} else {
defaultTag = 'div';
}
var Tag = tag || defaultTag;
var classes = (0, _utils.mapToCssModules)((0, _classnames2.default)(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 _react2.default.createElement(Tag, _extends({}, attributes, { className: classes }));
};
Media.propTypes = propTypes;
exports.default = Media;