backpack-ui
Version:
Lonely Planet's Components
124 lines (96 loc) • 2.62 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
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 _typography = require("../../styles/typography");
var _color = require("../../utils/color");
var _font = require("../../utils/font");
var _font2 = _interopRequireDefault(_font);
var _propTypes3 = require("../../utils/propTypes");
var _propTypes4 = _interopRequireDefault(_propTypes3);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var styles = {
base: {
fontFamily: (0, _font2.default)("miller"),
fontSize: _typography.fontSizeHeading4 + "px",
fontStyle: "italic",
lineHeight: _typography.lineHeightHeading4
},
size: {
tiny: {
fontSize: _typography.fontSizeBodySmall + "px",
letterSpacing: ".4px",
lineHeight: _typography.lineHeightReset
},
small: {
fontSize: _typography.fontSizeHeading7 + "px",
letterSpacing: ".4px",
lineHeight: _typography.lineHeightHeading7
}
},
parent: {
masthead: {
letterSpacing: "1px"
}
},
color: {
white: {
color: _colors2.default.textOverlay
},
gray: {
color: (0, _color.rgba)(_colors2.default.bgOverlay, 0.4)
}
}
};
var Strapline = function Strapline(_ref) {
var children = _ref.children,
size = _ref.size,
parent = _ref.parent,
color = _ref.color,
style = _ref.style;
return _react2.default.createElement(
"div",
{
className: "Strapline",
style: [styles.base, size && styles.size[size], color && styles.color[color], parent && styles.parent[parent], style]
},
children
);
};
Strapline.propTypes = {
/**
* Text for the strapline
*/
children: _propTypes2.default.node.isRequired,
/**
* Declares the font size
*/
size: _propTypes2.default.oneOf(["", "tiny", "small"]),
/**
* Adjusts the font color
*/
color: _propTypes2.default.oneOf(["", "white", "gray"]),
/**
* Add a parent identifier
*/
parent: _propTypes2.default.oneOf(["", "masthead", "pageHeader"]),
/**
* Add custom styles
*/
style: _propTypes4.default.style
};
Strapline.defaultProps = {
size: "",
color: "",
parent: "",
style: null
};
exports.default = (0, _radium2.default)(Strapline);