UNPKG

2.83 kBJavaScriptView Raw
1"use strict";
2
3var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
5exports.__esModule = true;
6exports.default = void 0;
7
8var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
10var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));
11
12var _react = _interopRequireDefault(require("react"));
13
14var _uncontrollable = require("uncontrollable");
15
16var _TabContext = _interopRequireDefault(require("./TabContext"));
17
18var _SelectableContext = _interopRequireDefault(require("./SelectableContext"));
19
20var TabContainer =
21/*#__PURE__*/
22function (_React$Component) {
23 (0, _inheritsLoose2.default)(TabContainer, _React$Component);
24
25 function TabContainer(props) {
26 var _this;
27
28 _this = _React$Component.call(this, props) || this;
29
30 _this.getControlledId = function (key) {
31 return _this.getKey(key, 'tabpane');
32 };
33
34 _this.getControllerId = function (key) {
35 return _this.getKey(key, 'tab');
36 };
37
38 _this.state = {
39 tabContext: {
40 onSelect: _this.props.onSelect,
41 activeKey: _this.props.activeKey,
42 transition: _this.props.transition,
43 mountOnEnter: _this.props.mountOnEnter,
44 unmountOnExit: _this.props.unmountOnExit,
45 getControlledId: _this.getControlledId,
46 getControllerId: _this.getControllerId
47 }
48 };
49 return _this;
50 }
51
52 TabContainer.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {
53 var activeKey = _ref.activeKey,
54 mountOnEnter = _ref.mountOnEnter,
55 unmountOnExit = _ref.unmountOnExit,
56 transition = _ref.transition;
57 return {
58 tabContext: (0, _extends2.default)({}, prevState.tabContext, {
59 activeKey: activeKey,
60 mountOnEnter: mountOnEnter,
61 unmountOnExit: unmountOnExit,
62 transition: transition
63 })
64 };
65 };
66
67 var _proto = TabContainer.prototype;
68
69 _proto.getKey = function getKey(key, type) {
70 var _this$props = this.props,
71 generateChildId = _this$props.generateChildId,
72 id = _this$props.id;
73 if (generateChildId) return generateChildId(key, type);
74 return id ? id + "-" + type + "-" + key : null;
75 };
76
77 _proto.render = function render() {
78 var _this$props2 = this.props,
79 children = _this$props2.children,
80 onSelect = _this$props2.onSelect;
81 return _react.default.createElement(_TabContext.default.Provider, {
82 value: this.state.tabContext
83 }, _react.default.createElement(_SelectableContext.default.Provider, {
84 value: onSelect
85 }, children));
86 };
87
88 return TabContainer;
89}(_react.default.Component);
90
91var _default = (0, _uncontrollable.uncontrollable)(TabContainer, {
92 activeKey: 'onSelect'
93});
94
95exports.default = _default;
96module.exports = exports["default"];
\No newline at end of file