UNPKG

backpack-ui

Version:
209 lines (165 loc) 4.35 kB
"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 _zIndex = require("../../styles/zIndex"); var _zIndex2 = _interopRequireDefault(_zIndex); var _color = require("../../utils/color"); var _font = require("../../utils/font"); var _font2 = _interopRequireDefault(_font); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var styles = { container: { base: { backfaceVisibility: "hidden", color: _colors2.default.textPrimary, display: "inline-block", fontFamily: (0, _font2.default)("miller"), fontSize: "1em", height: 36 / 20 + "em", lineHeight: 36 / 20 + "em", position: "relative", textAlign: "center", width: 36 / 20 + "em", zIndex: _zIndex2.default.default }, size: { xSmall: { height: "24px", width: "24px", lineHeight: "24px", fontSize: "12px" }, small: { fontSize: "14px" }, large: { fontSize: "20px" } }, place: { left: "6.7rem", position: "absolute", top: "50%", transform: "translateY(-50%)" }, transparent: { color: _colors2.default.bgPrimary } }, diamond: { base: { backgroundColor: _colors2.default.bgPrimary, borderRadius: 4 / 20 + "em", boxShadow: "2px 2px 2px rgba(" + (0, _color.rgb)(_colors2.default.shadowPrimary) + ", .18)", display: "block", height: "100%", marginTop: "-" + 36 / 20 + "em", position: "relative", transform: "rotate(45deg)", width: "100%", zIndex: _zIndex2.default.below }, size: { xSmall: { marginTop: "-" + 36 / 20 + "em", borderRadius: "5px" }, small: { borderRadius: 4 / 14 + "em" }, large: { borderRadius: 6 / 20 + "em" } }, outlined: { boxShadow: "0 0 0 1px #e1eaf0" // this color does not exist in settings }, transparent: { backgroundColor: "transparent", border: "1px solid " + _colors2.default.bgPrimary, opacity: "0.5" } } }; function NumberMarker(_ref) { var number = _ref.number, size = _ref.size, outlined = _ref.outlined, place = _ref.place, transparent = _ref.transparent; var style = { container: [styles.container.base], diamond: [styles.diamond.base] }; if (size) { style.container.push(styles.container.size[size]); style.diamond.push(styles.diamond.size[size]); } if (outlined) { style.diamond.push(styles.diamond.outlined); } if (place) { style.container.push(styles.container.place); } if (transparent) { style.diamond.push(styles.diamond.transparent); style.container.push(styles.container.transparent); } return _react2.default.createElement( "div", { className: "NumberMarker", style: style.container }, number, _react2.default.createElement("span", { className: "NumberMarker-diamond", style: style.diamond }) ); } NumberMarker.propTypes = { /** * Number to show */ number: _propTypes2.default.number.isRequired, /** * How big the marker should be; if size is * undefined, the size will be inherited from * the parent */ size: _propTypes2.default.oneOf(["", "xSmall", "small", "large"]), /** * Changes the box shadow style to look more * like an outline/border */ outlined: _propTypes2.default.bool, /** * If the marker used within a place list; * positions the marker over an 80px wide photo */ place: _propTypes2.default.bool, /** * Show a transparent version of the marker; * */ transparent: _propTypes2.default.bool }; NumberMarker.defaultProps = { number: "", size: "", outlined: false, place: false, transparent: false }; NumberMarker.styles = styles; exports.default = (0, _radium2.default)(NumberMarker);