UNPKG

2.83 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _templateObject = _taggedTemplateLiteral(['\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n\n > span {\n font-size: 1.25em;\n line-height: 1.25;\n }\n > span ~ svg { margin-left: 1em }\n > svg ~ span { margin-left: 1em }\n'], ['\n display: inline-flex;\n justify-content: space-between;\n align-items: center;\n\n > span {\n font-size: 1.25em;\n line-height: 1.25;\n }\n > span ~ svg { margin-left: 1em }\n > svg ~ span { margin-left: 1em }\n']),
8 _templateObject2 = _taggedTemplateLiteral(['\n font-size: 1em;\n display: inline-block;\n align-items: center;\n padding: 0 1.5em;\n height: 3.75em;\n border: 0;\n border-radius: 3px;\n box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.16);\n cursor: pointer;\n transition: background 0.2s ease-in, color 0.2s ease-in;\n font-family: ', ';\n'], ['\n font-size: 1em;\n display: inline-block;\n align-items: center;\n padding: 0 1.5em;\n height: 3.75em;\n border: 0;\n border-radius: 3px;\n box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.16);\n cursor: pointer;\n transition: background 0.2s ease-in, color 0.2s ease-in;\n font-family: ', ';\n']);
9
10var _styledComponents = require('styled-components');
11
12var _styledComponents2 = _interopRequireDefault(_styledComponents);
13
14var _react = require('react');
15
16var _react2 = _interopRequireDefault(_react);
17
18function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
20function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
21
22function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
23
24var Inner = _styledComponents2.default.span(_templateObject);
25
26/**
27 * Button component.
28 *
29 * @param {Object} props
30 * @return {ReactElement}
31 */
32var BaseButton = function BaseButton(_ref) {
33 var children = _ref.children,
34 other = _objectWithoutProperties(_ref, ['children']);
35
36 return _react2.default.createElement(
37 'button',
38 other,
39 _react2.default.createElement(
40 Inner,
41 null,
42 _react2.default.Children.map(children, function (Child) {
43 return _react2.default.isValidElement(Child) ? (0, _react.cloneElement)(Child, { height: '1em' }) : _react2.default.createElement(
44 'span',
45 null,
46 Child
47 );
48 })
49 )
50 );
51};
52
53BaseButton.propTypes = {
54 children: _react.PropTypes.node.isRequired
55};
56
57exports.default = (0, _styledComponents2.default)(BaseButton)(_templateObject2, function (props) {
58 return props.theme.fontHeader;
59});
\No newline at end of file