zrmc
Version:
ZRMC is an ES7 React wrapper for Material Components Web.
83 lines (64 loc) • 2.22 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _objectWithoutProperties2 = require("babel-runtime/helpers/objectWithoutProperties");
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _ = require("../");
var _2 = _interopRequireDefault(_);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* mdc-card__media
* See
* https://material.io/components/web/catalog/cards/
*
*/
var MDC_CARD_MEDIA = "mdc-card__media"; /**
* Copyright (c) 2015-present, CWB SAS
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var CardMedia = function CardMedia(_ref) {
var children = _ref.children,
src = _ref.src,
size = _ref.size,
alt = _ref.alt,
props = (0, _objectWithoutProperties3.default)(_ref, ["children", "src", "size", "alt"]);
var classes = MDC_CARD_MEDIA;
if (src) {
classes += "-item mdc-card__media-item--" + size;
}
// Check if src and set img instead
var element = void 0;
if (src) {
element = _react2.default.createElement("img", { className: classes, src: src, alt: alt, style: props.style });
} else {
element = _react2.default.createElement(
"section",
{ className: classes },
children
);
}
return _2.default.render(element, props);
};
CardMedia.defaultProps = {
mdcElement: MDC_CARD_MEDIA,
children: null,
src: null,
size: "1x",
alt: ""
};
CardMedia.propTypes = {
mdcElement: _propTypes2.default.string,
children: _propTypes2.default.node,
src: _propTypes2.default.string,
// TODO validate size type: 1x , 1dot5x, 2x, 3x
size: _propTypes2.default.string,
alt: _propTypes2.default.string
};
exports.default = CardMedia;