UNPKG

backpack-ui

Version:
212 lines (172 loc) 6.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require("babel-runtime/helpers/defineProperty"); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _anchor; 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 _colors = require("../../styles/colors"); var _colors2 = _interopRequireDefault(_colors); var _mq = require("../../styles/mq"); var _mq2 = _interopRequireDefault(_mq); var _timing = require("../../styles/timing"); var _timing2 = _interopRequireDefault(_timing); var _zIndex = require("../../styles/zIndex"); var _zIndex2 = _interopRequireDefault(_zIndex); var _color = require("../../utils/color"); var _font = require("../../utils/font"); var _font2 = _interopRequireDefault(_font); var _categoryLabel = require("../categoryLabel"); var _categoryLabel2 = _interopRequireDefault(_categoryLabel); var _heading = require("../heading"); var _heading2 = _interopRequireDefault(_heading); var _icon = require("../icon"); var _createQAHook = require("../../utils/createQAHook"); var _createQAHook2 = _interopRequireDefault(_createQAHook); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var styles = { anchor: (_anchor = { alignItems: "center", backgroundColor: "#1f1f1f", color: _colors2.default.bgPrimary, display: "flex", flexDirection: "column", justifyContent: "center", maxHeight: "420px", minHeight: "320px", overflow: "hidden", padding: "30px " + 60 / 1290 * 100 + "%", position: "relative", textAlign: "center", textDecoration: "none" }, (0, _defineProperty3.default)(_anchor, "@media (min-width: " + _mq2.default.min[960] + ")", { minHeight: "420px" }), (0, _defineProperty3.default)(_anchor, ":focus", { outline: "1px lightgray dotted", outlineOffset: "2px" }), _anchor), container: { position: "relative", maxWidth: "520px", zIndex: _zIndex2.default.default + 1 }, fauxButton: (0, _defineProperty3.default)({ border: "1px solid rgba(" + (0, _color.rgb)(_colors2.default.bgPrimary) + ", .3)", borderRadius: "32px", display: "inline-block", fontFamily: (0, _font2.default)("benton"), fontSize: "11px", fontWeight: 500, lineHeight: 1, marginTop: "17px", padding: "10px 16px 9px", textTransform: "uppercase" }, "@media (min-width: " + _mq2.default.min[480] + ")", { marginTop: "23px" }), image: { display: "block", height: "100%", left: 0, objectFit: "cover", opacity: 0.4, position: "absolute", top: 0, transition: "opacity " + _timing2.default.slow + " ease-in-out,\n transform " + _timing2.default.slow + " ease-in-out", width: "100%", zIndex: _zIndex2.default.default } }; var css = "\n .ArticlePaginationItem:hover img,\n .ArticlePaginationItem:active img,\n .ArticlePaginationItem:focus img {\n opacity: 0.2;\n transform: scale(1.05);\n }\n\n .ArticlePaginationItem .Heading {\n font-size: 32px !important;\n }\n\n @media (min-width: " + _mq2.default.min[960] + ") {\n .ArticlePaginationItem .Heading {\n font-size: 40px !important;\n line-height: " + 46 / 40 + " !important;\n margin-top: 7px !important;\n }\n }\n"; function markup(htmlContent) { return { __html: htmlContent }; } var ArticlePaginationItem = function ArticlePaginationItem(_ref) { var title = _ref.title, href = _ref.href, image = _ref.image, imageAlt = _ref.imageAlt, category = _ref.category, page = _ref.page, style = _ref.style, qaHook = _ref.qaHook; return _react2.default.createElement( "a", { className: "ArticlePaginationItem", href: href, style: [styles.anchor, style], "data-testid": qaHook ? (0, _createQAHook2.default)(page, "ArticlePaginationItem", "link") : null }, _react2.default.createElement("style", { dangerouslySetInnerHTML: markup(css) }), _react2.default.createElement( "div", { style: styles.container }, category && _react2.default.createElement( _categoryLabel2.default, { style: { color: _colors2.default.bgPrimary } }, category ), _react2.default.createElement( _heading2.default, { level: 3, tracking: "tight", weight: "thick", override: { color: _colors2.default.bgPrimary, fontSize: "20px", lineHeight: 28 / 20, marginTop: "2px" } }, title ), page === "previous" && _react2.default.createElement( "div", { style: styles.fauxButton }, _react2.default.createElement(_icon.ArrowLeftAlternate, { style: { fontSize: "16px", marginBottom: "-2px", marginRight: "7px", marginTop: "-4px" } }), "Previous" ), page === "next" && _react2.default.createElement( "div", { style: styles.fauxButton }, "Next", _react2.default.createElement(_icon.ArrowRightAlternate, { style: { fontSize: "16px", marginBottom: "-2px", marginLeft: "7px", marginTop: "-4px" } }) ) ), _react2.default.createElement("img", { style: styles.image, src: image, alt: imageAlt }) ); }; ArticlePaginationItem.propTypes = { title: _propTypes2.default.string.isRequired, href: _propTypes2.default.string.isRequired, image: _propTypes2.default.string.isRequired, imageAlt: _propTypes2.default.string, category: _propTypes2.default.string, page: _propTypes2.default.oneOf(["previous", "next"]), style: _propTypes2.default.objectOf(_propTypes2.default.object), qaHook: _propTypes2.default.bool }; exports.default = (0, _radium2.default)(ArticlePaginationItem);