backpack-ui
Version:
Lonely Planet's Components
134 lines (103 loc) • 3.45 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 _createQAHook = require("../../utils/createQAHook");
var _createQAHook2 = _interopRequireDefault(_createQAHook);
var _colors = require("../../styles/colors");
var _colors2 = _interopRequireDefault(_colors);
var _mq = require("../../styles/mq");
var _mq2 = _interopRequireDefault(_mq);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var styles = {
ad: {
default: {
backgroundColor: _colors2.default.textPrimary,
marginLeft: "auto",
marginRight: "auto",
position: "relative",
textAlign: "center"
},
framed: (0, _defineProperty3.default)({
backgroundColor: "#f6f6f6",
paddingBottom: "24px",
paddingTop: "24px"
}, "@media (min-width: " + _mq2.default.min[960] + ")", {
paddingTop: "30px"
})
},
label: {
default: {
color: _colors2.default.textSecondary,
content: "'Advertisement'",
display: "block",
fontSize: "8px",
lineHeight: 1,
left: 0,
letterSpacing: ".5px",
opacity: 0.57,
position: "absolute",
textAlign: "center",
textTransform: "uppercase",
top: "10px",
width: "100%"
},
desktop: {
top: "14px"
}
}
};
function Ad(_ref) {
var id = _ref.id,
framed = _ref.framed,
className = _ref.className,
style = _ref.style,
children = _ref.children,
qaHook = _ref.qaHook;
var AdUnit = _react2.default.createElement(
"div",
{
className: (0, _classnames2.default)("Ad", className),
id: id,
"data-testid": qaHook ? (0, _createQAHook2.default)(id, (0, _classnames2.default)("Ad", className), "ad") : null,
style: [styles.ad.default, framed && styles.ad.framed, style && style]
},
children
);
if (framed) {
var _ref3;
return _react2.default.createElement(
"div",
{ className: "Ad-wrap clearfix" },
_react2.default.createElement(_radium.Style, {
scopeSelector: ".Ad-wrap",
rules: (_ref3 = {}, (0, _defineProperty3.default)(_ref3, "#" + id + ":before", styles.label.default), (0, _defineProperty3.default)(_ref3, "mediaQueries", (0, _defineProperty3.default)({}, "(min-width: " + _mq2.default.min[960] + ")", (0, _defineProperty3.default)({}, "#" + id + ":before", styles.label.desktop))), _ref3)
}),
AdUnit
);
}
return AdUnit;
}
Ad.propTypes = {
id: _propTypes2.default.string.isRequired,
framed: _propTypes2.default.bool,
className: _propTypes2.default.string,
children: _propTypes2.default.node,
style: _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number, _propTypes2.default.object])),
qaHook: _propTypes2.default.bool
};
Ad.defaultProps = {
framed: false,
qaHook: false
};
exports.default = (0, _radium2.default)(Ad);