function _templateObject() { var data = _taggedTemplateLiteral(["\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\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) } })); } import PropTypes from 'prop-types'; import styled from 'styled-components'; var Padded = styled.div(_templateObject(), function (_ref) { var theme = _ref.theme, size = _ref.size, top = _ref.top; return top && (theme.main.sizes.paddings[size] || size); }, function (_ref2) { var theme = _ref2.theme, size = _ref2.size, right = _ref2.right; return right && (theme.main.sizes.paddings[size] || size); }, function (_ref3) { var theme = _ref3.theme, size = _ref3.size, bottom = _ref3.bottom; return bottom && (theme.main.sizes.paddings[size] || size); }, function (_ref4) { var theme = _ref4.theme, size = _ref4.size, left = _ref4.left; return left && (theme.main.sizes.paddings[size] || size); }); Padded.defaultProps = { bottom: false, left: false, right: false, size: 'sm', top: false, // TODO : This is temporary theme: { main: { sizes: { paddings: { xs: '5px', sm: '10px', smd: '20px', md: '30px', lg: '40px' } } } } }; Padded.propTypes = { bottom: PropTypes.bool, left: PropTypes.bool, right: PropTypes.bool, size: PropTypes.string, // eslint-disable-next-line react/forbid-prop-types theme: PropTypes.object, top: PropTypes.bool }; export default Padded;