UNPKG

3.35 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _templateObject = _taggedTemplateLiteral(['\n position: relative;\n font-family: ', ';\n border-radius: 3px;\n background: ', ';\n color: ', ';\n box-shadow: 0 2px 0 0 rgba(189,189,189,0.50);\n\n select::-ms-expand {\n display: none;\n }\n'], ['\n position: relative;\n font-family: ', ';\n border-radius: 3px;\n background: ', ';\n color: ', ';\n box-shadow: 0 2px 0 0 rgba(189,189,189,0.50);\n\n select::-ms-expand {\n display: none;\n }\n']),
8 _templateObject2 = _taggedTemplateLiteral(['\n position: relative;\n z-index: 10;\n appearance: none;\n font-size: 1em;\n background: transparent;\n color: currentColor;\n border: 0;\n width: 100%;\n padding: 0 5em 0 1.5em;\n height: 3.75em;\n\n', '\n option {\n color: ', ';\n }\n'], ['\n position: relative;\n z-index: 10;\n appearance: none;\n font-size: 1em;\n background: transparent;\n color: currentColor;\n border: 0;\n width: 100%;\n padding: 0 5em 0 1.5em;\n height: 3.75em;\n\n', '\n option {\n color: ', ';\n }\n']),
9 _templateObject3 = _taggedTemplateLiteral(['\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n right: 1.5em;\n bottom: 0;\n margin: auto;\n color: ', ';\n'], ['\n display: flex;\n align-items: center;\n position: absolute;\n top: 0;\n right: 1.5em;\n bottom: 0;\n margin: auto;\n color: ', ';\n']);
10
11var _styledComponents = require('styled-components');
12
13var _styledComponents2 = _interopRequireDefault(_styledComponents);
14
15var _react = require('react');
16
17var _react2 = _interopRequireDefault(_react);
18
19var _icon = require('../icon');
20
21function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
23function _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; }
24
25function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
26
27var Container = _styledComponents2.default.div(_templateObject, function (props) {
28 return props.theme.font.base;
29}, function (props) {
30 return props.theme.colors.black;
31}, function (props) {
32 return props.theme.colors.white;
33});
34
35var Select = _styledComponents2.default.select(_templateObject2, '' /* IE11 inherits the select color to option so we reset it to black. */, function (props) {
36 return props.theme.colors.black;
37});
38
39var Icon = _styledComponents2.default.div(_templateObject3, function (props) {
40 return props.theme.colors.white;
41});
42
43var Dropdown = function Dropdown(_ref) {
44 var children = _ref.children,
45 className = _ref.className,
46 other = _objectWithoutProperties(_ref, ['children', 'className']);
47
48 return _react2.default.createElement(
49 Container,
50 { className: className },
51 _react2.default.createElement(
52 Select,
53 other,
54 children
55 ),
56 _react2.default.createElement(
57 Icon,
58 null,
59 _react2.default.createElement(_icon.ChevronDown, { height: 8 })
60 )
61 );
62};
63
64Dropdown.propTypes = {
65 className: _react.PropTypes.string,
66 children: _react.PropTypes.node.isRequired
67};
68
69exports.default = Dropdown;
\No newline at end of file