react 16.0.0-alpha.0 → 16.0.0-alpha.2

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * React (with addons) v16.0.0-alpha.0
2
+ * React (with addons) v16.0.0-alpha.2
3
3
  */
4
4
  (function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.React = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
5
5
  /**
@@ -288,10 +288,9 @@ module.exports = PooledClass;
288
288
 
289
289
  var _assign = _dereq_(47);
290
290
 
291
- var ReactChildren = _dereq_(8);
292
- var ReactComponent = _dereq_(10);
293
- var ReactPureComponent = _dereq_(22);
294
- var ReactClass = _dereq_(9);
291
+ var ReactBaseClasses = _dereq_(6);
292
+ var ReactChildren = _dereq_(9);
293
+ var ReactClass = _dereq_(10);
295
294
  var ReactDOMFactories = _dereq_(14);
296
295
  var ReactElement = _dereq_(15);
297
296
  var ReactPropTypes = _dereq_(21);
@@ -344,8 +343,8 @@ var React = {
344
343
  only: onlyChild
345
344
  },
346
345
 
347
- Component: ReactComponent,
348
- PureComponent: ReactPureComponent,
346
+ Component: ReactBaseClasses.Component,
347
+ PureComponent: ReactBaseClasses.PureComponent,
349
348
 
350
349
  createElement: createElement,
351
350
  cloneElement: cloneElement,
@@ -369,7 +368,7 @@ var React = {
369
368
  };
370
369
 
371
370
  module.exports = React;
372
- },{"10":10,"14":14,"15":15,"17":17,"21":21,"22":22,"27":27,"35":35,"46":46,"47":47,"8":8,"9":9}],5:[function(_dereq_,module,exports){
371
+ },{"10":10,"14":14,"15":15,"17":17,"21":21,"27":27,"35":35,"46":46,"47":47,"6":6,"9":9}],5:[function(_dereq_,module,exports){
373
372
  /**
374
373
  * Copyright 2013-present, Facebook, Inc.
375
374
  * All rights reserved.
@@ -418,6 +417,143 @@ if ("development" !== 'production') {
418
417
 
419
418
  'use strict';
420
419
 
420
+ var _prodInvariant = _dereq_(36),
421
+ _assign = _dereq_(47);
422
+
423
+ var ReactNoopUpdateQueue = _dereq_(19);
424
+
425
+ var canDefineProperty = _dereq_(30);
426
+ var emptyObject = _dereq_(43);
427
+ var invariant = _dereq_(44);
428
+ var warning = _dereq_(46);
429
+
430
+ /**
431
+ * Base class helpers for the updating state of a component.
432
+ */
433
+ function ReactComponent(props, context, updater) {
434
+ this.props = props;
435
+ this.context = context;
436
+ this.refs = emptyObject;
437
+ // We initialize the default updater but the real one gets injected by the
438
+ // renderer.
439
+ this.updater = updater || ReactNoopUpdateQueue;
440
+ }
441
+
442
+ ReactComponent.prototype.isReactComponent = {};
443
+
444
+ /**
445
+ * Sets a subset of the state. Always use this to mutate
446
+ * state. You should treat `this.state` as immutable.
447
+ *
448
+ * There is no guarantee that `this.state` will be immediately updated, so
449
+ * accessing `this.state` after calling this method may return the old value.
450
+ *
451
+ * There is no guarantee that calls to `setState` will run synchronously,
452
+ * as they may eventually be batched together. You can provide an optional
453
+ * callback that will be executed when the call to setState is actually
454
+ * completed.
455
+ *
456
+ * When a function is provided to setState, it will be called at some point in
457
+ * the future (not synchronously). It will be called with the up to date
458
+ * component arguments (state, props, context). These values can be different
459
+ * from this.* because your function may be called after receiveProps but before
460
+ * shouldComponentUpdate, and this new state, props, and context will not yet be
461
+ * assigned to this.
462
+ *
463
+ * @param {object|function} partialState Next partial state or function to
464
+ * produce next partial state to be merged with current state.
465
+ * @param {?function} callback Called after state is updated.
466
+ * @final
467
+ * @protected
468
+ */
469
+ ReactComponent.prototype.setState = function (partialState, callback) {
470
+ !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? "development" !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;
471
+ this.updater.enqueueSetState(this, partialState, callback, 'setState');
472
+ };
473
+
474
+ /**
475
+ * Forces an update. This should only be invoked when it is known with
476
+ * certainty that we are **not** in a DOM transaction.
477
+ *
478
+ * You may want to call this when you know that some deeper aspect of the
479
+ * component's state has changed but `setState` was not called.
480
+ *
481
+ * This will not invoke `shouldComponentUpdate`, but it will invoke
482
+ * `componentWillUpdate` and `componentDidUpdate`.
483
+ *
484
+ * @param {?function} callback Called after update is complete.
485
+ * @final
486
+ * @protected
487
+ */
488
+ ReactComponent.prototype.forceUpdate = function (callback) {
489
+ this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');
490
+ };
491
+
492
+ /**
493
+ * Deprecated APIs. These APIs used to exist on classic React classes but since
494
+ * we would like to deprecate them, we're not going to move them over to this
495
+ * modern base class. Instead, we define a getter that warns if it's accessed.
496
+ */
497
+ if ("development" !== 'production') {
498
+ var deprecatedAPIs = {
499
+ isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
500
+ replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
501
+ };
502
+ var defineDeprecationWarning = function (methodName, info) {
503
+ if (canDefineProperty) {
504
+ Object.defineProperty(ReactComponent.prototype, methodName, {
505
+ get: function () {
506
+ "development" !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0;
507
+ return undefined;
508
+ }
509
+ });
510
+ }
511
+ };
512
+ for (var fnName in deprecatedAPIs) {
513
+ if (deprecatedAPIs.hasOwnProperty(fnName)) {
514
+ defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
515
+ }
516
+ }
517
+ }
518
+
519
+ /**
520
+ * Base class helpers for the updating state of a component.
521
+ */
522
+ function ReactPureComponent(props, context, updater) {
523
+ // Duplicated from ReactComponent.
524
+ this.props = props;
525
+ this.context = context;
526
+ this.refs = emptyObject;
527
+ // We initialize the default updater but the real one gets injected by the
528
+ // renderer.
529
+ this.updater = updater || ReactNoopUpdateQueue;
530
+ }
531
+
532
+ function ComponentDummy() {}
533
+ ComponentDummy.prototype = ReactComponent.prototype;
534
+ ReactPureComponent.prototype = new ComponentDummy();
535
+ ReactPureComponent.prototype.constructor = ReactPureComponent;
536
+ // Avoid an extra prototype jump for these methods.
537
+ _assign(ReactPureComponent.prototype, ReactComponent.prototype);
538
+ ReactPureComponent.prototype.isPureReactComponent = true;
539
+
540
+ module.exports = {
541
+ Component: ReactComponent,
542
+ PureComponent: ReactPureComponent
543
+ };
544
+ },{"19":19,"30":30,"36":36,"43":43,"44":44,"46":46,"47":47}],7:[function(_dereq_,module,exports){
545
+ /**
546
+ * Copyright 2013-present, Facebook, Inc.
547
+ * All rights reserved.
548
+ *
549
+ * This source code is licensed under the BSD-style license found in the
550
+ * LICENSE file in the root directory of this source tree. An additional grant
551
+ * of patent rights can be found in the PATENTS file in the same directory.
552
+ *
553
+ */
554
+
555
+ 'use strict';
556
+
421
557
  var _assign = _dereq_(47);
422
558
 
423
559
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -429,7 +565,7 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function"
429
565
  var React = _dereq_(4);
430
566
 
431
567
  var ReactTransitionGroup = _dereq_(25);
432
- var ReactCSSTransitionGroupChild = _dereq_(7);
568
+ var ReactCSSTransitionGroupChild = _dereq_(8);
433
569
 
434
570
  function createTransitionTimeoutPropValidator(transitionType) {
435
571
  var timeoutPropName = 'transition' + transitionType + 'Timeout';
@@ -510,7 +646,7 @@ ReactCSSTransitionGroup.defaultProps = {
510
646
 
511
647
 
512
648
  module.exports = ReactCSSTransitionGroup;
513
- },{"25":25,"4":4,"47":47,"7":7}],7:[function(_dereq_,module,exports){
649
+ },{"25":25,"4":4,"47":47,"8":8}],8:[function(_dereq_,module,exports){
514
650
  /**
515
651
  * Copyright 2013-present, Facebook, Inc.
516
652
  * All rights reserved.
@@ -677,7 +813,7 @@ var ReactCSSTransitionGroupChild = React.createClass({
677
813
  });
678
814
 
679
815
  module.exports = ReactCSSTransitionGroupChild;
680
- },{"24":24,"35":35,"4":4,"40":40,"5":5}],8:[function(_dereq_,module,exports){
816
+ },{"24":24,"35":35,"4":4,"40":40,"5":5}],9:[function(_dereq_,module,exports){
681
817
  /**
682
818
  * Copyright 2013-present, Facebook, Inc.
683
819
  * All rights reserved.
@@ -868,7 +1004,7 @@ var ReactChildren = {
868
1004
  };
869
1005
 
870
1006
  module.exports = ReactChildren;
871
- },{"15":15,"3":3,"38":38,"42":42}],9:[function(_dereq_,module,exports){
1007
+ },{"15":15,"3":3,"38":38,"42":42}],10:[function(_dereq_,module,exports){
872
1008
  /**
873
1009
  * Copyright 2013-present, Facebook, Inc.
874
1010
  * All rights reserved.
@@ -884,7 +1020,7 @@ module.exports = ReactChildren;
884
1020
  var _prodInvariant = _dereq_(36),
885
1021
  _assign = _dereq_(47);
886
1022
 
887
- var ReactComponent = _dereq_(10);
1023
+ var ReactBaseClasses = _dereq_(6);
888
1024
  var ReactElement = _dereq_(15);
889
1025
  var ReactPropTypeLocationNames = _dereq_(20);
890
1026
  var ReactNoopUpdateQueue = _dereq_(19);
@@ -893,6 +1029,8 @@ var emptyObject = _dereq_(43);
893
1029
  var invariant = _dereq_(44);
894
1030
  var warning = _dereq_(46);
895
1031
 
1032
+ var ReactComponent = ReactBaseClasses.Component;
1033
+
896
1034
  var MIXINS_KEY = 'mixins';
897
1035
 
898
1036
  // Helper function to allow the creation of anonymous functions which do not
@@ -1020,7 +1158,6 @@ var ReactClassInterface = {
1020
1158
  * }
1021
1159
  *
1022
1160
  * @return {ReactComponent}
1023
- * @nosideeffects
1024
1161
  * @required
1025
1162
  */
1026
1163
  render: 'DEFINE_ONCE',
@@ -1416,9 +1553,9 @@ function bindAutoBindMethod(component, method) {
1416
1553
  // ignore the value of "this" that the user is trying to use, so
1417
1554
  // let's warn.
1418
1555
  if (newThis !== component && newThis !== null) {
1419
- "development" !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0;
1556
+ "development" !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance.\n\nSee %s', componentName) : void 0;
1420
1557
  } else if (!args.length) {
1421
- "development" !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0;
1558
+ "development" !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call.\n\nSee %s', componentName) : void 0;
1422
1559
  return boundMethod;
1423
1560
  }
1424
1561
  var reboundMethod = _bind.apply(boundMethod, arguments);
@@ -1572,119 +1709,7 @@ var ReactClass = {
1572
1709
  };
1573
1710
 
1574
1711
  module.exports = ReactClass;
1575
- },{"10":10,"15":15,"19":19,"20":20,"36":36,"43":43,"44":44,"46":46,"47":47}],10:[function(_dereq_,module,exports){
1576
- /**
1577
- * Copyright 2013-present, Facebook, Inc.
1578
- * All rights reserved.
1579
- *
1580
- * This source code is licensed under the BSD-style license found in the
1581
- * LICENSE file in the root directory of this source tree. An additional grant
1582
- * of patent rights can be found in the PATENTS file in the same directory.
1583
- *
1584
- */
1585
-
1586
- 'use strict';
1587
-
1588
- var _prodInvariant = _dereq_(36);
1589
-
1590
- var ReactNoopUpdateQueue = _dereq_(19);
1591
-
1592
- var canDefineProperty = _dereq_(30);
1593
- var emptyObject = _dereq_(43);
1594
- var invariant = _dereq_(44);
1595
- var warning = _dereq_(46);
1596
-
1597
- /**
1598
- * Base class helpers for the updating state of a component.
1599
- */
1600
- function ReactComponent(props, context, updater) {
1601
- this.props = props;
1602
- this.context = context;
1603
- this.refs = emptyObject;
1604
- // We initialize the default updater but the real one gets injected by the
1605
- // renderer.
1606
- this.updater = updater || ReactNoopUpdateQueue;
1607
- }
1608
-
1609
- ReactComponent.prototype.isReactComponent = {};
1610
-
1611
- /**
1612
- * Sets a subset of the state. Always use this to mutate
1613
- * state. You should treat `this.state` as immutable.
1614
- *
1615
- * There is no guarantee that `this.state` will be immediately updated, so
1616
- * accessing `this.state` after calling this method may return the old value.
1617
- *
1618
- * There is no guarantee that calls to `setState` will run synchronously,
1619
- * as they may eventually be batched together. You can provide an optional
1620
- * callback that will be executed when the call to setState is actually
1621
- * completed.
1622
- *
1623
- * When a function is provided to setState, it will be called at some point in
1624
- * the future (not synchronously). It will be called with the up to date
1625
- * component arguments (state, props, context). These values can be different
1626
- * from this.* because your function may be called after receiveProps but before
1627
- * shouldComponentUpdate, and this new state, props, and context will not yet be
1628
- * assigned to this.
1629
- *
1630
- * @param {object|function} partialState Next partial state or function to
1631
- * produce next partial state to be merged with current state.
1632
- * @param {?function} callback Called after state is updated.
1633
- * @final
1634
- * @protected
1635
- */
1636
- ReactComponent.prototype.setState = function (partialState, callback) {
1637
- !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? "development" !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;
1638
- this.updater.enqueueSetState(this, partialState, callback, 'setState');
1639
- };
1640
-
1641
- /**
1642
- * Forces an update. This should only be invoked when it is known with
1643
- * certainty that we are **not** in a DOM transaction.
1644
- *
1645
- * You may want to call this when you know that some deeper aspect of the
1646
- * component's state has changed but `setState` was not called.
1647
- *
1648
- * This will not invoke `shouldComponentUpdate`, but it will invoke
1649
- * `componentWillUpdate` and `componentDidUpdate`.
1650
- *
1651
- * @param {?function} callback Called after update is complete.
1652
- * @final
1653
- * @protected
1654
- */
1655
- ReactComponent.prototype.forceUpdate = function (callback) {
1656
- this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');
1657
- };
1658
-
1659
- /**
1660
- * Deprecated APIs. These APIs used to exist on classic React classes but since
1661
- * we would like to deprecate them, we're not going to move them over to this
1662
- * modern base class. Instead, we define a getter that warns if it's accessed.
1663
- */
1664
- if ("development" !== 'production') {
1665
- var deprecatedAPIs = {
1666
- isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
1667
- replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
1668
- };
1669
- var defineDeprecationWarning = function (methodName, info) {
1670
- if (canDefineProperty) {
1671
- Object.defineProperty(ReactComponent.prototype, methodName, {
1672
- get: function () {
1673
- "development" !== 'production' ? warning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]) : void 0;
1674
- return undefined;
1675
- }
1676
- });
1677
- }
1678
- };
1679
- for (var fnName in deprecatedAPIs) {
1680
- if (deprecatedAPIs.hasOwnProperty(fnName)) {
1681
- defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
1682
- }
1683
- }
1684
- }
1685
-
1686
- module.exports = ReactComponent;
1687
- },{"19":19,"30":30,"36":36,"43":43,"44":44,"46":46}],11:[function(_dereq_,module,exports){
1712
+ },{"15":15,"19":19,"20":20,"36":36,"43":43,"44":44,"46":46,"47":47,"6":6}],11:[function(_dereq_,module,exports){
1688
1713
  /**
1689
1714
  * Copyright 2016-present, Facebook, Inc.
1690
1715
  * All rights reserved.
@@ -2711,7 +2736,7 @@ function getDeclarationErrorAddendum() {
2711
2736
  if (ReactCurrentOwner.current) {
2712
2737
  var name = getComponentName(ReactCurrentOwner.current);
2713
2738
  if (name) {
2714
- return ' Check the render method of `' + name + '`.';
2739
+ return '\n\nCheck the render method of `' + name + '`.';
2715
2740
  }
2716
2741
  }
2717
2742
  return '';
@@ -2722,7 +2747,7 @@ function getSourceInfoErrorAddendum(elementProps) {
2722
2747
  var source = elementProps.__source;
2723
2748
  var fileName = source.fileName.replace(/^.*[\\\/]/, '');
2724
2749
  var lineNumber = source.lineNumber;
2725
- return ' Check your code at ' + fileName + ':' + lineNumber + '.';
2750
+ return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
2726
2751
  }
2727
2752
  return '';
2728
2753
  }
@@ -2740,7 +2765,7 @@ function getCurrentComponentErrorInfo(parentType) {
2740
2765
  if (!info) {
2741
2766
  var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
2742
2767
  if (parentName) {
2743
- info = ' Check the top-level render call using <' + parentName + '>.';
2768
+ info = '\n\nCheck the top-level render call using <' + parentName + '>.';
2744
2769
  }
2745
2770
  }
2746
2771
  return info;
@@ -2848,7 +2873,7 @@ function validatePropTypes(element) {
2848
2873
  var ReactElementValidator = {
2849
2874
 
2850
2875
  createElement: function (type, props, children) {
2851
- var validType = typeof type === 'string' || typeof type === 'function' || type !== null && typeof type === 'object' && typeof type.tag === 'number';
2876
+ var validType = typeof type === 'string' || typeof type === 'function';
2852
2877
  // We warn in this case but don't throw. We expect the element creation to
2853
2878
  // succeed and there will likely be errors in render.
2854
2879
  if (!validType) {
@@ -2945,7 +2970,7 @@ module.exports = ReactElementValidator;
2945
2970
 
2946
2971
  var _prodInvariant = _dereq_(36);
2947
2972
 
2948
- var ReactChildren = _dereq_(8);
2973
+ var ReactChildren = _dereq_(9);
2949
2974
  var ReactElement = _dereq_(15);
2950
2975
 
2951
2976
  var emptyFunction = _dereq_(42);
@@ -2999,7 +3024,7 @@ var ReactFragment = {
2999
3024
  };
3000
3025
 
3001
3026
  module.exports = ReactFragment;
3002
- },{"15":15,"36":36,"42":42,"44":44,"46":46,"8":8}],19:[function(_dereq_,module,exports){
3027
+ },{"15":15,"36":36,"42":42,"44":44,"46":46,"9":9}],19:[function(_dereq_,module,exports){
3003
3028
  /**
3004
3029
  * Copyright 2015-present, Facebook, Inc.
3005
3030
  * All rights reserved.
@@ -3017,7 +3042,7 @@ var warning = _dereq_(46);
3017
3042
  function warnNoop(publicInstance, callerName) {
3018
3043
  if ("development" !== 'production') {
3019
3044
  var constructor = publicInstance.constructor;
3020
- "development" !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;
3045
+ "development" !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op.\n\nPlease check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;
3021
3046
  }
3022
3047
  }
3023
3048
 
@@ -3133,6 +3158,7 @@ var _prodInvariant = _dereq_(36);
3133
3158
 
3134
3159
  var ReactElement = _dereq_(15);
3135
3160
  var ReactPropTypeLocationNames = _dereq_(20);
3161
+ var ReactPropTypesSecret = _dereq_(22);
3136
3162
 
3137
3163
  var emptyFunction = _dereq_(42);
3138
3164
  var getIteratorFn = _dereq_(34);
@@ -3274,9 +3300,21 @@ function PropTypeError(message) {
3274
3300
  PropTypeError.prototype = Error.prototype;
3275
3301
 
3276
3302
  function createChainableTypeChecker(validate) {
3277
- function checkType(isRequired, props, propName, componentName, location, propFullName) {
3303
+ if ("development" !== 'production') {
3304
+ var manualPropTypeCallCache = {};
3305
+ }
3306
+ function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
3278
3307
  componentName = componentName || ANONYMOUS;
3279
3308
  propFullName = propFullName || propName;
3309
+ if ("development" !== 'production') {
3310
+ if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
3311
+ var cacheKey = componentName + ':' + propName;
3312
+ if (!manualPropTypeCallCache[cacheKey]) {
3313
+ "development" !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in production with the next major version. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', propFullName, componentName) : void 0;
3314
+ manualPropTypeCallCache[cacheKey] = true;
3315
+ }
3316
+ }
3317
+ }
3280
3318
  if (props[propName] == null) {
3281
3319
  var locationName = ReactPropTypeLocationNames[location];
3282
3320
  if (isRequired) {
@@ -3298,7 +3336,7 @@ function createChainableTypeChecker(validate) {
3298
3336
  }
3299
3337
 
3300
3338
  function createPrimitiveTypeChecker(expectedType) {
3301
- function validate(props, propName, componentName, location, propFullName) {
3339
+ function validate(props, propName, componentName, location, propFullName, secret) {
3302
3340
  var propValue = props[propName];
3303
3341
  var propType = getPropType(propValue);
3304
3342
  if (propType !== expectedType) {
@@ -3331,7 +3369,7 @@ function createArrayOfTypeChecker(typeChecker) {
3331
3369
  return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
3332
3370
  }
3333
3371
  for (var i = 0; i < propValue.length; i++) {
3334
- var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']');
3372
+ var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
3335
3373
  if (error instanceof Error) {
3336
3374
  return error;
3337
3375
  }
@@ -3401,7 +3439,7 @@ function createObjectOfTypeChecker(typeChecker) {
3401
3439
  }
3402
3440
  for (var key in propValue) {
3403
3441
  if (propValue.hasOwnProperty(key)) {
3404
- var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key);
3442
+ var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
3405
3443
  if (error instanceof Error) {
3406
3444
  return error;
3407
3445
  }
@@ -3421,7 +3459,7 @@ function createUnionTypeChecker(arrayOfTypeCheckers) {
3421
3459
  function validate(props, propName, componentName, location, propFullName) {
3422
3460
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
3423
3461
  var checker = arrayOfTypeCheckers[i];
3424
- if (checker(props, propName, componentName, location, propFullName) == null) {
3462
+ if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
3425
3463
  return null;
3426
3464
  }
3427
3465
  }
@@ -3456,7 +3494,7 @@ function createShapeTypeChecker(shapeTypes) {
3456
3494
  if (!checker) {
3457
3495
  continue;
3458
3496
  }
3459
- var error = checker(propValue, key, componentName, location, propFullName + '.' + key);
3497
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
3460
3498
  if (error) {
3461
3499
  return error;
3462
3500
  }
@@ -3573,7 +3611,7 @@ function getClassName(propValue) {
3573
3611
  }
3574
3612
 
3575
3613
  module.exports = ReactPropTypes;
3576
- },{"15":15,"20":20,"34":34,"36":36,"42":42,"44":44,"46":46}],22:[function(_dereq_,module,exports){
3614
+ },{"15":15,"20":20,"22":22,"34":34,"36":36,"42":42,"44":44,"46":46}],22:[function(_dereq_,module,exports){
3577
3615
  /**
3578
3616
  * Copyright 2013-present, Facebook, Inc.
3579
3617
  * All rights reserved.
@@ -3582,40 +3620,15 @@ module.exports = ReactPropTypes;
3582
3620
  * LICENSE file in the root directory of this source tree. An additional grant
3583
3621
  * of patent rights can be found in the PATENTS file in the same directory.
3584
3622
  *
3623
+ *
3585
3624
  */
3586
3625
 
3587
3626
  'use strict';
3588
3627
 
3589
- var _assign = _dereq_(47);
3590
-
3591
- var ReactComponent = _dereq_(10);
3592
- var ReactNoopUpdateQueue = _dereq_(19);
3593
-
3594
- var emptyObject = _dereq_(43);
3595
-
3596
- /**
3597
- * Base class helpers for the updating state of a component.
3598
- */
3599
- function ReactPureComponent(props, context, updater) {
3600
- // Duplicated from ReactComponent.
3601
- this.props = props;
3602
- this.context = context;
3603
- this.refs = emptyObject;
3604
- // We initialize the default updater but the real one gets injected by the
3605
- // renderer.
3606
- this.updater = updater || ReactNoopUpdateQueue;
3607
- }
3608
-
3609
- function ComponentDummy() {}
3610
- ComponentDummy.prototype = ReactComponent.prototype;
3611
- ReactPureComponent.prototype = new ComponentDummy();
3612
- ReactPureComponent.prototype.constructor = ReactPureComponent;
3613
- // Avoid an extra prototype jump for these methods.
3614
- _assign(ReactPureComponent.prototype, ReactComponent.prototype);
3615
- ReactPureComponent.prototype.isPureReactComponent = true;
3628
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
3616
3629
 
3617
- module.exports = ReactPureComponent;
3618
- },{"10":10,"19":19,"43":43,"47":47}],23:[function(_dereq_,module,exports){
3630
+ module.exports = ReactPropTypesSecret;
3631
+ },{}],23:[function(_dereq_,module,exports){
3619
3632
  /**
3620
3633
  * Copyright 2013-present, Facebook, Inc.
3621
3634
  * All rights reserved.
@@ -4060,7 +4073,7 @@ module.exports = {
4060
4073
 
4061
4074
  'use strict';
4062
4075
 
4063
- module.exports = '16.0.0-alpha.0';
4076
+ module.exports = '16.0.0-alpha.2';
4064
4077
  },{}],28:[function(_dereq_,module,exports){
4065
4078
  /**
4066
4079
  * Copyright 2013-present, Facebook, Inc.
@@ -4077,7 +4090,7 @@ module.exports = '16.0.0-alpha.0';
4077
4090
  var React = _dereq_(4);
4078
4091
  var ReactAddonsDOMDependencies = _dereq_(5);
4079
4092
  var ReactComponentWithPureRenderMixin = _dereq_(12);
4080
- var ReactCSSTransitionGroup = _dereq_(6);
4093
+ var ReactCSSTransitionGroup = _dereq_(7);
4081
4094
  var ReactFragment = _dereq_(18);
4082
4095
  var ReactTransitionGroup = _dereq_(25);
4083
4096
 
@@ -4112,7 +4125,7 @@ if ("development" !== 'production') {
4112
4125
  }
4113
4126
 
4114
4127
  module.exports = React;
4115
- },{"12":12,"18":18,"25":25,"37":37,"39":39,"4":4,"5":5,"6":6}],29:[function(_dereq_,module,exports){
4128
+ },{"12":12,"18":18,"25":25,"37":37,"39":39,"4":4,"5":5,"7":7}],29:[function(_dereq_,module,exports){
4116
4129
  /**
4117
4130
  * Copyright 2013-present, Facebook, Inc.
4118
4131
  * All rights reserved.
@@ -4188,6 +4201,7 @@ module.exports = canDefineProperty;
4188
4201
  var _prodInvariant = _dereq_(36);
4189
4202
 
4190
4203
  var ReactPropTypeLocationNames = _dereq_(20);
4204
+ var ReactPropTypesSecret = _dereq_(22);
4191
4205
 
4192
4206
  var invariant = _dereq_(44);
4193
4207
  var warning = _dereq_(46);
@@ -4230,7 +4244,7 @@ workInProgressOrDebugID) {
4230
4244
  // This is intentionally an invariant that gets caught. It's the same
4231
4245
  // behavior as without this statement except with a better message.
4232
4246
  !(typeof typeSpecs[typeSpecName] === 'function') ? "development" !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0;
4233
- error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location);
4247
+ error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
4234
4248
  } catch (ex) {
4235
4249
  error = ex;
4236
4250
  }
@@ -4271,7 +4285,7 @@ workInProgressOrDebugID) {
4271
4285
 
4272
4286
  module.exports = checkReactTypeSpec;
4273
4287
  }).call(this,undefined)
4274
- },{"11":11,"20":20,"36":36,"44":44,"46":46}],32:[function(_dereq_,module,exports){
4288
+ },{"11":11,"20":20,"22":22,"36":36,"44":44,"46":46}],32:[function(_dereq_,module,exports){
4275
4289
  (function (process){
4276
4290
  /**
4277
4291
  * Copyright 2013-present, Facebook, Inc.
@@ -4626,48 +4640,37 @@ function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext)
4626
4640
  } else {
4627
4641
  var iteratorFn = getIteratorFn(children);
4628
4642
  if (iteratorFn) {
4629
- var iterator = iteratorFn.call(children);
4630
- var step;
4631
- if (iteratorFn !== children.entries) {
4632
- var ii = 0;
4633
- while (!(step = iterator.next()).done) {
4634
- child = step.value;
4635
- nextName = nextNamePrefix + getComponentKey(child, ii++);
4636
- subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
4637
- }
4638
- } else {
4639
- if ("development" !== 'production') {
4643
+ if ("development" !== 'production') {
4644
+ // Warn about using Maps as children
4645
+ if (iteratorFn === children.entries) {
4640
4646
  var mapsAsChildrenAddendum = '';
4641
4647
  if (ReactCurrentOwner.current) {
4642
4648
  var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();
4643
4649
  if (mapsAsChildrenOwnerName) {
4644
- mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';
4650
+ mapsAsChildrenAddendum = '\n\nCheck the render method of `' + mapsAsChildrenOwnerName + '`.';
4645
4651
  }
4646
4652
  }
4647
- "development" !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;
4653
+ "development" !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;
4648
4654
  didWarnAboutMaps = true;
4649
4655
  }
4650
- // Iterator will provide entry [k,v] tuples rather than values.
4651
- while (!(step = iterator.next()).done) {
4652
- var entry = step.value;
4653
- if (entry) {
4654
- child = entry[1];
4655
- nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);
4656
- subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
4657
- }
4658
- }
4656
+ }
4657
+
4658
+ var iterator = iteratorFn.call(children);
4659
+ var step;
4660
+ var ii = 0;
4661
+ while (!(step = iterator.next()).done) {
4662
+ child = step.value;
4663
+ nextName = nextNamePrefix + getComponentKey(child, ii++);
4664
+ subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
4659
4665
  }
4660
4666
  } else if (type === 'object') {
4661
4667
  var addendum = '';
4662
4668
  if ("development" !== 'production') {
4663
4669
  addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';
4664
- if (children._isReactElement) {
4665
- addendum = ' It looks like you\'re using an element created by a different ' + 'version of React. Make sure to use only one copy of React.';
4666
- }
4667
4670
  if (ReactCurrentOwner.current) {
4668
4671
  var name = ReactCurrentOwner.current.getName();
4669
4672
  if (name) {
4670
- addendum += ' Check the render method of `' + name + '`.';
4673
+ addendum += '\n\nCheck the render method of `' + name + '`.';
4671
4674
  }
4672
4675
  }
4673
4676
  }
@@ -5057,12 +5060,18 @@ module.exports = emptyObject;
5057
5060
  * will remain to ensure logic does not differ in production.
5058
5061
  */
5059
5062
 
5060
- function invariant(condition, format, a, b, c, d, e, f) {
5061
- if ("development" !== 'production') {
5063
+ var validateFormat = function validateFormat(format) {};
5064
+
5065
+ if ("development" !== 'production') {
5066
+ validateFormat = function validateFormat(format) {
5062
5067
  if (format === undefined) {
5063
5068
  throw new Error('invariant requires an error message argument');
5064
5069
  }
5065
- }
5070
+ };
5071
+ }
5072
+
5073
+ function invariant(condition, format, a, b, c, d, e, f) {
5074
+ validateFormat(format);
5066
5075
 
5067
5076
  if (!condition) {
5068
5077
  var error;
@@ -5219,8 +5228,15 @@ if ("development" !== 'production') {
5219
5228
 
5220
5229
  module.exports = warning;
5221
5230
  },{"42":42}],47:[function(_dereq_,module,exports){
5231
+ /*
5232
+ object-assign
5233
+ (c) Sindre Sorhus
5234
+ @license MIT
5235
+ */
5236
+
5222
5237
  'use strict';
5223
5238
  /* eslint-disable no-unused-vars */
5239
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
5224
5240
  var hasOwnProperty = Object.prototype.hasOwnProperty;
5225
5241
  var propIsEnumerable = Object.prototype.propertyIsEnumerable;
5226
5242
 
@@ -5241,7 +5257,7 @@ function shouldUseNative() {
5241
5257
  // Detect buggy property enumeration order in older V8 versions.
5242
5258
 
5243
5259
  // https://bugs.chromium.org/p/v8/issues/detail?id=4118
5244
- var test1 = new String('abc'); // eslint-disable-line
5260
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
5245
5261
  test1[5] = 'de';
5246
5262
  if (Object.getOwnPropertyNames(test1)[0] === '5') {
5247
5263
  return false;
@@ -5270,7 +5286,7 @@ function shouldUseNative() {
5270
5286
  }
5271
5287
 
5272
5288
  return true;
5273
- } catch (e) {
5289
+ } catch (err) {
5274
5290
  // We don't expect any of the above to throw, but better to be safe.
5275
5291
  return false;
5276
5292
  }
@@ -5290,8 +5306,8 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5290
5306
  }
5291
5307
  }
5292
5308
 
5293
- if (Object.getOwnPropertySymbols) {
5294
- symbols = Object.getOwnPropertySymbols(from);
5309
+ if (getOwnPropertySymbols) {
5310
+ symbols = getOwnPropertySymbols(from);
5295
5311
  for (var i = 0; i < symbols.length; i++) {
5296
5312
  if (propIsEnumerable.call(from, symbols[i])) {
5297
5313
  to[symbols[i]] = from[symbols[i]];