UNPKG

3.74 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
8
9var _templateObject = _taggedTemplateLiteral(['\n display: ', ';\n margin-bottom: ', ';\n margin-right: ', ';\n align-items: center;\n'], ['\n display: ', ';\n margin-bottom: ', ';\n margin-right: ', ';\n align-items: center;\n']),
10 _templateObject2 = _taggedTemplateLiteral(['\n &:before {\n vertical-align: middle;\n display: inline-block;\n content: \'\';\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: ', ';\n box-shadow: 0 2px 0 0 rgba(0,0,0,0.15);\n border: 1px solid ', ';\n }\n\n > * {\n vertical-align: middle;\n display: inline-block;\n padding-left: 0.625em;\n }\n'], ['\n &:before {\n vertical-align: middle;\n display: inline-block;\n content: \'\';\n width: 20px;\n height: 20px;\n border-radius: 50%;\n background: ', ';\n box-shadow: 0 2px 0 0 rgba(0,0,0,0.15);\n border: 1px solid ', ';\n }\n\n > * {\n vertical-align: middle;\n display: inline-block;\n padding-left: 0.625em;\n }\n']),
11 _templateObject3 = _taggedTemplateLiteral(['\n display: none;\n\n &:checked + label:before {\n content: \'\\2022\';\n color: ', ';\n font-size: 3em;\n line-height: 1.4rem;\n text-align: center;\n }\n'], ['\n display: none;\n\n &:checked + label:before {\n content: \'\\\\2022\';\n color: ', ';\n font-size: 3em;\n line-height: 1.4rem;\n text-align: center;\n }\n']);
12
13var _uuid = require('uuid');
14
15var _uuid2 = _interopRequireDefault(_uuid);
16
17var _styledComponents = require('styled-components');
18
19var _styledComponents2 = _interopRequireDefault(_styledComponents);
20
21var _react = require('react');
22
23var _react2 = _interopRequireDefault(_react);
24
25function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
27function _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; }
28
29function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
30
31var Container = _styledComponents2.default.span(_templateObject, function (props) {
32 return props.block ? 'flex' : 'inline-flex';
33}, function (props) {
34 return props.block ? '1em' : '0';
35}, function (props) {
36 return props.block ? '0' : '1em';
37});
38
39var Label = _styledComponents2.default.label(_templateObject2, function (props) {
40 return props.theme.blank;
41}, function (props) {
42 return props.theme.vivid;
43});
44
45var Radio = _styledComponents2.default.input(_templateObject3, function (props) {
46 return props.theme.dark;
47});
48
49var RadioComponent = function RadioComponent(_ref) {
50 var children = _ref.children,
51 block = _ref.block,
52 id = _ref.id,
53 other = _objectWithoutProperties(_ref, ['children', 'block', 'id']);
54
55 return _react2.default.createElement(
56 Container,
57 { block: block },
58 _react2.default.createElement(Radio, _extends({ type: 'radio', id: id }, other)),
59 _react2.default.createElement(
60 Label,
61 { htmlFor: id },
62 children
63 )
64 );
65};
66
67RadioComponent.propTypes = {
68 id: _react.PropTypes.string,
69 block: _react.PropTypes.bool,
70 children: _react.PropTypes.node
71};
72
73RadioComponent.defaultProps = {
74 id: (0, _uuid2.default)()
75};
76
77exports.default = RadioComponent;
\No newline at end of file