backpack-ui
Version:
Lonely Planet's Components
110 lines (82 loc) • 2.7 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require("babel-runtime/helpers/defineProperty");
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _radium = require("radium");
var _radium2 = _interopRequireDefault(_radium);
var _classnames = require("classnames");
var _classnames2 = _interopRequireDefault(_classnames);
var _colors = require("../../styles/colors");
var _colors2 = _interopRequireDefault(_colors);
var _mq = require("../../styles/mq");
var _mq2 = _interopRequireDefault(_mq);
var _color = require("../../utils/color");
var _propTypes3 = require("../../utils/propTypes");
var _propTypes4 = _interopRequireDefault(_propTypes3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var hoverStyles = {
default: {
".CoverPhoto": {
transform: "scale(1.03) !important"
}
},
light: {
".Heading": {
color: _colors2.default.linkPrimary + " !important"
}
}
};
var styles = {
container: {
height: "auto",
maxWidth: "410px",
minWidth: "216px",
position: "relative"
},
card: (0, _defineProperty3.default)({
boxShadow: "0 0 20px " + (0, _color.rgba)(_colors2.default.shadowPrimary, 0.12)
}, "@media (min-width: " + _mq2.default.min[768] + ")", {
boxShadow: "0 12px 34px " + (0, _color.rgba)(_colors2.default.shadowPrimary, 0.12)
})
};
var Card = function Card(_ref) {
var children = _ref.children,
layout = _ref.layout,
theme = _ref.theme,
className = _ref.className,
style = _ref.style;
return _react2.default.createElement(
"div",
{
className: "" + (0, _classnames2.default)("Card", theme && "Card--" + theme, className),
style: [styles.container, layout !== "tile" && styles.card, style]
},
_react2.default.createElement(_radium.Style, {
scopeSelector: ".Card:hover",
rules: hoverStyles.default
}),
theme === "light" && _react2.default.createElement(_radium.Style, {
scopeSelector: ".Card--light:hover",
rules: hoverStyles.light
}),
children
);
};
Card.propTypes = {
children: _propTypes2.default.node.isRequired,
layout: _propTypes2.default.oneOf(["tile", "card"]),
theme: _propTypes2.default.oneOf(["light", "dark"]),
className: _propTypes2.default.string,
style: _propTypes4.default.style
};
Card.defaultProps = {
layout: "card",
theme: "light"
};
exports.default = (0, _radium2.default)(Card);