UNPKG

@pubsweet/ui

Version:

React component library for use in pubsweet apps

68 lines (56 loc) 2.19 kB
"use strict"; 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;