UNPKG

2.49 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: flex;\n margin: 0 auto;\n justify-content: center;\n background: ', ';\n border: 1px solid ', ';\n border-radius: 3px;\n box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.10);\n padding: 2px;\n'], ['\n display: flex;\n margin: 0 auto;\n justify-content: center;\n background: ', ';\n border: 1px solid ', ';\n border-radius: 3px;\n box-shadow: 0px 2px 0px 0px rgba(0,0,0,0.10);\n padding: 2px;\n']);
10
11var _get = require('lodash/get');
12
13var _get2 = _interopRequireDefault(_get);
14
15var _styledComponents = require('styled-components');
16
17var _styledComponents2 = _interopRequireDefault(_styledComponents);
18
19var _react = require('react');
20
21var _react2 = _interopRequireDefault(_react);
22
23function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
25function _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; }
26
27function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
28
29var Container = _styledComponents2.default.nav(_templateObject, function (props) {
30 return (0, _get2.default)(props.theme, 'colors.' + props.background);
31}, function (props) {
32 return props.theme.light;
33});
34
35var TabList = function TabList(_ref, context) {
36 var children = _ref.children,
37 other = _objectWithoutProperties(_ref, ['children']);
38
39 return _react2.default.createElement(
40 Container,
41 _extends({}, other, { background: context.inactiveBackground }),
42 _react.Children.map(children, function (child, key) {
43 return (0, _react.cloneElement)(child, _extends({
44 key: key,
45 index: key,
46 active: key === context.currentTab
47 }, child.props));
48 })
49 );
50};
51
52TabList.propTypes = {
53 children: _react.PropTypes.node.isRequired
54};
55
56TabList.contextTypes = {
57 currentTab: _react.PropTypes.number,
58 inactiveBackground: _react.PropTypes.string.isRequired
59};
60
61exports.default = TabList;
\No newline at end of file