react-bootstrap-rails 0.29.2 → 0.29.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 044944e43529e6d937c5dd05454298e52fafa19d
4
- data.tar.gz: 8edd78342fce3a487ae3b3a5f7bbd61001771b3d
3
+ metadata.gz: 17d7802accfd35133c27f487f9f283fd78cd32e0
4
+ data.tar.gz: e493f8fc3de80ba6df457630ed5867ec54295321
5
5
  SHA512:
6
- metadata.gz: d411cff070ffe4a91852df2a38e2489f43b89f718de773add00e02b4bd35f60098c214d55d3847a8adffba988eb711a1d17cda7bf0db71893b24bdd53509baee
7
- data.tar.gz: 84a97249545b78aa5f8d8c41678801d285f4684c34999ffd687cc158d1f7d0471635127db9d0af471c5c561a1f22c0ba90f5e463289fac0851fa6566cbedc141
6
+ metadata.gz: e042bdda5f1b9586e8aa0b411e2f1e8927a849a7f260691a6582dd296c9b93d13882318e32814631141b975d41902bfeebabb4f6c2e69b8d50e51da2716138d7
7
+ data.tar.gz: 280136f08976edffd70a7985ab57ecc7e25a6b0b027c95768b63eaae4cf7fe6b1edfcaccadb2465608325fea598c78169ba586ae14a582ca61707919576344e9
data/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  [ReactBootstrap](http://react-bootstrap.github.io/) for Rails Asset Pipeline
6
6
 
7
- ReactBootstrap version: [0.29.2](https://github.com/react-bootstrap/react-bootstrap/releases/tag/v0.29.2)
7
+ ReactBootstrap version: [0.29.4](https://github.com/react-bootstrap/react-bootstrap/releases/tag/v0.29.4)
8
8
 
9
9
  ## Installation
10
10
 
@@ -1,7 +1,7 @@
1
1
  module React
2
2
  module Bootstrap
3
3
  module Rails
4
- VERSION = '0.29.2'
4
+ VERSION = '0.29.4'
5
5
  end
6
6
  end
7
7
  end
@@ -4029,7 +4029,15 @@ return /******/ (function(modules) { // webpackBootstrap
4029
4029
  /**
4030
4030
  * Only valid if `inline` is not set.
4031
4031
  */
4032
- validationState: _react2['default'].PropTypes.oneOf(['success', 'warning', 'error'])
4032
+ validationState: _react2['default'].PropTypes.oneOf(['success', 'warning', 'error']),
4033
+ /**
4034
+ * Attaches a ref to the `<input>` element. Only functions can be used here.
4035
+ *
4036
+ * ```js
4037
+ * <Checkbox inputRef={ref => { this.input = ref; }} />
4038
+ * ```
4039
+ */
4040
+ inputRef: _react2['default'].PropTypes.func
4033
4041
  };
4034
4042
 
4035
4043
  var defaultProps = {
@@ -4051,14 +4059,21 @@ return /******/ (function(modules) { // webpackBootstrap
4051
4059
  var inline = _props.inline;
4052
4060
  var disabled = _props.disabled;
4053
4061
  var validationState = _props.validationState;
4062
+ var inputRef = _props.inputRef;
4054
4063
  var className = _props.className;
4055
4064
  var style = _props.style;
4056
4065
  var children = _props.children;
4057
4066
 
4058
- var props = _objectWithoutProperties(_props, ['inline', 'disabled', 'validationState', 'className', 'style', 'children']);
4067
+ var props = _objectWithoutProperties(_props, ['inline', 'disabled', 'validationState', 'inputRef', 'className', 'style', 'children']);
4059
4068
 
4060
4069
  delete props.bsClass;
4061
4070
 
4071
+ var input = _react2['default'].createElement('input', _extends({}, props, {
4072
+ ref: inputRef,
4073
+ type: 'checkbox',
4074
+ disabled: disabled
4075
+ }));
4076
+
4062
4077
  if (inline) {
4063
4078
  var _classes;
4064
4079
 
@@ -4071,7 +4086,7 @@ return /******/ (function(modules) { // webpackBootstrap
4071
4086
  return _react2['default'].createElement(
4072
4087
  'label',
4073
4088
  { className: _classnames2['default'](className, _classes2), style: style },
4074
- _react2['default'].createElement('input', _extends({}, props, { type: 'checkbox', disabled: disabled })),
4089
+ input,
4075
4090
  children
4076
4091
  );
4077
4092
  }
@@ -4089,7 +4104,7 @@ return /******/ (function(modules) { // webpackBootstrap
4089
4104
  _react2['default'].createElement(
4090
4105
  'label',
4091
4106
  null,
4092
- _react2['default'].createElement('input', _extends({}, props, { type: 'checkbox', disabled: disabled })),
4107
+ input,
4093
4108
  children
4094
4109
  )
4095
4110
  );
@@ -5634,7 +5649,7 @@ return /******/ (function(modules) { // webpackBootstrap
5634
5649
  var children = this.extractChildren();
5635
5650
  var Component = this.props.componentClass;
5636
5651
 
5637
- var props = _lodashCompatObjectOmit2['default'](this.props, ['id', 'bsClass', 'role']);
5652
+ var props = _lodashCompatObjectOmit2['default'](this.props, ['id', 'bsClass', 'role', 'onSelect']);
5638
5653
  var className = _utilsBootstrapUtils.prefix(this.props);
5639
5654
 
5640
5655
  var rootClasses = (_rootClasses = {
@@ -8832,12 +8847,12 @@ return /******/ (function(modules) { // webpackBootstrap
8832
8847
 
8833
8848
  exports.__esModule = true;
8834
8849
 
8850
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8851
+
8835
8852
  var _createUncontrollable = __webpack_require__(160);
8836
8853
 
8837
8854
  var _createUncontrollable2 = _interopRequireDefault(_createUncontrollable);
8838
8855
 
8839
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8840
-
8841
8856
  var mixin = {
8842
8857
  shouldComponentUpdate: function shouldComponentUpdate() {
8843
8858
  //let the forceUpdate trigger the update
@@ -8857,7 +8872,7 @@ return /******/ (function(modules) { // webpackBootstrap
8857
8872
  if (component.isMounted()) component.forceUpdate();
8858
8873
  }
8859
8874
 
8860
- exports.default = (0, _createUncontrollable2.default)([mixin], set);
8875
+ exports['default'] = _createUncontrollable2['default']([mixin], set);
8861
8876
  module.exports = exports['default'];
8862
8877
 
8863
8878
  /***/ },
@@ -8870,26 +8885,22 @@ return /******/ (function(modules) { // webpackBootstrap
8870
8885
 
8871
8886
  var _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; };
8872
8887
 
8873
- exports.default = createUncontrollable;
8888
+ exports['default'] = createUncontrollable;
8874
8889
 
8875
- var _react = __webpack_require__(20);
8890
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
8876
8891
 
8877
- var _react2 = _interopRequireDefault(_react);
8892
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
8878
8893
 
8879
- var _invariant = __webpack_require__(32);
8894
+ function _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; }
8880
8895
 
8881
- var _invariant2 = _interopRequireDefault(_invariant);
8896
+ var _react = __webpack_require__(20);
8897
+
8898
+ var _react2 = _interopRequireDefault(_react);
8882
8899
 
8883
8900
  var _utils = __webpack_require__(161);
8884
8901
 
8885
8902
  var utils = _interopRequireWildcard(_utils);
8886
8903
 
8887
- function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
8888
-
8889
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
8890
-
8891
- function _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; }
8892
-
8893
8904
  function createUncontrollable(mixins, set) {
8894
8905
 
8895
8906
  return uncontrollable;
@@ -8899,12 +8910,10 @@ return /******/ (function(modules) { // webpackBootstrap
8899
8910
 
8900
8911
  var displayName = Component.displayName || Component.name || 'Component',
8901
8912
  basePropTypes = utils.getType(Component).propTypes,
8902
- isCompositeComponent = utils.isReactComponent(Component),
8903
8913
  propTypes;
8904
8914
 
8905
8915
  propTypes = utils.uncontrolledPropTypes(controlledValues, basePropTypes, displayName);
8906
8916
 
8907
- (0, _invariant2.default)(isCompositeComponent || !methods.length, '[uncontrollable] stateless function components cannot pass through methods ' + 'becasue they have no associated instances. Check component: ' + displayName + ', ' + 'attempting to pass through methods: ' + methods.join(', '));
8908
8917
  methods = utils.transform(methods, function (obj, method) {
8909
8918
  obj[method] = function () {
8910
8919
  var _refs$inner;
@@ -8913,7 +8922,7 @@ return /******/ (function(modules) { // webpackBootstrap
8913
8922
  };
8914
8923
  }, {});
8915
8924
 
8916
- var component = _react2.default.createClass(_extends({
8925
+ var component = _react2['default'].createClass(_extends({
8917
8926
 
8918
8927
  displayName: 'Uncontrolled(' + displayName + ')',
8919
8928
 
@@ -8922,6 +8931,7 @@ return /******/ (function(modules) { // webpackBootstrap
8922
8931
  propTypes: propTypes
8923
8932
 
8924
8933
  }, methods, {
8934
+
8925
8935
  componentWillMount: function componentWillMount() {
8926
8936
  var props = this.props,
8927
8937
  keys = Object.keys(controlledValues);
@@ -8931,10 +8941,9 @@ return /******/ (function(modules) { // webpackBootstrap
8931
8941
  }, {});
8932
8942
  },
8933
8943
 
8934
-
8935
- /**
8936
- * If a prop switches from controlled to Uncontrolled
8937
- * reset its value to the defaultValue
8944
+ /**
8945
+ * If a prop switches from controlled to Uncontrolled
8946
+ * reset its value to the defaultValue
8938
8947
  */
8939
8948
  componentWillReceiveProps: function componentWillReceiveProps(nextProps) {
8940
8949
  var _this = this;
@@ -8948,6 +8957,7 @@ return /******/ (function(modules) { // webpackBootstrap
8948
8957
  }
8949
8958
  });
8950
8959
  },
8960
+
8951
8961
  render: function render() {
8952
8962
  var _this2 = this;
8953
8963
 
@@ -8971,23 +8981,21 @@ return /******/ (function(modules) { // webpackBootstrap
8971
8981
  newProps[handle] = setAndNotify.bind(_this2, propName);
8972
8982
  });
8973
8983
 
8974
- newProps = _extends({}, props, newProps, {
8975
- ref: isCompositeComponent ? 'inner' : null
8976
- });
8984
+ newProps = _extends({}, props, newProps, { ref: 'inner' });
8977
8985
 
8978
- return _react2.default.createElement(Component, newProps);
8986
+ return _react2['default'].createElement(Component, newProps);
8979
8987
  }
8988
+
8980
8989
  }));
8981
8990
 
8982
8991
  component.ControlledComponent = Component;
8983
8992
 
8984
- /**
8985
- * useful when wrapping a Component and you want to control
8986
- * everything
8993
+ /**
8994
+ * useful when wrapping a Component and you want to control
8995
+ * everything
8987
8996
  */
8988
- component.deferControlTo = function (newComponent) {
8989
- var additions = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
8990
- var nextMethods = arguments[2];
8997
+ component.deferControlTo = function (newComponent, additions, nextMethods) {
8998
+ if (additions === undefined) additions = {};
8991
8999
 
8992
9000
  return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods);
8993
9001
  };
@@ -9014,6 +9022,7 @@ return /******/ (function(modules) { // webpackBootstrap
9014
9022
  }
9015
9023
  }
9016
9024
  }
9025
+
9017
9026
  module.exports = exports['default'];
9018
9027
 
9019
9028
  /***/ },
@@ -9023,7 +9032,6 @@ return /******/ (function(modules) { // webpackBootstrap
9023
9032
  'use strict';
9024
9033
 
9025
9034
  exports.__esModule = true;
9026
- exports.version = undefined;
9027
9035
  exports.customPropType = customPropType;
9028
9036
  exports.uncontrolledPropTypes = uncontrolledPropTypes;
9029
9037
  exports.getType = getType;
@@ -9033,9 +9041,10 @@ return /******/ (function(modules) { // webpackBootstrap
9033
9041
  exports.chain = chain;
9034
9042
  exports.transform = transform;
9035
9043
  exports.each = each;
9036
- exports.isReactComponent = isReactComponent;
9037
9044
  exports.has = has;
9038
9045
 
9046
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
9047
+
9039
9048
  var _react = __webpack_require__(20);
9040
9049
 
9041
9050
  var _react2 = _interopRequireDefault(_react);
@@ -9044,8 +9053,6 @@ return /******/ (function(modules) { // webpackBootstrap
9044
9053
 
9045
9054
  var _invariant2 = _interopRequireDefault(_invariant);
9046
9055
 
9047
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9048
-
9049
9056
  function customPropType(handler, propType, name) {
9050
9057
 
9051
9058
  return function (props, propName) {
@@ -9067,7 +9074,7 @@ return /******/ (function(modules) { // webpackBootstrap
9067
9074
  transform(controlledValues, function (obj, handler, prop) {
9068
9075
  var type = basePropTypes[prop];
9069
9076
 
9070
- (0, _invariant2.default)(typeof handler === 'string' && handler.trim().length, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop);
9077
+ _invariant2['default'](typeof handler === 'string' && handler.trim().length, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop);
9071
9078
 
9072
9079
  obj[prop] = customPropType(handler, type, displayName);
9073
9080
 
@@ -9078,7 +9085,9 @@ return /******/ (function(modules) { // webpackBootstrap
9078
9085
  return propTypes;
9079
9086
  }
9080
9087
 
9081
- var version = exports.version = _react2.default.version.split('.').map(parseFloat);
9088
+ var version = _react2['default'].version.split('.').map(parseFloat);
9089
+
9090
+ exports.version = version;
9082
9091
 
9083
9092
  function getType(component) {
9084
9093
  if (version[0] >= 15 || version[0] === 0 && version[1] >= 13) return component;
@@ -9125,21 +9134,7 @@ return /******/ (function(modules) { // webpackBootstrap
9125
9134
  function each(obj, cb, thisArg) {
9126
9135
  if (Array.isArray(obj)) return obj.forEach(cb, thisArg);
9127
9136
 
9128
- for (var key in obj) {
9129
- if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);
9130
- }
9131
- }
9132
-
9133
- /**
9134
- * Copyright (c) 2013-present, Facebook, Inc.
9135
- * All rights reserved.
9136
- *
9137
- * This source code is licensed under the BSD-style license found in the
9138
- * LICENSE file in the root directory of this source tree. An additional grant
9139
- * of patent rights can be found in the PATENTS file in the same directory.
9140
- */
9141
- function isReactComponent(component) {
9142
- return !!(component && component.prototype && component.prototype.isReactComponent);
9137
+ for (var key in obj) if (has(obj, key)) cb.call(thisArg, obj[key], key, obj);
9143
9138
  }
9144
9139
 
9145
9140
  function has(o, k) {
@@ -11984,6 +11979,8 @@ return /******/ (function(modules) { // webpackBootstrap
11984
11979
 
11985
11980
  var props = _objectWithoutProperties(_props, ['className', 'style', 'onClick']);
11986
11981
 
11982
+ delete props.onSelect;
11983
+
11987
11984
  var classes = {
11988
11985
  disabled: this.props.disabled,
11989
11986
  active: this.props.active
@@ -14164,7 +14161,7 @@ return /******/ (function(modules) { // webpackBootstrap
14164
14161
  }
14165
14162
 
14166
14163
  var _child$props = child.props;
14167
- var linkId = _child$props.linkId;
14164
+ var id = _child$props.id;
14168
14165
  var controls = _child$props['aria-controls'];
14169
14166
  var eventKey = _child$props.eventKey;
14170
14167
  var role = _child$props.role;
@@ -14173,9 +14170,9 @@ return /******/ (function(modules) { // webpackBootstrap
14173
14170
  var tabIndex = _child$props$tabIndex === undefined ? 0 : _child$props$tabIndex;
14174
14171
 
14175
14172
  if (context && context.getId) {
14176
- true ? _warning2['default'](!(linkId || controls), 'In the context of a TabContainer, NavItems are given generated `linkId` and `aria-controls` ' + 'attributes for the sake of proper component accessibility. Any provided ones will be ignored. ' + 'To control these attributes directly provide a `generateChildId` prop to the parent TabContainer.') : undefined;
14173
+ true ? _warning2['default'](!(id || controls), 'In the context of a TabContainer, NavItems are given generated `id` and `aria-controls` ' + 'attributes for the sake of proper component accessibility. Any provided ones will be ignored. ' + 'To control these attributes directly provide a `generateChildId` prop to the parent TabContainer.') : undefined;
14177
14174
 
14178
- linkId = context.getId(eventKey, _utilsTabUtils.TAB) || null;
14175
+ id = context.getId(eventKey, _utilsTabUtils.TAB) || null;
14179
14176
  controls = context.getId(eventKey, _utilsTabUtils.PANE) || null;
14180
14177
  onSelect = _utilsCreateChainedFunction2['default'](onSelect, context.onSelect);
14181
14178
  }
@@ -14188,7 +14185,7 @@ return /******/ (function(modules) { // webpackBootstrap
14188
14185
 
14189
14186
  return {
14190
14187
  onSelect: onSelect,
14191
- linkId: linkId,
14188
+ id: id,
14192
14189
  role: role,
14193
14190
  onKeyDown: onKeyDown,
14194
14191
  'aria-controls': controls,
@@ -16809,7 +16806,6 @@ return /******/ (function(modules) { // webpackBootstrap
16809
16806
  var props = _objectWithoutProperties(_props, ['active', 'disabled', 'onClick', 'buttonComponentClass', 'className', 'style']);
16810
16807
 
16811
16808
  delete props.onSelect;
16812
- delete props.eventKey;
16813
16809
 
16814
16810
  return _react2['default'].createElement(
16815
16811
  'li',
@@ -16894,6 +16890,7 @@ return /******/ (function(modules) { // webpackBootstrap
16894
16890
  },
16895
16891
 
16896
16892
  handleSelect: function handleSelect(e) {
16893
+ e.persist();
16897
16894
  e.selected = true;
16898
16895
 
16899
16896
  if (this.props.onSelect) {
@@ -17479,7 +17476,15 @@ return /******/ (function(modules) { // webpackBootstrap
17479
17476
  /**
17480
17477
  * Only valid if `inline` is not set.
17481
17478
  */
17482
- validationState: _react2['default'].PropTypes.oneOf(['success', 'warning', 'error'])
17479
+ validationState: _react2['default'].PropTypes.oneOf(['success', 'warning', 'error']),
17480
+ /**
17481
+ * Attaches a ref to the `<input>` element. Only functions can be used here.
17482
+ *
17483
+ * ```js
17484
+ * <Radio inputRef={ref => { this.input = ref; }} />
17485
+ * ```
17486
+ */
17487
+ inputRef: _react2['default'].PropTypes.func
17483
17488
  };
17484
17489
 
17485
17490
  var defaultProps = {
@@ -17501,14 +17506,21 @@ return /******/ (function(modules) { // webpackBootstrap
17501
17506
  var inline = _props.inline;
17502
17507
  var disabled = _props.disabled;
17503
17508
  var validationState = _props.validationState;
17509
+ var inputRef = _props.inputRef;
17504
17510
  var className = _props.className;
17505
17511
  var style = _props.style;
17506
17512
  var children = _props.children;
17507
17513
 
17508
- var props = _objectWithoutProperties(_props, ['inline', 'disabled', 'validationState', 'className', 'style', 'children']);
17514
+ var props = _objectWithoutProperties(_props, ['inline', 'disabled', 'validationState', 'inputRef', 'className', 'style', 'children']);
17509
17515
 
17510
17516
  delete props.bsClass;
17511
17517
 
17518
+ var input = _react2['default'].createElement('input', _extends({}, props, {
17519
+ ref: inputRef,
17520
+ type: 'radio',
17521
+ disabled: disabled
17522
+ }));
17523
+
17512
17524
  if (inline) {
17513
17525
  var _classes;
17514
17526
 
@@ -17521,7 +17533,7 @@ return /******/ (function(modules) { // webpackBootstrap
17521
17533
  return _react2['default'].createElement(
17522
17534
  'label',
17523
17535
  { className: _classnames2['default'](className, _classes2), style: style },
17524
- _react2['default'].createElement('input', _extends({}, props, { type: 'radio', disabled: disabled })),
17536
+ input,
17525
17537
  children
17526
17538
  );
17527
17539
  }
@@ -17539,7 +17551,7 @@ return /******/ (function(modules) { // webpackBootstrap
17539
17551
  _react2['default'].createElement(
17540
17552
  'label',
17541
17553
  null,
17542
- _react2['default'].createElement('input', _extends({}, props, { type: 'radio', disabled: disabled })),
17554
+ input,
17543
17555
  children
17544
17556
  )
17545
17557
  );
@@ -18058,19 +18070,26 @@ return /******/ (function(modules) { // webpackBootstrap
18058
18070
  /**
18059
18071
  * Transition onExited callback when animation is not `false`
18060
18072
  */
18061
- onExited: _react.PropTypes.func
18073
+ onExited: _react.PropTypes.func,
18074
+
18075
+ /**
18076
+ * Unmount the tab (remove it from the DOM) when it is no longer visible
18077
+ */
18078
+ unmountOnExit: _react.PropTypes.bool
18062
18079
  },
18063
18080
 
18064
18081
  contextTypes: {
18065
18082
  $bs_tabcontainer: _react.PropTypes.shape({
18066
- getId: _react.PropTypes.func
18083
+ getId: _react.PropTypes.func,
18084
+ unmountOnExit: _react.PropTypes.bool
18067
18085
  }),
18068
18086
  $bs_tabcontent: _react.PropTypes.shape({
18069
18087
  bsClass: _react.PropTypes.string,
18070
18088
  animation: _react.PropTypes.oneOfType([_react.PropTypes.bool, _reactPropTypesLibElementType2['default']]),
18071
18089
  activeKey: _react.PropTypes.any,
18072
18090
  onExited: _react.PropTypes.func,
18073
- register: _react.PropTypes.func
18091
+ register: _react.PropTypes.func,
18092
+ unmountOnExit: _react.PropTypes.bool
18074
18093
  })
18075
18094
  },
18076
18095
 
@@ -18127,6 +18146,11 @@ return /******/ (function(modules) { // webpackBootstrap
18127
18146
  return props.animation != null ? props.animation : context.animation;
18128
18147
  },
18129
18148
 
18149
+ getUnmountOnExit: function getUnmountOnExit() {
18150
+ var context = this.getContext('$bs_tabcontent', this.context);
18151
+ return this.props.unmountOnExit != null ? this.props.unmountOnExit : context.unmountOnExit;
18152
+ },
18153
+
18130
18154
  isActive: function isActive() {
18131
18155
  var props = arguments.length <= 0 || arguments[0] === undefined ? this.props : arguments[0];
18132
18156
  var context = arguments.length <= 1 || arguments[1] === undefined ? this.context : arguments[1];
@@ -18144,6 +18168,10 @@ return /******/ (function(modules) { // webpackBootstrap
18144
18168
 
18145
18169
  var Transition = this.getTransition();
18146
18170
 
18171
+ if (!visible && !Transition && this.getUnmountOnExit()) {
18172
+ return null;
18173
+ }
18174
+
18147
18175
  var classes = (_classes = {
18148
18176
  active: visible
18149
18177
  }, _classes[_utilsBootstrapUtils.prefix({ bsClass: bsClass }, 'pane')] = true, _classes);
@@ -18191,7 +18219,8 @@ return /******/ (function(modules) { // webpackBootstrap
18191
18219
  onExited: _utilsCreateChainedFunction2['default'](this.handleExited, onExited),
18192
18220
  onEnter: _utilsCreateChainedFunction2['default'](this.handleEnter, onEnter),
18193
18221
  onEntering: onEntering,
18194
- onEntered: onEntered
18222
+ onEntered: onEntered,
18223
+ unmountOnExit: this.getUnmountOnExit()
18195
18224
  },
18196
18225
  tabPane
18197
18226
  );
@@ -18410,7 +18439,12 @@ return /******/ (function(modules) { // webpackBootstrap
18410
18439
  * Use `false` to disable, `true` to enable the default "Fade"
18411
18440
  * animation or any `<Transition>` component.
18412
18441
  */
18413
- animation: _react.PropTypes.oneOfType([_react.PropTypes.bool, _reactPropTypesLibElementType2['default']])
18442
+ animation: _react.PropTypes.oneOfType([_react.PropTypes.bool, _reactPropTypesLibElementType2['default']]),
18443
+
18444
+ /**
18445
+ * Unmount the tab (remove it from the DOM) when it is no longer visible
18446
+ */
18447
+ unmountOnExit: _react.PropTypes.bool
18414
18448
  },
18415
18449
 
18416
18450
  contextTypes: {
@@ -18426,14 +18460,16 @@ return /******/ (function(modules) { // webpackBootstrap
18426
18460
  animation: animationPropType,
18427
18461
  activeKey: _react.PropTypes.any,
18428
18462
  onExited: _react.PropTypes.func,
18429
- register: _react.PropTypes.func
18463
+ register: _react.PropTypes.func,
18464
+ unmountOnExit: _react.PropTypes.bool
18430
18465
  })
18431
18466
  },
18432
18467
 
18433
18468
  getDefaultProps: function getDefaultProps() {
18434
18469
  return {
18435
18470
  componentClass: 'div',
18436
- animation: true
18471
+ animation: true,
18472
+ unmountOnExit: false
18437
18473
  };
18438
18474
  },
18439
18475
 
@@ -18452,11 +18488,16 @@ return /******/ (function(modules) { // webpackBootstrap
18452
18488
  animation: this.props.animation,
18453
18489
  activeKey: exitingPane ? undefined : this.getActiveKey(),
18454
18490
  onExited: this.handlePaneExited,
18455
- register: this.registerPane
18491
+ register: this.registerPane,
18492
+ unmountOnExit: this.props.unmountOnExit
18456
18493
  }
18457
18494
  };
18458
18495
  },
18459
18496
 
18497
+ componentWillMount: function componentWillMount() {
18498
+ this.panes = [];
18499
+ },
18500
+
18460
18501
  /**
18461
18502
  * This belongs in `componentWillReceiveProps()` but
18462
18503
  * 0.14.x contains a bug where cwrp isn't called when only context changes.
@@ -18505,7 +18546,7 @@ return /******/ (function(modules) { // webpackBootstrap
18505
18546
  registerPane: function registerPane(eventKey) {
18506
18547
  var _this = this;
18507
18548
 
18508
- var panes = this.panes || (this.panes = []);
18549
+ var panes = this.panes;
18509
18550
 
18510
18551
  !(panes.indexOf(eventKey) === -1) ? true ? _invariant2['default'](false, 'You cannot have multiple TabPanes of with the same `eventKey` in the same ' + 'TabContent component. Duplicate eventKey: ' + eventKey) : _invariant2['default'](false) : undefined;
18511
18552
 
@@ -18715,6 +18756,11 @@ return /******/ (function(modules) { // webpackBootstrap
18715
18756
  */
18716
18757
  onSelect: _react2['default'].PropTypes.func,
18717
18758
 
18759
+ /**
18760
+ * Unmount tabs (remove it from the DOM) when it is no longer visible
18761
+ */
18762
+ unmountOnExit: _react2['default'].PropTypes.bool,
18763
+
18718
18764
  /**
18719
18765
  * @deprecated Use TabContainer to create differently shaped tab layouts.
18720
18766
  */
@@ -18752,7 +18798,8 @@ return /******/ (function(modules) { // webpackBootstrap
18752
18798
  animation: true,
18753
18799
  tabWidth: 2,
18754
18800
  position: 'top',
18755
- standalone: false
18801
+ standalone: false,
18802
+ unmountOnExit: false
18756
18803
  };
18757
18804
  },
18758
18805
 
@@ -18789,11 +18836,13 @@ return /******/ (function(modules) { // webpackBootstrap
18789
18836
  ref: 'tabs',
18790
18837
  role: 'tablist'
18791
18838
  });
18839
+
18792
18840
  var childTabs = _utilsValidComponentChildren2['default'].map(children, this.renderTab);
18793
18841
 
18794
18842
  var panesProps = {
18795
18843
  ref: 'panes',
18796
- animation: props.animation
18844
+ animation: props.animation,
18845
+ unmountOnExit: props.unmountOnExit
18797
18846
  };
18798
18847
 
18799
18848
  var childPanes = children;