@hackoregon/component-library
Version:
Official repo for Hack Oregon React component library
166 lines (132 loc) • 5.33 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _emotion = require("emotion");
var _CivicStoryFooter = _interopRequireDefault(require("./CivicStoryFooter"));
var _Logo = _interopRequireDefault(require("../Logo/Logo"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _templateObject7() {
var data = _taggedTemplateLiteral(["\n width: 10vw;\n min-width: 67px;\n max-width: 134px;\n height: 10vw;\n min-height: 67px;\n max-height: 134px;\n"]);
_templateObject7 = function _templateObject7() {
return data;
};
return data;
}
function _templateObject6() {
var data = _taggedTemplateLiteral(["\n padding: 50px;\n text-align: center;\n color: #ee495c;\n"]);
_templateObject6 = function _templateObject6() {
return data;
};
return data;
}
function _templateObject5() {
var data = _taggedTemplateLiteral(["\n padding: 50px;\n text-align: center;\n"]);
_templateObject5 = function _templateObject5() {
return data;
};
return data;
}
function _templateObject4() {
var data = _taggedTemplateLiteral(["\n margin: 0;\n text-align: left;\n font-size: 2.5em;\n line-height: 1.2;\n margin-bottom: 1em;\n\n @media (max-width: 640px) {\n font-size: 2em;\n }\n"]);
_templateObject4 = function _templateObject4() {
return data;
};
return data;
}
function _templateObject3() {
var data = _taggedTemplateLiteral(["\n position: absolute;\n left: 0;\n top: 0;\n z-index: 0;\n text-align: left;\n"]);
_templateObject3 = function _templateObject3() {
return data;
};
return data;
}
function _templateObject2() {
var data = _taggedTemplateLiteral(["\n margin: 0 auto;\n text-align: left;\n"]);
_templateObject2 = function _templateObject2() {
return data;
};
return data;
}
function _templateObject() {
var data = _taggedTemplateLiteral(["\n text-align: center;\n max-width: 1000px;\n margin: 1.5em auto;\n position: relative;\n border: 1px solid #ddd;\n border-radius: 2px;\n box-shadow: 5px 5px 15px -3px rgba(0, 0, 0, 0.2);\n padding: 3em;\n background-color: white;\n\n p {\n margin: 40px 0;\n line-height: 1.6;\n }\n\n h2 {\n color: #001732;\n }\n @media (max-width: 640px) {\n padding: 3em 2em;\n }\n"]);
_templateObject = function _templateObject() {
return data;
};
return data;
}
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var cardClass = (0, _emotion.css)(_templateObject());
var descriptionClass = (0, _emotion.css)(_templateObject2());
var watermarkContainer = (0, _emotion.css)(_templateObject3());
var titleClass = (0, _emotion.css)(_templateObject4());
var cardLoading = (0, _emotion.css)(_templateObject5());
var cardError = (0, _emotion.css)(_templateObject6());
var scaleCorner = (0, _emotion.css)(_templateObject7());
var CivicStoryCard = function CivicStoryCard(_ref) {
var slug = _ref.slug,
title = _ref.title,
children = _ref.children,
error = _ref.error,
loading = _ref.loading,
source = _ref.source,
footer = _ref.footer,
watermark = _ref.watermark;
var content = children;
if (loading) {
content = _react["default"].createElement("div", {
className: cardLoading
}, _react["default"].createElement(_Logo["default"], {
type: "squareLogoAnimated",
alt: "Loading..."
}));
} else if (error) {
content = _react["default"].createElement("div", {
className: cardError
}, _react["default"].createElement("h2", null, error));
}
return _react["default"].createElement("div", {
className: cardClass
}, _react["default"].createElement("div", {
className: watermarkContainer
}, watermark || _react["default"].createElement("svg", {
className: scaleCorner,
xmlns: "http://www.w3.org/2000/svg"
}, _react["default"].createElement("g", {
fill: "none",
fillRule: "evenodd"
}, _react["default"].createElement("path", {
d: "M0 134.658V0l11.566 11.597v123.061H0z",
fill: "#191119"
}), _react["default"].createElement("path", {
d: "M133.864 0v11.597H11.566v.008L0 .008V0h133.864z",
fill: "#DC4556"
})))), title ? _react["default"].createElement("h2", {
className: titleClass
}, title) : null, _react["default"].createElement("div", {
className: descriptionClass
}, content), footer && _react["default"].createElement(_CivicStoryFooter["default"], {
slug: slug,
source: source
}));
};
CivicStoryCard.displayName = "CivicStoryCard";
CivicStoryCard.defaultProps = {
source: "https://service.civicpdx.org/",
footer: true
};
CivicStoryCard.propTypes = {
loading: _propTypes["default"].bool,
error: _propTypes["default"].string,
title: _propTypes["default"].string,
slug: _propTypes["default"].string,
children: _propTypes["default"].node,
source: _propTypes["default"].string,
footer: _propTypes["default"].bool,
watermark: _propTypes["default"].node
};
var _default = CivicStoryCard;
exports["default"] = _default;