backpack-ui
Version:
Lonely Planet's Components
107 lines (86 loc) • 3.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.breakpointBorder = undefined;
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 _colors = require("../../styles/colors");
var _colors2 = _interopRequireDefault(_colors);
var _mq = require("../../styles/mq");
var _mq2 = _interopRequireDefault(_mq);
var _color = require("../../utils/color");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var styles = {
container: {
default: (0, _defineProperty3.default)({
marginBottom: "88px",
paddingBottom: "88px"
}, "@media (min-width: " + _mq2.default.min[720] + ")", {
marginBottom: "128px",
paddingBottom: "128px"
}),
halfSpace: (0, _defineProperty3.default)({
marginBottom: "32px",
paddingBottom: "32px"
}, "@media (min-width: " + _mq2.default.min[720] + ")", {
marginBottom: "64px",
paddingBottom: "64px"
}),
hasBorder: {
borderBottom: "1px solid rgba(" + (0, _color.rgb)(_colors2.default.accentGray) + ", 0.47)"
}
}
};
var breakpointBorder = exports.breakpointBorder = function breakpointBorder(breakpoint) {
var showAbove = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
return showAbove ? (0, _defineProperty3.default)({
borderBottom: "1px solid rgba(" + (0, _color.rgb)(_colors2.default.accentGray) + ", 0.47)"
}, "@media (max-width: " + breakpoint + "px)", {
borderBottom: 0
}) : (0, _defineProperty3.default)({
borderBottom: 0
}, "@media (max-width: " + breakpoint + "px)", {
borderBottom: "1px solid rgba(" + (0, _color.rgb)(_colors2.default.accentGray) + ", 0.47)"
});
};
var Segment = function Segment(_ref3) {
var id = _ref3.id,
border = _ref3.border,
halfSpace = _ref3.halfSpace,
showBorderAtBreakpoint = _ref3.showBorderAtBreakpoint,
showAbove = _ref3.showAbove,
children = _ref3.children,
style = _ref3.style,
qaHook = _ref3.qaHook;
return _react2.default.createElement(
"div",
{
className: "Segmented",
id: id,
"data-testid": qaHook,
style: [styles.container.default, border && styles.container.hasBorder, halfSpace && styles.container.halfSpace, showBorderAtBreakpoint && breakpointBorder(showBorderAtBreakpoint, showAbove), style]
},
children
);
};
Segment.propTypes = {
id: _propTypes2.default.string,
border: _propTypes2.default.bool,
halfSpace: _propTypes2.default.bool,
showBorderAtBreakpoint: _propTypes2.default.number,
showAbove: _propTypes2.default.bool,
style: _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number, _propTypes2.default.object])),
children: _propTypes2.default.oneOfType([_propTypes2.default.element, _propTypes2.default.arrayOf(_propTypes2.default.element)]),
qaHook: _propTypes2.default.string
};
Segment.defaultProps = {
qaHook: null
};
exports.default = (0, _radium2.default)(Segment);