backpack-ui
Version:
Lonely Planet's Components
153 lines (121 loc) • 4.05 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _defineProperty2 = require("babel-runtime/helpers/defineProperty");
var _defineProperty3 = _interopRequireDefault(_defineProperty2);
var _name;
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 _typography = require("../../styles/typography");
var _mq = require("../../styles/mq");
var _mq2 = _interopRequireDefault(_mq);
var _avatarMarker = require("../avatarMarker");
var _avatarMarker2 = _interopRequireDefault(_avatarMarker);
var _text = require("../text");
var _colors = require("../../styles/colors");
var _colors2 = _interopRequireDefault(_colors);
var _color = require("../../utils/color");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var styles = {
header: (0, _defineProperty3.default)({
display: "flex",
flexWrap: "wrap"
}, "@media (max-width: " + _mq2.default.max[768] + ")", {
flexDirection: "column"
}),
avatarMarker: {
container: (0, _defineProperty3.default)({
fontSize: _typography.fontSizeUppercase + "px",
fontWeight: _typography.fontWeightMedium,
marginBottom: "16px",
order: 1,
textTransform: "uppercase"
}, "@media (min-width: " + _mq2.default.min[768] + ")", {
fontSize: _typography.fontSizeBodySmall + "px",
marginBottom: 0,
order: 3
}),
username: {
alignSelf: "center",
color: (0, _color.rgba)(_colors2.default.textPrimary, 0.5),
marginLeft: "8px",
maxWidth: "none",
paddingTop: "3px"
}
},
name: (_name = {
order: 2
}, (0, _defineProperty3.default)(_name, "@media (max-width: " + _mq2.default.max[768] + ")", {
marginBottom: "6px",
fontSize: _typography.fontSizeHeading4 + "px",
lineHeight: _typography.lineHeightHeading4
}), (0, _defineProperty3.default)(_name, "@media (min-width: " + _mq2.default.min[768] + ")", {
width: "100%"
}), _name),
meta: (0, _defineProperty3.default)({
fontSize: _typography.fontSizeBodyArticleSmall + "px",
letterSpacing: ".4px",
order: 2
}, "@media (min-width: " + _mq2.default.min[768] + ")", {
fontSize: _typography.fontSizeBodyArticle + "px",
letterSpacing: ".5px",
marginRight: "24px"
})
};
var BookmarkListHeader = function BookmarkListHeader(_ref) {
var profileHref = _ref.profileHref,
avatarSrc = _ref.avatarSrc,
username = _ref.username,
name = _ref.name,
entriesCount = _ref.entriesCount,
visibility = _ref.visibility,
style = _ref.style;
return _react2.default.createElement(
"header",
{
className: "BookmarkListHeader",
style: [styles.header, style]
},
_react2.default.createElement(_avatarMarker2.default, {
href: profileHref,
src: avatarSrc,
username: username,
style: styles.avatarMarker.container,
usernameStyle: styles.avatarMarker.username
}),
_react2.default.createElement(
_text.TextHeading,
{
size: 3,
level: 2,
weight: "medium",
style: styles.name
},
name
),
_react2.default.createElement(
_text.TextAccent,
{ style: styles.meta },
entriesCount,
" place",
entriesCount !== 1 && "s",
" \xB7 ",
visibility
)
);
};
BookmarkListHeader.propTypes = {
profileHref: _propTypes2.default.string.isRequired,
avatarSrc: _propTypes2.default.string.isRequired,
username: _propTypes2.default.string.isRequired,
name: _propTypes2.default.string.isRequired,
entriesCount: _propTypes2.default.number.isRequired,
visibility: _propTypes2.default.oneOf(["Private", "Public"]).isRequired,
style: _propTypes2.default.objectOf(_propTypes2.default.object)
};
exports.default = (0, _radium2.default)(BookmarkListHeader);