UNPKG

react-bootstrap

Version:

Bootstrap 4 components built with React

96 lines (75 loc) 2.83 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _react = _interopRequireDefault(require("react")); var _uncontrollable = require("uncontrollable"); var _TabContext = _interopRequireDefault(require("./TabContext")); var _SelectableContext = _interopRequireDefault(require("./SelectableContext")); var TabContainer = /*#__PURE__*/ function (_React$Component) { (0, _inheritsLoose2.default)(TabContainer, _React$Component); function TabContainer(props) { var _this; _this = _React$Component.call(this, props) || this; _this.getControlledId = function (key) { return _this.getKey(key, 'tabpane'); }; _this.getControllerId = function (key) { return _this.getKey(key, 'tab'); }; _this.state = { tabContext: { onSelect: _this.props.onSelect, activeKey: _this.props.activeKey, transition: _this.props.transition, mountOnEnter: _this.props.mountOnEnter, unmountOnExit: _this.props.unmountOnExit, getControlledId: _this.getControlledId, getControllerId: _this.getControllerId } }; return _this; } TabContainer.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) { var activeKey = _ref.activeKey, mountOnEnter = _ref.mountOnEnter, unmountOnExit = _ref.unmountOnExit, transition = _ref.transition; return { tabContext: (0, _extends2.default)({}, prevState.tabContext, { activeKey: activeKey, mountOnEnter: mountOnEnter, unmountOnExit: unmountOnExit, transition: transition }) }; }; var _proto = TabContainer.prototype; _proto.getKey = function getKey(key, type) { var _this$props = this.props, generateChildId = _this$props.generateChildId, id = _this$props.id; if (generateChildId) return generateChildId(key, type); return id ? id + "-" + type + "-" + key : null; }; _proto.render = function render() { var _this$props2 = this.props, children = _this$props2.children, onSelect = _this$props2.onSelect; return _react.default.createElement(_TabContext.default.Provider, { value: this.state.tabContext }, _react.default.createElement(_SelectableContext.default.Provider, { value: onSelect }, children)); }; return TabContainer; }(_react.default.Component); var _default = (0, _uncontrollable.uncontrollable)(TabContainer, { activeKey: 'onSelect' }); exports.default = _default; module.exports = exports["default"];