@pubsweet/ui
Version:
React component library for use in pubsweet apps
68 lines (56 loc) • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
function _templateObject() {
var data = _taggedTemplateLiteral(["\n box-shadow: inset 0 0 0 2px ", ";\n cursor: pointer;\n height: 26px;\n width: 17px;\n\n border-style: solid;\n border-color: ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n\n background-color: ", ";\n\n &:hover {\n background-color: ", ";\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) } })); }
// TODO move to theme
var lightGrey = '#b3b3b3';
var mainGrey = '#666';
var whiteRGBA = 'rgba(255, 255, 255, 1)';
var borderRule = function borderRule(position) {
return function (props) {
return "\n border-".concat(position, "-width: ").concat(props.noBorder[position] ? '0' : '1px', "\n ");
};
};
var AlignmentBox = _styledComponents["default"].div.attrs(function () {
return {
role: 'presentation'
};
})(_templateObject(), whiteRGBA, mainGrey, borderRule('top'), borderRule('right'), borderRule('bottom'), borderRule('left'), function (props) {
return props.active ? mainGrey : 'transparent';
}, lightGrey);
AlignmentBox.propTypes = {
active: _propTypes["default"].bool.isRequired,
id: _propTypes["default"].string.isRequired,
noBorder: _propTypes["default"].shape({
top: _propTypes["default"].bool,
bottom: _propTypes["default"].bool,
right: _propTypes["default"].bool,
left: _propTypes["default"].bool
}),
onClick: _propTypes["default"].func
};
AlignmentBox.defaultProps = {
noBorder: {
top: false,
bottom: false,
right: false,
left: false
},
onClick: function onClick() {
return null;
}
};
var _default = AlignmentBox;
exports["default"] = _default;