react 15.4.0 → 15.5.0-rc.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) v15.4.0
2
+ * React (with addons) v15.5.0-rc.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
  /**
@@ -14,7 +14,7 @@
14
14
 
15
15
  'use strict';
16
16
 
17
- var ExecutionEnvironment = _dereq_(43);
17
+ var ExecutionEnvironment = _dereq_(44);
18
18
 
19
19
  /**
20
20
  * Generate a mapping of standard vendor prefixes using the defined style property and event name.
@@ -102,7 +102,7 @@ function getVendorPrefixedEventName(eventName) {
102
102
  }
103
103
 
104
104
  module.exports = getVendorPrefixedEventName;
105
- },{"43":43}],2:[function(_dereq_,module,exports){
105
+ },{"44":44}],2:[function(_dereq_,module,exports){
106
106
  /**
107
107
  * Copyright 2013-present, Facebook, Inc.
108
108
  * All rights reserved.
@@ -210,9 +210,9 @@ module.exports = LinkedStateMixin;
210
210
 
211
211
  'use strict';
212
212
 
213
- var _prodInvariant = _dereq_(38);
213
+ var _prodInvariant = _dereq_(39);
214
214
 
215
- var invariant = _dereq_(46);
215
+ var invariant = _dereq_(47);
216
216
 
217
217
  /**
218
218
  * Static poolers. Several custom versions for each potential number of
@@ -265,17 +265,6 @@ var fourArgumentPooler = function (a1, a2, a3, a4) {
265
265
  }
266
266
  };
267
267
 
268
- var fiveArgumentPooler = function (a1, a2, a3, a4, a5) {
269
- var Klass = this;
270
- if (Klass.instancePool.length) {
271
- var instance = Klass.instancePool.pop();
272
- Klass.call(instance, a1, a2, a3, a4, a5);
273
- return instance;
274
- } else {
275
- return new Klass(a1, a2, a3, a4, a5);
276
- }
277
- };
278
-
279
268
  var standardReleaser = function (instance) {
280
269
  var Klass = this;
281
270
  !(instance instanceof Klass) ? "development" !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;
@@ -315,12 +304,11 @@ var PooledClass = {
315
304
  oneArgumentPooler: oneArgumentPooler,
316
305
  twoArgumentPooler: twoArgumentPooler,
317
306
  threeArgumentPooler: threeArgumentPooler,
318
- fourArgumentPooler: fourArgumentPooler,
319
- fiveArgumentPooler: fiveArgumentPooler
307
+ fourArgumentPooler: fourArgumentPooler
320
308
  };
321
309
 
322
310
  module.exports = PooledClass;
323
- },{"38":38,"46":46}],5:[function(_dereq_,module,exports){
311
+ },{"39":39,"47":47}],5:[function(_dereq_,module,exports){
324
312
  /**
325
313
  * Copyright 2013-present, Facebook, Inc.
326
314
  * All rights reserved.
@@ -333,7 +321,7 @@ module.exports = PooledClass;
333
321
 
334
322
  'use strict';
335
323
 
336
- var _assign = _dereq_(49);
324
+ var _assign = _dereq_(50);
337
325
 
338
326
  var ReactChildren = _dereq_(9);
339
327
  var ReactComponent = _dereq_(11);
@@ -344,15 +332,17 @@ var ReactElement = _dereq_(16);
344
332
  var ReactPropTypes = _dereq_(23);
345
333
  var ReactVersion = _dereq_(30);
346
334
 
347
- var onlyChild = _dereq_(37);
348
- var warning = _dereq_(48);
335
+ var onlyChild = _dereq_(38);
336
+ var warning = _dereq_(49);
349
337
 
350
338
  var createElement = ReactElement.createElement;
351
339
  var createFactory = ReactElement.createFactory;
352
340
  var cloneElement = ReactElement.cloneElement;
353
341
 
354
342
  if ("development" !== 'production') {
343
+ var canDefineProperty = _dereq_(33);
355
344
  var ReactElementValidator = _dereq_(18);
345
+ var didWarnPropTypesDeprecated = false;
356
346
  createElement = ReactElementValidator.createElement;
357
347
  createFactory = ReactElementValidator.createFactory;
358
348
  cloneElement = ReactElementValidator.cloneElement;
@@ -408,8 +398,21 @@ var React = {
408
398
  __spread: __spread
409
399
  };
410
400
 
401
+ // TODO: Fix tests so that this deprecation warning doesn't cause failures.
402
+ if ("development" !== 'production') {
403
+ if (canDefineProperty) {
404
+ Object.defineProperty(React, 'PropTypes', {
405
+ get: function () {
406
+ "development" !== 'production' ? warning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated. Use ' + 'the prop-types package from npm instead.') : void 0;
407
+ didWarnPropTypesDeprecated = true;
408
+ return ReactPropTypes;
409
+ }
410
+ });
411
+ }
412
+ }
413
+
411
414
  module.exports = React;
412
- },{"10":10,"11":11,"15":15,"16":16,"18":18,"23":23,"25":25,"30":30,"37":37,"48":48,"49":49,"9":9}],6:[function(_dereq_,module,exports){
415
+ },{"10":10,"11":11,"15":15,"16":16,"18":18,"23":23,"25":25,"30":30,"33":33,"38":38,"49":49,"50":50,"9":9}],6:[function(_dereq_,module,exports){
413
416
  /**
414
417
  * Copyright 2013-present, Facebook, Inc.
415
418
  * All rights reserved.
@@ -420,28 +423,32 @@ module.exports = React;
420
423
  *
421
424
  */
422
425
 
423
- /* globals ReactDOM */
424
-
425
426
  'use strict';
426
427
 
427
- exports.getReactDOM = function () {
428
+ var ReactDOM;
429
+
430
+ function getReactDOM() {
431
+ if (!ReactDOM) {
432
+ // This is safe to use because current module only exists in the addons build:
433
+ var ReactWithAddonsUMDEntry = _dereq_(32);
434
+ // This is injected by the ReactDOM UMD build:
435
+ ReactDOM = ReactWithAddonsUMDEntry.__SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
436
+ }
428
437
  return ReactDOM;
429
- };
438
+ }
430
439
 
431
- exports.getReactInstanceMap = function () {
432
- return ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactInstanceMap;
433
- };
440
+ exports.getReactDOM = getReactDOM;
434
441
 
435
442
  if ("development" !== 'production') {
436
443
  exports.getReactPerf = function () {
437
- return ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactPerf;
444
+ return getReactDOM().__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactPerf;
438
445
  };
439
446
 
440
447
  exports.getReactTestUtils = function () {
441
- return ReactDOM.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactTestUtils;
448
+ return getReactDOM().__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactTestUtils;
442
449
  };
443
450
  }
444
- },{}],7:[function(_dereq_,module,exports){
451
+ },{"32":32}],7:[function(_dereq_,module,exports){
445
452
  /**
446
453
  * Copyright 2013-present, Facebook, Inc.
447
454
  * All rights reserved.
@@ -454,7 +461,7 @@ if ("development" !== 'production') {
454
461
 
455
462
  'use strict';
456
463
 
457
- var _assign = _dereq_(49);
464
+ var _assign = _dereq_(50);
458
465
 
459
466
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
460
467
 
@@ -463,6 +470,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
463
470
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
464
471
 
465
472
  var React = _dereq_(5);
473
+ var propTypesFactory = _dereq_(52);
474
+ var PropTypes = propTypesFactory(React.isValidElement);
466
475
 
467
476
  var ReactTransitionGroup = _dereq_(29);
468
477
  var ReactCSSTransitionGroupChild = _dereq_(8);
@@ -531,9 +540,9 @@ ReactCSSTransitionGroup.displayName = 'ReactCSSTransitionGroup';
531
540
  ReactCSSTransitionGroup.propTypes = {
532
541
  transitionName: ReactCSSTransitionGroupChild.propTypes.name,
533
542
 
534
- transitionAppear: React.PropTypes.bool,
535
- transitionEnter: React.PropTypes.bool,
536
- transitionLeave: React.PropTypes.bool,
543
+ transitionAppear: PropTypes.bool,
544
+ transitionEnter: PropTypes.bool,
545
+ transitionLeave: PropTypes.bool,
537
546
  transitionAppearTimeout: createTransitionTimeoutPropValidator('Appear'),
538
547
  transitionEnterTimeout: createTransitionTimeoutPropValidator('Enter'),
539
548
  transitionLeaveTimeout: createTransitionTimeoutPropValidator('Leave')
@@ -546,7 +555,7 @@ ReactCSSTransitionGroup.defaultProps = {
546
555
 
547
556
 
548
557
  module.exports = ReactCSSTransitionGroup;
549
- },{"29":29,"49":49,"5":5,"8":8}],8:[function(_dereq_,module,exports){
558
+ },{"29":29,"5":5,"50":50,"52":52,"8":8}],8:[function(_dereq_,module,exports){
550
559
  /**
551
560
  * Copyright 2013-present, Facebook, Inc.
552
561
  * All rights reserved.
@@ -559,120 +568,134 @@ module.exports = ReactCSSTransitionGroup;
559
568
 
560
569
  'use strict';
561
570
 
571
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
572
+
573
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
574
+
575
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
576
+
562
577
  var React = _dereq_(5);
563
578
  var ReactAddonsDOMDependencies = _dereq_(6);
564
579
 
565
- var CSSCore = _dereq_(42);
580
+ var propTypesFactory = _dereq_(52);
581
+ var PropTypes = propTypesFactory(React.isValidElement);
582
+
583
+ var CSSCore = _dereq_(43);
566
584
  var ReactTransitionEvents = _dereq_(28);
567
585
 
568
- var onlyChild = _dereq_(37);
586
+ var onlyChild = _dereq_(38);
569
587
 
570
588
  var TICK = 17;
571
589
 
572
- var ReactCSSTransitionGroupChild = React.createClass({
573
- displayName: 'ReactCSSTransitionGroupChild',
574
-
575
- propTypes: {
576
- name: React.PropTypes.oneOfType([React.PropTypes.string, React.PropTypes.shape({
577
- enter: React.PropTypes.string,
578
- leave: React.PropTypes.string,
579
- active: React.PropTypes.string
580
- }), React.PropTypes.shape({
581
- enter: React.PropTypes.string,
582
- enterActive: React.PropTypes.string,
583
- leave: React.PropTypes.string,
584
- leaveActive: React.PropTypes.string,
585
- appear: React.PropTypes.string,
586
- appearActive: React.PropTypes.string
587
- })]).isRequired,
588
-
589
- // Once we require timeouts to be specified, we can remove the
590
- // boolean flags (appear etc.) and just accept a number
591
- // or a bool for the timeout flags (appearTimeout etc.)
592
- appear: React.PropTypes.bool,
593
- enter: React.PropTypes.bool,
594
- leave: React.PropTypes.bool,
595
- appearTimeout: React.PropTypes.number,
596
- enterTimeout: React.PropTypes.number,
597
- leaveTimeout: React.PropTypes.number
598
- },
590
+ var ReactCSSTransitionGroupChild = function (_React$Component) {
591
+ _inherits(ReactCSSTransitionGroupChild, _React$Component);
599
592
 
600
- transition: function (animationType, finishCallback, userSpecifiedDelay) {
601
- var node = ReactAddonsDOMDependencies.getReactDOM().findDOMNode(this);
593
+ function ReactCSSTransitionGroupChild() {
594
+ var _temp, _this, _ret;
602
595
 
603
- if (!node) {
604
- if (finishCallback) {
605
- finishCallback();
606
- }
607
- return;
596
+ _classCallCheck(this, ReactCSSTransitionGroupChild);
597
+
598
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
599
+ args[_key] = arguments[_key];
608
600
  }
609
601
 
610
- var className = this.props.name[animationType] || this.props.name + '-' + animationType;
611
- var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';
612
- var timeout = null;
602
+ return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._isMounted = false, _this.transition = function (animationType, finishCallback, userSpecifiedDelay) {
603
+ var node = ReactAddonsDOMDependencies.getReactDOM().findDOMNode(_this);
613
604
 
614
- var endListener = function (e) {
615
- if (e && e.target !== node) {
605
+ if (!node) {
606
+ if (finishCallback) {
607
+ finishCallback();
608
+ }
616
609
  return;
617
610
  }
618
611
 
619
- clearTimeout(timeout);
620
-
621
- CSSCore.removeClass(node, className);
622
- CSSCore.removeClass(node, activeClassName);
612
+ var className = _this.props.name[animationType] || _this.props.name + '-' + animationType;
613
+ var activeClassName = _this.props.name[animationType + 'Active'] || className + '-active';
614
+ var timeout = null;
623
615
 
624
- ReactTransitionEvents.removeEndEventListener(node, endListener);
616
+ var endListener = function (e) {
617
+ if (e && e.target !== node) {
618
+ return;
619
+ }
625
620
 
626
- // Usually this optional callback is used for informing an owner of
627
- // a leave animation and telling it to remove the child.
628
- if (finishCallback) {
629
- finishCallback();
630
- }
631
- };
621
+ clearTimeout(timeout);
632
622
 
633
- CSSCore.addClass(node, className);
623
+ CSSCore.removeClass(node, className);
624
+ CSSCore.removeClass(node, activeClassName);
634
625
 
635
- // Need to do this to actually trigger a transition.
636
- this.queueClassAndNode(activeClassName, node);
626
+ ReactTransitionEvents.removeEndEventListener(node, endListener);
637
627
 
638
- // If the user specified a timeout delay.
639
- if (userSpecifiedDelay) {
640
- // Clean-up the animation after the specified delay
641
- timeout = setTimeout(endListener, userSpecifiedDelay);
642
- this.transitionTimeouts.push(timeout);
643
- } else {
644
- // DEPRECATED: this listener will be removed in a future version of react
645
- ReactTransitionEvents.addEndEventListener(node, endListener);
646
- }
647
- },
628
+ // Usually this optional callback is used for informing an owner of
629
+ // a leave animation and telling it to remove the child.
630
+ if (finishCallback) {
631
+ finishCallback();
632
+ }
633
+ };
648
634
 
649
- queueClassAndNode: function (className, node) {
650
- this.classNameAndNodeQueue.push({
651
- className: className,
652
- node: node
653
- });
635
+ CSSCore.addClass(node, className);
654
636
 
655
- if (!this.timeout) {
656
- this.timeout = setTimeout(this.flushClassNameAndNodeQueue, TICK);
657
- }
658
- },
637
+ // Need to do this to actually trigger a transition.
638
+ _this.queueClassAndNode(activeClassName, node);
659
639
 
660
- flushClassNameAndNodeQueue: function () {
661
- if (this.isMounted()) {
662
- this.classNameAndNodeQueue.forEach(function (obj) {
663
- CSSCore.addClass(obj.node, obj.className);
640
+ // If the user specified a timeout delay.
641
+ if (userSpecifiedDelay) {
642
+ // Clean-up the animation after the specified delay
643
+ timeout = setTimeout(endListener, userSpecifiedDelay);
644
+ _this.transitionTimeouts.push(timeout);
645
+ } else {
646
+ // DEPRECATED: this listener will be removed in a future version of react
647
+ ReactTransitionEvents.addEndEventListener(node, endListener);
648
+ }
649
+ }, _this.queueClassAndNode = function (className, node) {
650
+ _this.classNameAndNodeQueue.push({
651
+ className: className,
652
+ node: node
664
653
  });
665
- }
666
- this.classNameAndNodeQueue.length = 0;
667
- this.timeout = null;
668
- },
669
654
 
670
- componentWillMount: function () {
655
+ if (!_this.timeout) {
656
+ _this.timeout = setTimeout(_this.flushClassNameAndNodeQueue, TICK);
657
+ }
658
+ }, _this.flushClassNameAndNodeQueue = function () {
659
+ if (_this._isMounted) {
660
+ _this.classNameAndNodeQueue.forEach(function (obj) {
661
+ CSSCore.addClass(obj.node, obj.className);
662
+ });
663
+ }
664
+ _this.classNameAndNodeQueue.length = 0;
665
+ _this.timeout = null;
666
+ }, _this.componentWillAppear = function (done) {
667
+ if (_this.props.appear) {
668
+ _this.transition('appear', done, _this.props.appearTimeout);
669
+ } else {
670
+ done();
671
+ }
672
+ }, _this.componentWillEnter = function (done) {
673
+ if (_this.props.enter) {
674
+ _this.transition('enter', done, _this.props.enterTimeout);
675
+ } else {
676
+ done();
677
+ }
678
+ }, _this.componentWillLeave = function (done) {
679
+ if (_this.props.leave) {
680
+ _this.transition('leave', done, _this.props.leaveTimeout);
681
+ } else {
682
+ done();
683
+ }
684
+ }, _temp), _possibleConstructorReturn(_this, _ret);
685
+ }
686
+
687
+ ReactCSSTransitionGroupChild.prototype.componentWillMount = function componentWillMount() {
671
688
  this.classNameAndNodeQueue = [];
672
689
  this.transitionTimeouts = [];
673
- },
690
+ };
691
+
692
+ ReactCSSTransitionGroupChild.prototype.componentDidMount = function componentDidMount() {
693
+ this._isMounted = true;
694
+ };
695
+
696
+ ReactCSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {
697
+ this._isMounted = false;
674
698
 
675
- componentWillUnmount: function () {
676
699
  if (this.timeout) {
677
700
  clearTimeout(this.timeout);
678
701
  }
@@ -681,39 +704,43 @@ var ReactCSSTransitionGroupChild = React.createClass({
681
704
  });
682
705
 
683
706
  this.classNameAndNodeQueue.length = 0;
684
- },
707
+ };
685
708
 
686
- componentWillAppear: function (done) {
687
- if (this.props.appear) {
688
- this.transition('appear', done, this.props.appearTimeout);
689
- } else {
690
- done();
691
- }
692
- },
709
+ ReactCSSTransitionGroupChild.prototype.render = function render() {
710
+ return onlyChild(this.props.children);
711
+ };
693
712
 
694
- componentWillEnter: function (done) {
695
- if (this.props.enter) {
696
- this.transition('enter', done, this.props.enterTimeout);
697
- } else {
698
- done();
699
- }
700
- },
713
+ return ReactCSSTransitionGroupChild;
714
+ }(React.Component);
701
715
 
702
- componentWillLeave: function (done) {
703
- if (this.props.leave) {
704
- this.transition('leave', done, this.props.leaveTimeout);
705
- } else {
706
- done();
707
- }
708
- },
716
+ ReactCSSTransitionGroupChild.propTypes = {
717
+ name: PropTypes.oneOfType([PropTypes.string, PropTypes.shape({
718
+ enter: PropTypes.string,
719
+ leave: PropTypes.string,
720
+ active: PropTypes.string
721
+ }), PropTypes.shape({
722
+ enter: PropTypes.string,
723
+ enterActive: PropTypes.string,
724
+ leave: PropTypes.string,
725
+ leaveActive: PropTypes.string,
726
+ appear: PropTypes.string,
727
+ appearActive: PropTypes.string
728
+ })]).isRequired,
729
+
730
+ // Once we require timeouts to be specified, we can remove the
731
+ // boolean flags (appear etc.) and just accept a number
732
+ // or a bool for the timeout flags (appearTimeout etc.)
733
+ appear: PropTypes.bool,
734
+ enter: PropTypes.bool,
735
+ leave: PropTypes.bool,
736
+ appearTimeout: PropTypes.number,
737
+ enterTimeout: PropTypes.number,
738
+ leaveTimeout: PropTypes.number
739
+ };
709
740
 
710
- render: function () {
711
- return onlyChild(this.props.children);
712
- }
713
- });
714
741
 
715
742
  module.exports = ReactCSSTransitionGroupChild;
716
- },{"28":28,"37":37,"42":42,"5":5,"6":6}],9:[function(_dereq_,module,exports){
743
+ },{"28":28,"38":38,"43":43,"5":5,"52":52,"6":6}],9:[function(_dereq_,module,exports){
717
744
  /**
718
745
  * Copyright 2013-present, Facebook, Inc.
719
746
  * All rights reserved.
@@ -729,8 +756,8 @@ module.exports = ReactCSSTransitionGroupChild;
729
756
  var PooledClass = _dereq_(4);
730
757
  var ReactElement = _dereq_(16);
731
758
 
732
- var emptyFunction = _dereq_(44);
733
- var traverseAllChildren = _dereq_(40);
759
+ var emptyFunction = _dereq_(45);
760
+ var traverseAllChildren = _dereq_(41);
734
761
 
735
762
  var twoArgumentPooler = PooledClass.twoArgumentPooler;
736
763
  var fourArgumentPooler = PooledClass.fourArgumentPooler;
@@ -904,7 +931,7 @@ var ReactChildren = {
904
931
  };
905
932
 
906
933
  module.exports = ReactChildren;
907
- },{"16":16,"4":4,"40":40,"44":44}],10:[function(_dereq_,module,exports){
934
+ },{"16":16,"4":4,"41":41,"45":45}],10:[function(_dereq_,module,exports){
908
935
  /**
909
936
  * Copyright 2013-present, Facebook, Inc.
910
937
  * All rights reserved.
@@ -917,17 +944,17 @@ module.exports = ReactChildren;
917
944
 
918
945
  'use strict';
919
946
 
920
- var _prodInvariant = _dereq_(38),
921
- _assign = _dereq_(49);
947
+ var _prodInvariant = _dereq_(39),
948
+ _assign = _dereq_(50);
922
949
 
923
950
  var ReactComponent = _dereq_(11);
924
951
  var ReactElement = _dereq_(16);
925
952
  var ReactPropTypeLocationNames = _dereq_(22);
926
953
  var ReactNoopUpdateQueue = _dereq_(21);
927
954
 
928
- var emptyObject = _dereq_(45);
929
- var invariant = _dereq_(46);
930
- var warning = _dereq_(48);
955
+ var emptyObject = _dereq_(46);
956
+ var invariant = _dereq_(47);
957
+ var warning = _dereq_(49);
931
958
 
932
959
  var MIXINS_KEY = 'mixins';
933
960
 
@@ -1058,7 +1085,6 @@ var ReactClassInterface = {
1058
1085
  * }
1059
1086
  *
1060
1087
  * @return {ReactComponent}
1061
- * @nosideeffects
1062
1088
  * @required
1063
1089
  */
1064
1090
  render: 'DEFINE_ONCE',
@@ -1514,6 +1540,8 @@ var ReactClassMixin = {
1514
1540
  var ReactClassComponent = function () {};
1515
1541
  _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);
1516
1542
 
1543
+ var didWarnDeprecated = false;
1544
+
1517
1545
  /**
1518
1546
  * Module for creating composite components.
1519
1547
  *
@@ -1530,6 +1558,11 @@ var ReactClass = {
1530
1558
  * @public
1531
1559
  */
1532
1560
  createClass: function (spec) {
1561
+ if ("development" !== 'production') {
1562
+ "development" !== 'production' ? warning(didWarnDeprecated, '%s: React.createClass is deprecated and will be removed in version 16. ' + 'Use plain JavaScript classes instead. If you\'re not yet ready to ' + 'migrate, create-react-class is available on npm as a ' + 'drop-in replacement.', spec && spec.displayName || 'A Component') : void 0;
1563
+ didWarnDeprecated = true;
1564
+ }
1565
+
1533
1566
  // To keep our warnings more understandable, we'll use a little hack here to
1534
1567
  // ensure that Constructor.name !== 'Constructor'. This makes sure we don't
1535
1568
  // unnecessarily identify a class without displayName as 'Constructor'.
@@ -1621,7 +1654,7 @@ var ReactClass = {
1621
1654
  };
1622
1655
 
1623
1656
  module.exports = ReactClass;
1624
- },{"11":11,"16":16,"21":21,"22":22,"38":38,"45":45,"46":46,"48":48,"49":49}],11:[function(_dereq_,module,exports){
1657
+ },{"11":11,"16":16,"21":21,"22":22,"39":39,"46":46,"47":47,"49":49,"50":50}],11:[function(_dereq_,module,exports){
1625
1658
  /**
1626
1659
  * Copyright 2013-present, Facebook, Inc.
1627
1660
  * All rights reserved.
@@ -1634,14 +1667,14 @@ module.exports = ReactClass;
1634
1667
 
1635
1668
  'use strict';
1636
1669
 
1637
- var _prodInvariant = _dereq_(38);
1670
+ var _prodInvariant = _dereq_(39);
1638
1671
 
1639
1672
  var ReactNoopUpdateQueue = _dereq_(21);
1640
1673
 
1641
1674
  var canDefineProperty = _dereq_(33);
1642
- var emptyObject = _dereq_(45);
1643
- var invariant = _dereq_(46);
1644
- var warning = _dereq_(48);
1675
+ var emptyObject = _dereq_(46);
1676
+ var invariant = _dereq_(47);
1677
+ var warning = _dereq_(49);
1645
1678
 
1646
1679
  /**
1647
1680
  * Base class helpers for the updating state of a component.
@@ -1739,7 +1772,7 @@ if ("development" !== 'production') {
1739
1772
  }
1740
1773
 
1741
1774
  module.exports = ReactComponent;
1742
- },{"21":21,"33":33,"38":38,"45":45,"46":46,"48":48}],12:[function(_dereq_,module,exports){
1775
+ },{"21":21,"33":33,"39":39,"46":46,"47":47,"49":49}],12:[function(_dereq_,module,exports){
1743
1776
  /**
1744
1777
  * Copyright 2016-present, Facebook, Inc.
1745
1778
  * All rights reserved.
@@ -1753,12 +1786,12 @@ module.exports = ReactComponent;
1753
1786
 
1754
1787
  'use strict';
1755
1788
 
1756
- var _prodInvariant = _dereq_(38);
1789
+ var _prodInvariant = _dereq_(39);
1757
1790
 
1758
1791
  var ReactCurrentOwner = _dereq_(14);
1759
1792
 
1760
- var invariant = _dereq_(46);
1761
- var warning = _dereq_(48);
1793
+ var invariant = _dereq_(47);
1794
+ var warning = _dereq_(49);
1762
1795
 
1763
1796
  function isNative(fn) {
1764
1797
  // Based on isNative() from Lodash
@@ -1791,30 +1824,38 @@ typeof Set === 'function' && isNative(Set) &&
1791
1824
  // Set.prototype.keys
1792
1825
  Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);
1793
1826
 
1827
+ var setItem;
1828
+ var getItem;
1829
+ var removeItem;
1830
+ var getItemIDs;
1831
+ var addRoot;
1832
+ var removeRoot;
1833
+ var getRootIDs;
1834
+
1794
1835
  if (canUseCollections) {
1795
1836
  var itemMap = new Map();
1796
1837
  var rootIDSet = new Set();
1797
1838
 
1798
- var setItem = function (id, item) {
1839
+ setItem = function (id, item) {
1799
1840
  itemMap.set(id, item);
1800
1841
  };
1801
- var getItem = function (id) {
1842
+ getItem = function (id) {
1802
1843
  return itemMap.get(id);
1803
1844
  };
1804
- var removeItem = function (id) {
1845
+ removeItem = function (id) {
1805
1846
  itemMap['delete'](id);
1806
1847
  };
1807
- var getItemIDs = function () {
1848
+ getItemIDs = function () {
1808
1849
  return Array.from(itemMap.keys());
1809
1850
  };
1810
1851
 
1811
- var addRoot = function (id) {
1852
+ addRoot = function (id) {
1812
1853
  rootIDSet.add(id);
1813
1854
  };
1814
- var removeRoot = function (id) {
1855
+ removeRoot = function (id) {
1815
1856
  rootIDSet['delete'](id);
1816
1857
  };
1817
- var getRootIDs = function () {
1858
+ getRootIDs = function () {
1818
1859
  return Array.from(rootIDSet.keys());
1819
1860
  };
1820
1861
  } else {
@@ -1830,31 +1871,31 @@ if (canUseCollections) {
1830
1871
  return parseInt(key.substr(1), 10);
1831
1872
  };
1832
1873
 
1833
- var setItem = function (id, item) {
1874
+ setItem = function (id, item) {
1834
1875
  var key = getKeyFromID(id);
1835
1876
  itemByKey[key] = item;
1836
1877
  };
1837
- var getItem = function (id) {
1878
+ getItem = function (id) {
1838
1879
  var key = getKeyFromID(id);
1839
1880
  return itemByKey[key];
1840
1881
  };
1841
- var removeItem = function (id) {
1882
+ removeItem = function (id) {
1842
1883
  var key = getKeyFromID(id);
1843
1884
  delete itemByKey[key];
1844
1885
  };
1845
- var getItemIDs = function () {
1886
+ getItemIDs = function () {
1846
1887
  return Object.keys(itemByKey).map(getIDFromKey);
1847
1888
  };
1848
1889
 
1849
- var addRoot = function (id) {
1890
+ addRoot = function (id) {
1850
1891
  var key = getKeyFromID(id);
1851
1892
  rootByKey[key] = true;
1852
1893
  };
1853
- var removeRoot = function (id) {
1894
+ removeRoot = function (id) {
1854
1895
  var key = getKeyFromID(id);
1855
1896
  delete rootByKey[key];
1856
1897
  };
1857
- var getRootIDs = function () {
1898
+ getRootIDs = function () {
1858
1899
  return Object.keys(rootByKey).map(getIDFromKey);
1859
1900
  };
1860
1901
  }
@@ -2065,7 +2106,7 @@ var ReactComponentTreeHook = {
2065
2106
  };
2066
2107
 
2067
2108
  module.exports = ReactComponentTreeHook;
2068
- },{"14":14,"38":38,"46":46,"48":48}],13:[function(_dereq_,module,exports){
2109
+ },{"14":14,"39":39,"47":47,"49":49}],13:[function(_dereq_,module,exports){
2069
2110
  /**
2070
2111
  * Copyright 2013-present, Facebook, Inc.
2071
2112
  * All rights reserved.
@@ -2078,7 +2119,7 @@ module.exports = ReactComponentTreeHook;
2078
2119
 
2079
2120
  'use strict';
2080
2121
 
2081
- var shallowCompare = _dereq_(39);
2122
+ var shallowCompare = _dereq_(40);
2082
2123
 
2083
2124
  /**
2084
2125
  * If your React component's render function is "pure", e.g. it will render the
@@ -2113,7 +2154,7 @@ var ReactComponentWithPureRenderMixin = {
2113
2154
  };
2114
2155
 
2115
2156
  module.exports = ReactComponentWithPureRenderMixin;
2116
- },{"39":39}],14:[function(_dereq_,module,exports){
2157
+ },{"40":40}],14:[function(_dereq_,module,exports){
2117
2158
  /**
2118
2159
  * Copyright 2013-present, Facebook, Inc.
2119
2160
  * All rights reserved.
@@ -2327,11 +2368,11 @@ module.exports = ReactDOMFactories;
2327
2368
 
2328
2369
  'use strict';
2329
2370
 
2330
- var _assign = _dereq_(49);
2371
+ var _assign = _dereq_(50);
2331
2372
 
2332
2373
  var ReactCurrentOwner = _dereq_(14);
2333
2374
 
2334
- var warning = _dereq_(48);
2375
+ var warning = _dereq_(49);
2335
2376
  var canDefineProperty = _dereq_(33);
2336
2377
  var hasOwnProperty = Object.prototype.hasOwnProperty;
2337
2378
 
@@ -2655,7 +2696,7 @@ ReactElement.isValidElement = function (object) {
2655
2696
  };
2656
2697
 
2657
2698
  module.exports = ReactElement;
2658
- },{"14":14,"17":17,"33":33,"48":48,"49":49}],17:[function(_dereq_,module,exports){
2699
+ },{"14":14,"17":17,"33":33,"49":49,"50":50}],17:[function(_dereq_,module,exports){
2659
2700
  /**
2660
2701
  * Copyright 2014-present, Facebook, Inc.
2661
2702
  * All rights reserved.
@@ -2703,7 +2744,7 @@ var checkReactTypeSpec = _dereq_(34);
2703
2744
 
2704
2745
  var canDefineProperty = _dereq_(33);
2705
2746
  var getIteratorFn = _dereq_(36);
2706
- var warning = _dereq_(48);
2747
+ var warning = _dereq_(49);
2707
2748
 
2708
2749
  function getDeclarationErrorAddendum() {
2709
2750
  if (ReactCurrentOwner.current) {
@@ -2715,6 +2756,16 @@ function getDeclarationErrorAddendum() {
2715
2756
  return '';
2716
2757
  }
2717
2758
 
2759
+ function getSourceInfoErrorAddendum(elementProps) {
2760
+ if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) {
2761
+ var source = elementProps.__source;
2762
+ var fileName = source.fileName.replace(/^.*[\\\/]/, '');
2763
+ var lineNumber = source.lineNumber;
2764
+ return ' Check your code at ' + fileName + ':' + lineNumber + '.';
2765
+ }
2766
+ return '';
2767
+ }
2768
+
2718
2769
  /**
2719
2770
  * Warn if there's no key explicitly set on dynamic arrays of children or
2720
2771
  * object keys are not valid. This allows us to keep track of children between
@@ -2840,7 +2891,23 @@ var ReactElementValidator = {
2840
2891
  // We warn in this case but don't throw. We expect the element creation to
2841
2892
  // succeed and there will likely be errors in render.
2842
2893
  if (!validType) {
2843
- "development" !== 'production' ? warning(false, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0;
2894
+ if (typeof type !== 'function' && typeof type !== 'string') {
2895
+ var info = '';
2896
+ if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
2897
+ info += ' You likely forgot to export your component from the file ' + 'it\'s defined in.';
2898
+ }
2899
+
2900
+ var sourceInfo = getSourceInfoErrorAddendum(props);
2901
+ if (sourceInfo) {
2902
+ info += sourceInfo;
2903
+ } else {
2904
+ info += getDeclarationErrorAddendum();
2905
+ }
2906
+
2907
+ info += ReactComponentTreeHook.getCurrentStackAddendum();
2908
+
2909
+ "development" !== 'production' ? warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', type == null ? type : typeof type, info) : void 0;
2910
+ }
2844
2911
  }
2845
2912
 
2846
2913
  var element = ReactElement.createElement.apply(this, arguments);
@@ -2902,7 +2969,7 @@ var ReactElementValidator = {
2902
2969
  };
2903
2970
 
2904
2971
  module.exports = ReactElementValidator;
2905
- },{"12":12,"14":14,"16":16,"33":33,"34":34,"36":36,"48":48}],19:[function(_dereq_,module,exports){
2972
+ },{"12":12,"14":14,"16":16,"33":33,"34":34,"36":36,"49":49}],19:[function(_dereq_,module,exports){
2906
2973
  /**
2907
2974
  * Copyright 2015-present, Facebook, Inc.
2908
2975
  * All rights reserved.
@@ -2915,14 +2982,14 @@ module.exports = ReactElementValidator;
2915
2982
 
2916
2983
  'use strict';
2917
2984
 
2918
- var _prodInvariant = _dereq_(38);
2985
+ var _prodInvariant = _dereq_(39);
2919
2986
 
2920
2987
  var ReactChildren = _dereq_(9);
2921
2988
  var ReactElement = _dereq_(16);
2922
2989
 
2923
- var emptyFunction = _dereq_(44);
2924
- var invariant = _dereq_(46);
2925
- var warning = _dereq_(48);
2990
+ var emptyFunction = _dereq_(45);
2991
+ var invariant = _dereq_(47);
2992
+ var warning = _dereq_(49);
2926
2993
 
2927
2994
  /**
2928
2995
  * We used to allow keyed objects to serve as a collection of ReactElements,
@@ -2971,7 +3038,7 @@ var ReactFragment = {
2971
3038
  };
2972
3039
 
2973
3040
  module.exports = ReactFragment;
2974
- },{"16":16,"38":38,"44":44,"46":46,"48":48,"9":9}],20:[function(_dereq_,module,exports){
3041
+ },{"16":16,"39":39,"45":45,"47":47,"49":49,"9":9}],20:[function(_dereq_,module,exports){
2975
3042
  /**
2976
3043
  * Copyright 2013-present, Facebook, Inc.
2977
3044
  * All rights reserved.
@@ -3055,7 +3122,7 @@ module.exports = ReactLink;
3055
3122
 
3056
3123
  'use strict';
3057
3124
 
3058
- var warning = _dereq_(48);
3125
+ var warning = _dereq_(49);
3059
3126
 
3060
3127
  function warnNoop(publicInstance, callerName) {
3061
3128
  if ("development" !== 'production') {
@@ -3138,7 +3205,7 @@ var ReactNoopUpdateQueue = {
3138
3205
  };
3139
3206
 
3140
3207
  module.exports = ReactNoopUpdateQueue;
3141
- },{"48":48}],22:[function(_dereq_,module,exports){
3208
+ },{"49":49}],22:[function(_dereq_,module,exports){
3142
3209
  /**
3143
3210
  * Copyright 2013-present, Facebook, Inc.
3144
3211
  * All rights reserved.
@@ -3176,546 +3243,131 @@ module.exports = ReactPropTypeLocationNames;
3176
3243
 
3177
3244
  'use strict';
3178
3245
 
3179
- var ReactElement = _dereq_(16);
3180
- var ReactPropTypeLocationNames = _dereq_(22);
3181
- var ReactPropTypesSecret = _dereq_(24);
3246
+ var _require = _dereq_(16),
3247
+ isValidElement = _require.isValidElement;
3182
3248
 
3183
- var emptyFunction = _dereq_(44);
3184
- var getIteratorFn = _dereq_(36);
3185
- var warning = _dereq_(48);
3249
+ var factory = _dereq_(52);
3186
3250
 
3251
+ module.exports = factory(isValidElement);
3252
+ },{"16":16,"52":52}],24:[function(_dereq_,module,exports){
3187
3253
  /**
3188
- * Collection of methods that allow declaration and validation of props that are
3189
- * supplied to React components. Example usage:
3190
- *
3191
- * var Props = require('ReactPropTypes');
3192
- * var MyArticle = React.createClass({
3193
- * propTypes: {
3194
- * // An optional string prop named "description".
3195
- * description: Props.string,
3196
- *
3197
- * // A required enum prop named "category".
3198
- * category: Props.oneOf(['News','Photos']).isRequired,
3199
- *
3200
- * // A prop named "dialog" that requires an instance of Dialog.
3201
- * dialog: Props.instanceOf(Dialog).isRequired
3202
- * },
3203
- * render: function() { ... }
3204
- * });
3254
+ * Copyright 2013-present, Facebook, Inc.
3255
+ * All rights reserved.
3205
3256
  *
3206
- * A more formal specification of how these methods are used:
3207
- *
3208
- * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
3209
- * decl := ReactPropTypes.{type}(.isRequired)?
3210
- *
3211
- * Each and every declaration produces a function with the same signature. This
3212
- * allows the creation of custom validation functions. For example:
3213
- *
3214
- * var MyLink = React.createClass({
3215
- * propTypes: {
3216
- * // An optional string or URI prop named "href".
3217
- * href: function(props, propName, componentName) {
3218
- * var propValue = props[propName];
3219
- * if (propValue != null && typeof propValue !== 'string' &&
3220
- * !(propValue instanceof URI)) {
3221
- * return new Error(
3222
- * 'Expected a string or an URI for ' + propName + ' in ' +
3223
- * componentName
3224
- * );
3225
- * }
3226
- * }
3227
- * },
3228
- * render: function() {...}
3229
- * });
3257
+ * This source code is licensed under the BSD-style license found in the
3258
+ * LICENSE file in the root directory of this source tree. An additional grant
3259
+ * of patent rights can be found in the PATENTS file in the same directory.
3230
3260
  *
3231
- * @internal
3261
+ *
3232
3262
  */
3233
3263
 
3234
- var ANONYMOUS = '<<anonymous>>';
3235
-
3236
- var ReactPropTypes = {
3237
- array: createPrimitiveTypeChecker('array'),
3238
- bool: createPrimitiveTypeChecker('boolean'),
3239
- func: createPrimitiveTypeChecker('function'),
3240
- number: createPrimitiveTypeChecker('number'),
3241
- object: createPrimitiveTypeChecker('object'),
3242
- string: createPrimitiveTypeChecker('string'),
3243
- symbol: createPrimitiveTypeChecker('symbol'),
3244
-
3245
- any: createAnyTypeChecker(),
3246
- arrayOf: createArrayOfTypeChecker,
3247
- element: createElementTypeChecker(),
3248
- instanceOf: createInstanceTypeChecker,
3249
- node: createNodeChecker(),
3250
- objectOf: createObjectOfTypeChecker,
3251
- oneOf: createEnumTypeChecker,
3252
- oneOfType: createUnionTypeChecker,
3253
- shape: createShapeTypeChecker
3254
- };
3264
+ 'use strict';
3255
3265
 
3256
- /**
3257
- * inlined Object.is polyfill to avoid requiring consumers ship their own
3258
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
3259
- */
3260
- /*eslint-disable no-self-compare*/
3261
- function is(x, y) {
3262
- // SameValue algorithm
3263
- if (x === y) {
3264
- // Steps 1-5, 7-10
3265
- // Steps 6.b-6.e: +0 != -0
3266
- return x !== 0 || 1 / x === 1 / y;
3267
- } else {
3268
- // Step 6.a: NaN == NaN
3269
- return x !== x && y !== y;
3270
- }
3271
- }
3272
- /*eslint-enable no-self-compare*/
3266
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
3273
3267
 
3268
+ module.exports = ReactPropTypesSecret;
3269
+ },{}],25:[function(_dereq_,module,exports){
3274
3270
  /**
3275
- * We use an Error-like object for backward compatibility as people may call
3276
- * PropTypes directly and inspect their output. However we don't use real
3277
- * Errors anymore. We don't inspect their stack anyway, and creating them
3278
- * is prohibitively expensive if they are created too often, such as what
3279
- * happens in oneOfType() for any type before the one that matched.
3271
+ * Copyright 2013-present, Facebook, Inc.
3272
+ * All rights reserved.
3273
+ *
3274
+ * This source code is licensed under the BSD-style license found in the
3275
+ * LICENSE file in the root directory of this source tree. An additional grant
3276
+ * of patent rights can be found in the PATENTS file in the same directory.
3277
+ *
3280
3278
  */
3281
- function PropTypeError(message) {
3282
- this.message = message;
3283
- this.stack = '';
3284
- }
3285
- // Make `instanceof Error` still work for returned errors.
3286
- PropTypeError.prototype = Error.prototype;
3287
-
3288
- function createChainableTypeChecker(validate) {
3289
- if ("development" !== 'production') {
3290
- var manualPropTypeCallCache = {};
3291
- }
3292
- function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
3293
- componentName = componentName || ANONYMOUS;
3294
- propFullName = propFullName || propName;
3295
- if ("development" !== 'production') {
3296
- if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
3297
- var cacheKey = componentName + ':' + propName;
3298
- if (!manualPropTypeCallCache[cacheKey]) {
3299
- "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;
3300
- manualPropTypeCallCache[cacheKey] = true;
3301
- }
3302
- }
3303
- }
3304
- if (props[propName] == null) {
3305
- var locationName = ReactPropTypeLocationNames[location];
3306
- if (isRequired) {
3307
- if (props[propName] === null) {
3308
- return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
3309
- }
3310
- return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
3311
- }
3312
- return null;
3313
- } else {
3314
- return validate(props, propName, componentName, location, propFullName);
3315
- }
3316
- }
3317
3279
 
3318
- var chainedCheckType = checkType.bind(null, false);
3319
- chainedCheckType.isRequired = checkType.bind(null, true);
3280
+ 'use strict';
3320
3281
 
3321
- return chainedCheckType;
3322
- }
3282
+ var _assign = _dereq_(50);
3323
3283
 
3324
- function createPrimitiveTypeChecker(expectedType) {
3325
- function validate(props, propName, componentName, location, propFullName, secret) {
3326
- var propValue = props[propName];
3327
- var propType = getPropType(propValue);
3328
- if (propType !== expectedType) {
3329
- var locationName = ReactPropTypeLocationNames[location];
3330
- // `propValue` being instance of, say, date/regexp, pass the 'object'
3331
- // check, but we can offer a more precise error message here rather than
3332
- // 'of type `object`'.
3333
- var preciseType = getPreciseType(propValue);
3334
-
3335
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
3336
- }
3337
- return null;
3338
- }
3339
- return createChainableTypeChecker(validate);
3340
- }
3284
+ var ReactComponent = _dereq_(11);
3285
+ var ReactNoopUpdateQueue = _dereq_(21);
3341
3286
 
3342
- function createAnyTypeChecker() {
3343
- return createChainableTypeChecker(emptyFunction.thatReturns(null));
3344
- }
3287
+ var emptyObject = _dereq_(46);
3345
3288
 
3346
- function createArrayOfTypeChecker(typeChecker) {
3347
- function validate(props, propName, componentName, location, propFullName) {
3348
- if (typeof typeChecker !== 'function') {
3349
- return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
3350
- }
3351
- var propValue = props[propName];
3352
- if (!Array.isArray(propValue)) {
3353
- var locationName = ReactPropTypeLocationNames[location];
3354
- var propType = getPropType(propValue);
3355
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
3356
- }
3357
- for (var i = 0; i < propValue.length; i++) {
3358
- var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
3359
- if (error instanceof Error) {
3360
- return error;
3361
- }
3362
- }
3363
- return null;
3364
- }
3365
- return createChainableTypeChecker(validate);
3289
+ /**
3290
+ * Base class helpers for the updating state of a component.
3291
+ */
3292
+ function ReactPureComponent(props, context, updater) {
3293
+ // Duplicated from ReactComponent.
3294
+ this.props = props;
3295
+ this.context = context;
3296
+ this.refs = emptyObject;
3297
+ // We initialize the default updater but the real one gets injected by the
3298
+ // renderer.
3299
+ this.updater = updater || ReactNoopUpdateQueue;
3366
3300
  }
3367
3301
 
3368
- function createElementTypeChecker() {
3369
- function validate(props, propName, componentName, location, propFullName) {
3370
- var propValue = props[propName];
3371
- if (!ReactElement.isValidElement(propValue)) {
3372
- var locationName = ReactPropTypeLocationNames[location];
3373
- var propType = getPropType(propValue);
3374
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
3375
- }
3376
- return null;
3377
- }
3378
- return createChainableTypeChecker(validate);
3379
- }
3302
+ function ComponentDummy() {}
3303
+ ComponentDummy.prototype = ReactComponent.prototype;
3304
+ ReactPureComponent.prototype = new ComponentDummy();
3305
+ ReactPureComponent.prototype.constructor = ReactPureComponent;
3306
+ // Avoid an extra prototype jump for these methods.
3307
+ _assign(ReactPureComponent.prototype, ReactComponent.prototype);
3308
+ ReactPureComponent.prototype.isPureReactComponent = true;
3380
3309
 
3381
- function createInstanceTypeChecker(expectedClass) {
3382
- function validate(props, propName, componentName, location, propFullName) {
3383
- if (!(props[propName] instanceof expectedClass)) {
3384
- var locationName = ReactPropTypeLocationNames[location];
3385
- var expectedClassName = expectedClass.name || ANONYMOUS;
3386
- var actualClassName = getClassName(props[propName]);
3387
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
3388
- }
3389
- return null;
3390
- }
3391
- return createChainableTypeChecker(validate);
3392
- }
3310
+ module.exports = ReactPureComponent;
3311
+ },{"11":11,"21":21,"46":46,"50":50}],26:[function(_dereq_,module,exports){
3312
+ /**
3313
+ * Copyright 2013-present, Facebook, Inc.
3314
+ * All rights reserved.
3315
+ *
3316
+ * This source code is licensed under the BSD-style license found in the
3317
+ * LICENSE file in the root directory of this source tree. An additional grant
3318
+ * of patent rights can be found in the PATENTS file in the same directory.
3319
+ *
3320
+ */
3393
3321
 
3394
- function createEnumTypeChecker(expectedValues) {
3395
- if (!Array.isArray(expectedValues)) {
3396
- "development" !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
3397
- return emptyFunction.thatReturnsNull;
3398
- }
3322
+ 'use strict';
3399
3323
 
3400
- function validate(props, propName, componentName, location, propFullName) {
3401
- var propValue = props[propName];
3402
- for (var i = 0; i < expectedValues.length; i++) {
3403
- if (is(propValue, expectedValues[i])) {
3404
- return null;
3324
+ var ReactStateSetters = {
3325
+ /**
3326
+ * Returns a function that calls the provided function, and uses the result
3327
+ * of that to set the component's state.
3328
+ *
3329
+ * @param {ReactCompositeComponent} component
3330
+ * @param {function} funcReturningState Returned callback uses this to
3331
+ * determine how to update state.
3332
+ * @return {function} callback that when invoked uses funcReturningState to
3333
+ * determined the object literal to setState.
3334
+ */
3335
+ createStateSetter: function (component, funcReturningState) {
3336
+ return function (a, b, c, d, e, f) {
3337
+ var partialState = funcReturningState.call(component, a, b, c, d, e, f);
3338
+ if (partialState) {
3339
+ component.setState(partialState);
3405
3340
  }
3406
- }
3341
+ };
3342
+ },
3407
3343
 
3408
- var locationName = ReactPropTypeLocationNames[location];
3409
- var valuesString = JSON.stringify(expectedValues);
3410
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
3344
+ /**
3345
+ * Returns a single-argument callback that can be used to update a single
3346
+ * key in the component's state.
3347
+ *
3348
+ * Note: this is memoized function, which makes it inexpensive to call.
3349
+ *
3350
+ * @param {ReactCompositeComponent} component
3351
+ * @param {string} key The key in the state that you should update.
3352
+ * @return {function} callback of 1 argument which calls setState() with
3353
+ * the provided keyName and callback argument.
3354
+ */
3355
+ createStateKeySetter: function (component, key) {
3356
+ // Memoize the setters.
3357
+ var cache = component.__keySetters || (component.__keySetters = {});
3358
+ return cache[key] || (cache[key] = createStateKeySetter(component, key));
3411
3359
  }
3412
- return createChainableTypeChecker(validate);
3413
- }
3414
-
3415
- function createObjectOfTypeChecker(typeChecker) {
3416
- function validate(props, propName, componentName, location, propFullName) {
3417
- if (typeof typeChecker !== 'function') {
3418
- return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
3419
- }
3420
- var propValue = props[propName];
3421
- var propType = getPropType(propValue);
3422
- if (propType !== 'object') {
3423
- var locationName = ReactPropTypeLocationNames[location];
3424
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
3425
- }
3426
- for (var key in propValue) {
3427
- if (propValue.hasOwnProperty(key)) {
3428
- var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
3429
- if (error instanceof Error) {
3430
- return error;
3431
- }
3432
- }
3433
- }
3434
- return null;
3435
- }
3436
- return createChainableTypeChecker(validate);
3437
- }
3438
-
3439
- function createUnionTypeChecker(arrayOfTypeCheckers) {
3440
- if (!Array.isArray(arrayOfTypeCheckers)) {
3441
- "development" !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
3442
- return emptyFunction.thatReturnsNull;
3443
- }
3444
-
3445
- function validate(props, propName, componentName, location, propFullName) {
3446
- for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
3447
- var checker = arrayOfTypeCheckers[i];
3448
- if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
3449
- return null;
3450
- }
3451
- }
3452
-
3453
- var locationName = ReactPropTypeLocationNames[location];
3454
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
3455
- }
3456
- return createChainableTypeChecker(validate);
3457
- }
3458
-
3459
- function createNodeChecker() {
3460
- function validate(props, propName, componentName, location, propFullName) {
3461
- if (!isNode(props[propName])) {
3462
- var locationName = ReactPropTypeLocationNames[location];
3463
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
3464
- }
3465
- return null;
3466
- }
3467
- return createChainableTypeChecker(validate);
3468
- }
3469
-
3470
- function createShapeTypeChecker(shapeTypes) {
3471
- function validate(props, propName, componentName, location, propFullName) {
3472
- var propValue = props[propName];
3473
- var propType = getPropType(propValue);
3474
- if (propType !== 'object') {
3475
- var locationName = ReactPropTypeLocationNames[location];
3476
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
3477
- }
3478
- for (var key in shapeTypes) {
3479
- var checker = shapeTypes[key];
3480
- if (!checker) {
3481
- continue;
3482
- }
3483
- var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
3484
- if (error) {
3485
- return error;
3486
- }
3487
- }
3488
- return null;
3489
- }
3490
- return createChainableTypeChecker(validate);
3491
- }
3492
-
3493
- function isNode(propValue) {
3494
- switch (typeof propValue) {
3495
- case 'number':
3496
- case 'string':
3497
- case 'undefined':
3498
- return true;
3499
- case 'boolean':
3500
- return !propValue;
3501
- case 'object':
3502
- if (Array.isArray(propValue)) {
3503
- return propValue.every(isNode);
3504
- }
3505
- if (propValue === null || ReactElement.isValidElement(propValue)) {
3506
- return true;
3507
- }
3508
-
3509
- var iteratorFn = getIteratorFn(propValue);
3510
- if (iteratorFn) {
3511
- var iterator = iteratorFn.call(propValue);
3512
- var step;
3513
- if (iteratorFn !== propValue.entries) {
3514
- while (!(step = iterator.next()).done) {
3515
- if (!isNode(step.value)) {
3516
- return false;
3517
- }
3518
- }
3519
- } else {
3520
- // Iterator will provide entry [k,v] tuples rather than values.
3521
- while (!(step = iterator.next()).done) {
3522
- var entry = step.value;
3523
- if (entry) {
3524
- if (!isNode(entry[1])) {
3525
- return false;
3526
- }
3527
- }
3528
- }
3529
- }
3530
- } else {
3531
- return false;
3532
- }
3533
-
3534
- return true;
3535
- default:
3536
- return false;
3537
- }
3538
- }
3539
-
3540
- function isSymbol(propType, propValue) {
3541
- // Native Symbol.
3542
- if (propType === 'symbol') {
3543
- return true;
3544
- }
3545
-
3546
- // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
3547
- if (propValue['@@toStringTag'] === 'Symbol') {
3548
- return true;
3549
- }
3550
-
3551
- // Fallback for non-spec compliant Symbols which are polyfilled.
3552
- if (typeof Symbol === 'function' && propValue instanceof Symbol) {
3553
- return true;
3554
- }
3555
-
3556
- return false;
3557
- }
3558
-
3559
- // Equivalent of `typeof` but with special handling for array and regexp.
3560
- function getPropType(propValue) {
3561
- var propType = typeof propValue;
3562
- if (Array.isArray(propValue)) {
3563
- return 'array';
3564
- }
3565
- if (propValue instanceof RegExp) {
3566
- // Old webkits (at least until Android 4.0) return 'function' rather than
3567
- // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
3568
- // passes PropTypes.object.
3569
- return 'object';
3570
- }
3571
- if (isSymbol(propType, propValue)) {
3572
- return 'symbol';
3573
- }
3574
- return propType;
3575
- }
3576
-
3577
- // This handles more types than `getPropType`. Only used for error messages.
3578
- // See `createPrimitiveTypeChecker`.
3579
- function getPreciseType(propValue) {
3580
- var propType = getPropType(propValue);
3581
- if (propType === 'object') {
3582
- if (propValue instanceof Date) {
3583
- return 'date';
3584
- } else if (propValue instanceof RegExp) {
3585
- return 'regexp';
3586
- }
3587
- }
3588
- return propType;
3589
- }
3590
-
3591
- // Returns class name of the object, if any.
3592
- function getClassName(propValue) {
3593
- if (!propValue.constructor || !propValue.constructor.name) {
3594
- return ANONYMOUS;
3595
- }
3596
- return propValue.constructor.name;
3597
- }
3598
-
3599
- module.exports = ReactPropTypes;
3600
- },{"16":16,"22":22,"24":24,"36":36,"44":44,"48":48}],24:[function(_dereq_,module,exports){
3601
- /**
3602
- * Copyright 2013-present, Facebook, Inc.
3603
- * All rights reserved.
3604
- *
3605
- * This source code is licensed under the BSD-style license found in the
3606
- * LICENSE file in the root directory of this source tree. An additional grant
3607
- * of patent rights can be found in the PATENTS file in the same directory.
3608
- *
3609
- *
3610
- */
3611
-
3612
- 'use strict';
3613
-
3614
- var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
3615
-
3616
- module.exports = ReactPropTypesSecret;
3617
- },{}],25:[function(_dereq_,module,exports){
3618
- /**
3619
- * Copyright 2013-present, Facebook, Inc.
3620
- * All rights reserved.
3621
- *
3622
- * This source code is licensed under the BSD-style license found in the
3623
- * LICENSE file in the root directory of this source tree. An additional grant
3624
- * of patent rights can be found in the PATENTS file in the same directory.
3625
- *
3626
- */
3627
-
3628
- 'use strict';
3629
-
3630
- var _assign = _dereq_(49);
3631
-
3632
- var ReactComponent = _dereq_(11);
3633
- var ReactNoopUpdateQueue = _dereq_(21);
3634
-
3635
- var emptyObject = _dereq_(45);
3636
-
3637
- /**
3638
- * Base class helpers for the updating state of a component.
3639
- */
3640
- function ReactPureComponent(props, context, updater) {
3641
- // Duplicated from ReactComponent.
3642
- this.props = props;
3643
- this.context = context;
3644
- this.refs = emptyObject;
3645
- // We initialize the default updater but the real one gets injected by the
3646
- // renderer.
3647
- this.updater = updater || ReactNoopUpdateQueue;
3648
- }
3649
-
3650
- function ComponentDummy() {}
3651
- ComponentDummy.prototype = ReactComponent.prototype;
3652
- ReactPureComponent.prototype = new ComponentDummy();
3653
- ReactPureComponent.prototype.constructor = ReactPureComponent;
3654
- // Avoid an extra prototype jump for these methods.
3655
- _assign(ReactPureComponent.prototype, ReactComponent.prototype);
3656
- ReactPureComponent.prototype.isPureReactComponent = true;
3657
-
3658
- module.exports = ReactPureComponent;
3659
- },{"11":11,"21":21,"45":45,"49":49}],26:[function(_dereq_,module,exports){
3660
- /**
3661
- * Copyright 2013-present, Facebook, Inc.
3662
- * All rights reserved.
3663
- *
3664
- * This source code is licensed under the BSD-style license found in the
3665
- * LICENSE file in the root directory of this source tree. An additional grant
3666
- * of patent rights can be found in the PATENTS file in the same directory.
3667
- *
3668
- */
3669
-
3670
- 'use strict';
3671
-
3672
- var ReactStateSetters = {
3673
- /**
3674
- * Returns a function that calls the provided function, and uses the result
3675
- * of that to set the component's state.
3676
- *
3677
- * @param {ReactCompositeComponent} component
3678
- * @param {function} funcReturningState Returned callback uses this to
3679
- * determine how to update state.
3680
- * @return {function} callback that when invoked uses funcReturningState to
3681
- * determined the object literal to setState.
3682
- */
3683
- createStateSetter: function (component, funcReturningState) {
3684
- return function (a, b, c, d, e, f) {
3685
- var partialState = funcReturningState.call(component, a, b, c, d, e, f);
3686
- if (partialState) {
3687
- component.setState(partialState);
3688
- }
3689
- };
3690
- },
3691
-
3692
- /**
3693
- * Returns a single-argument callback that can be used to update a single
3694
- * key in the component's state.
3695
- *
3696
- * Note: this is memoized function, which makes it inexpensive to call.
3697
- *
3698
- * @param {ReactCompositeComponent} component
3699
- * @param {string} key The key in the state that you should update.
3700
- * @return {function} callback of 1 argument which calls setState() with
3701
- * the provided keyName and callback argument.
3702
- */
3703
- createStateKeySetter: function (component, key) {
3704
- // Memoize the setters.
3705
- var cache = component.__keySetters || (component.__keySetters = {});
3706
- return cache[key] || (cache[key] = createStateKeySetter(component, key));
3707
- }
3708
- };
3709
-
3710
- function createStateKeySetter(component, key) {
3711
- // Partial state is allocated outside of the function closure so it can be
3712
- // reused with every call, avoiding memory allocation when this function
3713
- // is called.
3714
- var partialState = {};
3715
- return function stateKeySetter(value) {
3716
- partialState[key] = value;
3717
- component.setState(partialState);
3718
- };
3360
+ };
3361
+
3362
+ function createStateKeySetter(component, key) {
3363
+ // Partial state is allocated outside of the function closure so it can be
3364
+ // reused with every call, avoiding memory allocation when this function
3365
+ // is called.
3366
+ var partialState = {};
3367
+ return function stateKeySetter(value) {
3368
+ partialState[key] = value;
3369
+ component.setState(partialState);
3370
+ };
3719
3371
  }
3720
3372
 
3721
3373
  ReactStateSetters.Mixin = {
@@ -3876,7 +3528,7 @@ module.exports = ReactTransitionChildMapping;
3876
3528
 
3877
3529
  'use strict';
3878
3530
 
3879
- var ExecutionEnvironment = _dereq_(43);
3531
+ var ExecutionEnvironment = _dereq_(44);
3880
3532
 
3881
3533
  var getVendorPrefixedEventName = _dereq_(1);
3882
3534
 
@@ -3936,7 +3588,7 @@ var ReactTransitionEvents = {
3936
3588
  };
3937
3589
 
3938
3590
  module.exports = ReactTransitionEvents;
3939
- },{"1":1,"43":43}],29:[function(_dereq_,module,exports){
3591
+ },{"1":1,"44":44}],29:[function(_dereq_,module,exports){
3940
3592
  /**
3941
3593
  * Copyright 2013-present, Facebook, Inc.
3942
3594
  * All rights reserved.
@@ -3949,7 +3601,7 @@ module.exports = ReactTransitionEvents;
3949
3601
 
3950
3602
  'use strict';
3951
3603
 
3952
- var _assign = _dereq_(49);
3604
+ var _assign = _dereq_(50);
3953
3605
 
3954
3606
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3955
3607
 
@@ -3958,10 +3610,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
3958
3610
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
3959
3611
 
3960
3612
  var React = _dereq_(5);
3961
- var ReactAddonsDOMDependencies = _dereq_(6);
3962
3613
  var ReactTransitionChildMapping = _dereq_(27);
3963
3614
 
3964
- var emptyFunction = _dereq_(44);
3615
+ var propTypesFactory = _dereq_(52);
3616
+ var PropTypes = propTypesFactory(React.isValidElement);
3617
+
3618
+ var emptyFunction = _dereq_(45);
3965
3619
 
3966
3620
  /**
3967
3621
  * A basis for animations. When children are declaratively added or removed,
@@ -4002,12 +3656,7 @@ var ReactTransitionGroup = function (_React$Component) {
4002
3656
 
4003
3657
  delete _this.currentlyTransitioningKeys[key];
4004
3658
 
4005
- var currentChildMapping;
4006
- if ("development" !== 'production') {
4007
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(_this)._debugID);
4008
- } else {
4009
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4010
- }
3659
+ var currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4011
3660
 
4012
3661
  if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {
4013
3662
  // This was removed before it had fully appeared. Remove it.
@@ -4031,12 +3680,7 @@ var ReactTransitionGroup = function (_React$Component) {
4031
3680
 
4032
3681
  delete _this.currentlyTransitioningKeys[key];
4033
3682
 
4034
- var currentChildMapping;
4035
- if ("development" !== 'production') {
4036
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(_this)._debugID);
4037
- } else {
4038
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4039
- }
3683
+ var currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4040
3684
 
4041
3685
  if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {
4042
3686
  // This was removed before it had fully entered. Remove it.
@@ -4063,12 +3707,7 @@ var ReactTransitionGroup = function (_React$Component) {
4063
3707
 
4064
3708
  delete _this.currentlyTransitioningKeys[key];
4065
3709
 
4066
- var currentChildMapping;
4067
- if ("development" !== 'production') {
4068
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(_this)._debugID);
4069
- } else {
4070
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4071
- }
3710
+ var currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4072
3711
 
4073
3712
  if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {
4074
3713
  // This entered again before it fully left. Add it again.
@@ -4099,12 +3738,7 @@ var ReactTransitionGroup = function (_React$Component) {
4099
3738
  };
4100
3739
 
4101
3740
  ReactTransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
4102
- var nextChildMapping;
4103
- if ("development" !== 'production') {
4104
- nextChildMapping = ReactTransitionChildMapping.getChildMapping(nextProps.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(this)._debugID);
4105
- } else {
4106
- nextChildMapping = ReactTransitionChildMapping.getChildMapping(nextProps.children);
4107
- }
3741
+ var nextChildMapping = ReactTransitionChildMapping.getChildMapping(nextProps.children);
4108
3742
  var prevChildMapping = this.state.children;
4109
3743
 
4110
3744
  this.setState({
@@ -4176,8 +3810,8 @@ var ReactTransitionGroup = function (_React$Component) {
4176
3810
 
4177
3811
  ReactTransitionGroup.displayName = 'ReactTransitionGroup';
4178
3812
  ReactTransitionGroup.propTypes = {
4179
- component: React.PropTypes.any,
4180
- childFactory: React.PropTypes.func
3813
+ component: PropTypes.any,
3814
+ childFactory: PropTypes.func
4181
3815
  };
4182
3816
  ReactTransitionGroup.defaultProps = {
4183
3817
  component: 'span',
@@ -4186,7 +3820,7 @@ ReactTransitionGroup.defaultProps = {
4186
3820
 
4187
3821
 
4188
3822
  module.exports = ReactTransitionGroup;
4189
- },{"27":27,"44":44,"49":49,"5":5,"6":6}],30:[function(_dereq_,module,exports){
3823
+ },{"27":27,"45":45,"5":5,"50":50,"52":52}],30:[function(_dereq_,module,exports){
4190
3824
  /**
4191
3825
  * Copyright 2013-present, Facebook, Inc.
4192
3826
  * All rights reserved.
@@ -4199,7 +3833,7 @@ module.exports = ReactTransitionGroup;
4199
3833
 
4200
3834
  'use strict';
4201
3835
 
4202
- module.exports = '15.4.0';
3836
+ module.exports = '15.5.0-rc.2';
4203
3837
  },{}],31:[function(_dereq_,module,exports){
4204
3838
  /**
4205
3839
  * Copyright 2013-present, Facebook, Inc.
@@ -4221,8 +3855,8 @@ var ReactCSSTransitionGroup = _dereq_(7);
4221
3855
  var ReactFragment = _dereq_(19);
4222
3856
  var ReactTransitionGroup = _dereq_(29);
4223
3857
 
4224
- var shallowCompare = _dereq_(39);
4225
- var update = _dereq_(41);
3858
+ var shallowCompare = _dereq_(40);
3859
+ var update = _dereq_(42);
4226
3860
 
4227
3861
  React.addons = {
4228
3862
  CSSTransitionGroup: ReactCSSTransitionGroup,
@@ -4253,7 +3887,7 @@ if ("development" !== 'production') {
4253
3887
  }
4254
3888
 
4255
3889
  module.exports = React;
4256
- },{"13":13,"19":19,"29":29,"3":3,"39":39,"41":41,"5":5,"6":6,"7":7}],32:[function(_dereq_,module,exports){
3890
+ },{"13":13,"19":19,"29":29,"3":3,"40":40,"42":42,"5":5,"6":6,"7":7}],32:[function(_dereq_,module,exports){
4257
3891
  /**
4258
3892
  * Copyright 2013-present, Facebook, Inc.
4259
3893
  * All rights reserved.
@@ -4266,26 +3900,28 @@ module.exports = React;
4266
3900
 
4267
3901
  'use strict';
4268
3902
 
4269
- var _assign = _dereq_(49);
3903
+ var _assign = _dereq_(50);
4270
3904
 
4271
3905
  var ReactWithAddons = _dereq_(31);
4272
3906
 
4273
3907
  // `version` will be added here by the React module.
4274
- var ReactWithAddonsUMDEntry = _assign({
3908
+ var ReactWithAddonsUMDEntry = _assign(ReactWithAddons, {
3909
+ __SECRET_INJECTED_REACT_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: null, // Will be injected by ReactDOM UMD build.
4275
3910
  __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {
4276
3911
  ReactCurrentOwner: _dereq_(14)
4277
3912
  }
4278
- }, ReactWithAddons);
3913
+ });
4279
3914
 
4280
3915
  if ("development" !== 'production') {
4281
3916
  _assign(ReactWithAddonsUMDEntry.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, {
4282
3917
  // ReactComponentTreeHook should not be included in production.
4283
- ReactComponentTreeHook: _dereq_(12)
3918
+ ReactComponentTreeHook: _dereq_(12),
3919
+ getNextDebugID: _dereq_(37)
4284
3920
  });
4285
3921
  }
4286
3922
 
4287
3923
  module.exports = ReactWithAddonsUMDEntry;
4288
- },{"12":12,"14":14,"31":31,"49":49}],33:[function(_dereq_,module,exports){
3924
+ },{"12":12,"14":14,"31":31,"37":37,"50":50}],33:[function(_dereq_,module,exports){
4289
3925
  /**
4290
3926
  * Copyright 2013-present, Facebook, Inc.
4291
3927
  * All rights reserved.
@@ -4325,13 +3961,13 @@ module.exports = canDefineProperty;
4325
3961
 
4326
3962
  'use strict';
4327
3963
 
4328
- var _prodInvariant = _dereq_(38);
3964
+ var _prodInvariant = _dereq_(39);
4329
3965
 
4330
3966
  var ReactPropTypeLocationNames = _dereq_(22);
4331
3967
  var ReactPropTypesSecret = _dereq_(24);
4332
3968
 
4333
- var invariant = _dereq_(46);
4334
- var warning = _dereq_(48);
3969
+ var invariant = _dereq_(47);
3970
+ var warning = _dereq_(49);
4335
3971
 
4336
3972
  var ReactComponentTreeHook;
4337
3973
 
@@ -4400,7 +4036,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
4400
4036
 
4401
4037
  module.exports = checkReactTypeSpec;
4402
4038
  }).call(this,undefined)
4403
- },{"12":12,"22":22,"24":24,"38":38,"46":46,"48":48}],35:[function(_dereq_,module,exports){
4039
+ },{"12":12,"22":22,"24":24,"39":39,"47":47,"49":49}],35:[function(_dereq_,module,exports){
4404
4040
  (function (process){
4405
4041
  /**
4406
4042
  * Copyright 2013-present, Facebook, Inc.
@@ -4416,8 +4052,8 @@ module.exports = checkReactTypeSpec;
4416
4052
  'use strict';
4417
4053
 
4418
4054
  var KeyEscapeUtils = _dereq_(2);
4419
- var traverseAllChildren = _dereq_(40);
4420
- var warning = _dereq_(48);
4055
+ var traverseAllChildren = _dereq_(41);
4056
+ var warning = _dereq_(49);
4421
4057
 
4422
4058
  var ReactComponentTreeHook;
4423
4059
 
@@ -4478,7 +4114,7 @@ function flattenChildren(children, selfDebugID) {
4478
4114
 
4479
4115
  module.exports = flattenChildren;
4480
4116
  }).call(this,undefined)
4481
- },{"12":12,"2":2,"40":40,"48":48}],36:[function(_dereq_,module,exports){
4117
+ },{"12":12,"2":2,"41":41,"49":49}],36:[function(_dereq_,module,exports){
4482
4118
  /**
4483
4119
  * Copyright 2013-present, Facebook, Inc.
4484
4120
  * All rights reserved.
@@ -4528,14 +4164,35 @@ module.exports = getIteratorFn;
4528
4164
  * LICENSE file in the root directory of this source tree. An additional grant
4529
4165
  * of patent rights can be found in the PATENTS file in the same directory.
4530
4166
  *
4167
+ *
4531
4168
  */
4169
+
4532
4170
  'use strict';
4533
4171
 
4534
- var _prodInvariant = _dereq_(38);
4172
+ var nextDebugID = 1;
4173
+
4174
+ function getNextDebugID() {
4175
+ return nextDebugID++;
4176
+ }
4177
+
4178
+ module.exports = getNextDebugID;
4179
+ },{}],38:[function(_dereq_,module,exports){
4180
+ /**
4181
+ * Copyright 2013-present, Facebook, Inc.
4182
+ * All rights reserved.
4183
+ *
4184
+ * This source code is licensed under the BSD-style license found in the
4185
+ * LICENSE file in the root directory of this source tree. An additional grant
4186
+ * of patent rights can be found in the PATENTS file in the same directory.
4187
+ *
4188
+ */
4189
+ 'use strict';
4190
+
4191
+ var _prodInvariant = _dereq_(39);
4535
4192
 
4536
4193
  var ReactElement = _dereq_(16);
4537
4194
 
4538
- var invariant = _dereq_(46);
4195
+ var invariant = _dereq_(47);
4539
4196
 
4540
4197
  /**
4541
4198
  * Returns the first child in a collection of children and verifies that there
@@ -4557,7 +4214,7 @@ function onlyChild(children) {
4557
4214
  }
4558
4215
 
4559
4216
  module.exports = onlyChild;
4560
- },{"16":16,"38":38,"46":46}],38:[function(_dereq_,module,exports){
4217
+ },{"16":16,"39":39,"47":47}],39:[function(_dereq_,module,exports){
4561
4218
  /**
4562
4219
  * Copyright (c) 2013-present, Facebook, Inc.
4563
4220
  * All rights reserved.
@@ -4596,7 +4253,7 @@ function reactProdInvariant(code) {
4596
4253
  }
4597
4254
 
4598
4255
  module.exports = reactProdInvariant;
4599
- },{}],39:[function(_dereq_,module,exports){
4256
+ },{}],40:[function(_dereq_,module,exports){
4600
4257
  /**
4601
4258
  * Copyright 2013-present, Facebook, Inc.
4602
4259
  * All rights reserved.
@@ -4609,7 +4266,7 @@ module.exports = reactProdInvariant;
4609
4266
 
4610
4267
  'use strict';
4611
4268
 
4612
- var shallowEqual = _dereq_(47);
4269
+ var shallowEqual = _dereq_(48);
4613
4270
 
4614
4271
  /**
4615
4272
  * Does a shallow comparison for props and state.
@@ -4621,7 +4278,7 @@ function shallowCompare(instance, nextProps, nextState) {
4621
4278
  }
4622
4279
 
4623
4280
  module.exports = shallowCompare;
4624
- },{"47":47}],40:[function(_dereq_,module,exports){
4281
+ },{"48":48}],41:[function(_dereq_,module,exports){
4625
4282
  /**
4626
4283
  * Copyright 2013-present, Facebook, Inc.
4627
4284
  * All rights reserved.
@@ -4634,15 +4291,15 @@ module.exports = shallowCompare;
4634
4291
 
4635
4292
  'use strict';
4636
4293
 
4637
- var _prodInvariant = _dereq_(38);
4294
+ var _prodInvariant = _dereq_(39);
4638
4295
 
4639
4296
  var ReactCurrentOwner = _dereq_(14);
4640
4297
  var REACT_ELEMENT_TYPE = _dereq_(17);
4641
4298
 
4642
4299
  var getIteratorFn = _dereq_(36);
4643
- var invariant = _dereq_(46);
4300
+ var invariant = _dereq_(47);
4644
4301
  var KeyEscapeUtils = _dereq_(2);
4645
- var warning = _dereq_(48);
4302
+ var warning = _dereq_(49);
4646
4303
 
4647
4304
  var SEPARATOR = '.';
4648
4305
  var SUBSEPARATOR = ':';
@@ -4797,7 +4454,7 @@ function traverseAllChildren(children, callback, traverseContext) {
4797
4454
  }
4798
4455
 
4799
4456
  module.exports = traverseAllChildren;
4800
- },{"14":14,"17":17,"2":2,"36":36,"38":38,"46":46,"48":48}],41:[function(_dereq_,module,exports){
4457
+ },{"14":14,"17":17,"2":2,"36":36,"39":39,"47":47,"49":49}],42:[function(_dereq_,module,exports){
4801
4458
  /**
4802
4459
  * Copyright 2013-present, Facebook, Inc.
4803
4460
  * All rights reserved.
@@ -4812,10 +4469,10 @@ module.exports = traverseAllChildren;
4812
4469
 
4813
4470
  'use strict';
4814
4471
 
4815
- var _prodInvariant = _dereq_(38),
4816
- _assign = _dereq_(49);
4472
+ var _prodInvariant = _dereq_(39),
4473
+ _assign = _dereq_(50);
4817
4474
 
4818
- var invariant = _dereq_(46);
4475
+ var invariant = _dereq_(47);
4819
4476
  var hasOwnProperty = {}.hasOwnProperty;
4820
4477
 
4821
4478
  function shallowCopy(x) {
@@ -4909,7 +4566,7 @@ function update(value, spec) {
4909
4566
  }
4910
4567
 
4911
4568
  module.exports = update;
4912
- },{"38":38,"46":46,"49":49}],42:[function(_dereq_,module,exports){
4569
+ },{"39":39,"47":47,"50":50}],43:[function(_dereq_,module,exports){
4913
4570
  'use strict';
4914
4571
 
4915
4572
  /**
@@ -4923,7 +4580,7 @@ module.exports = update;
4923
4580
  * @typechecks
4924
4581
  */
4925
4582
 
4926
- var invariant = _dereq_(46);
4583
+ var invariant = _dereq_(47);
4927
4584
 
4928
4585
  /**
4929
4586
  * The CSSCore module specifies the API (and implements most of the methods)
@@ -5031,7 +4688,7 @@ var CSSCore = {
5031
4688
  };
5032
4689
 
5033
4690
  module.exports = CSSCore;
5034
- },{"46":46}],43:[function(_dereq_,module,exports){
4691
+ },{"47":47}],44:[function(_dereq_,module,exports){
5035
4692
  /**
5036
4693
  * Copyright (c) 2013-present, Facebook, Inc.
5037
4694
  * All rights reserved.
@@ -5067,7 +4724,7 @@ var ExecutionEnvironment = {
5067
4724
  };
5068
4725
 
5069
4726
  module.exports = ExecutionEnvironment;
5070
- },{}],44:[function(_dereq_,module,exports){
4727
+ },{}],45:[function(_dereq_,module,exports){
5071
4728
  "use strict";
5072
4729
 
5073
4730
  /**
@@ -5106,7 +4763,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
5106
4763
  };
5107
4764
 
5108
4765
  module.exports = emptyFunction;
5109
- },{}],45:[function(_dereq_,module,exports){
4766
+ },{}],46:[function(_dereq_,module,exports){
5110
4767
  /**
5111
4768
  * Copyright (c) 2013-present, Facebook, Inc.
5112
4769
  * All rights reserved.
@@ -5126,7 +4783,7 @@ if ("development" !== 'production') {
5126
4783
  }
5127
4784
 
5128
4785
  module.exports = emptyObject;
5129
- },{}],46:[function(_dereq_,module,exports){
4786
+ },{}],47:[function(_dereq_,module,exports){
5130
4787
  /**
5131
4788
  * Copyright (c) 2013-present, Facebook, Inc.
5132
4789
  * All rights reserved.
@@ -5150,12 +4807,18 @@ module.exports = emptyObject;
5150
4807
  * will remain to ensure logic does not differ in production.
5151
4808
  */
5152
4809
 
5153
- function invariant(condition, format, a, b, c, d, e, f) {
5154
- if ("development" !== 'production') {
4810
+ var validateFormat = function validateFormat(format) {};
4811
+
4812
+ if ("development" !== 'production') {
4813
+ validateFormat = function validateFormat(format) {
5155
4814
  if (format === undefined) {
5156
4815
  throw new Error('invariant requires an error message argument');
5157
4816
  }
5158
- }
4817
+ };
4818
+ }
4819
+
4820
+ function invariant(condition, format, a, b, c, d, e, f) {
4821
+ validateFormat(format);
5159
4822
 
5160
4823
  if (!condition) {
5161
4824
  var error;
@@ -5176,7 +4839,7 @@ function invariant(condition, format, a, b, c, d, e, f) {
5176
4839
  }
5177
4840
 
5178
4841
  module.exports = invariant;
5179
- },{}],47:[function(_dereq_,module,exports){
4842
+ },{}],48:[function(_dereq_,module,exports){
5180
4843
  /**
5181
4844
  * Copyright (c) 2013-present, Facebook, Inc.
5182
4845
  * All rights reserved.
@@ -5244,7 +4907,7 @@ function shallowEqual(objA, objB) {
5244
4907
  }
5245
4908
 
5246
4909
  module.exports = shallowEqual;
5247
- },{}],48:[function(_dereq_,module,exports){
4910
+ },{}],49:[function(_dereq_,module,exports){
5248
4911
  /**
5249
4912
  * Copyright 2014-2015, Facebook, Inc.
5250
4913
  * All rights reserved.
@@ -5257,7 +4920,7 @@ module.exports = shallowEqual;
5257
4920
 
5258
4921
  'use strict';
5259
4922
 
5260
- var emptyFunction = _dereq_(44);
4923
+ var emptyFunction = _dereq_(45);
5261
4924
 
5262
4925
  /**
5263
4926
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -5311,9 +4974,16 @@ if ("development" !== 'production') {
5311
4974
  }
5312
4975
 
5313
4976
  module.exports = warning;
5314
- },{"44":44}],49:[function(_dereq_,module,exports){
4977
+ },{"45":45}],50:[function(_dereq_,module,exports){
4978
+ /*
4979
+ object-assign
4980
+ (c) Sindre Sorhus
4981
+ @license MIT
4982
+ */
4983
+
5315
4984
  'use strict';
5316
4985
  /* eslint-disable no-unused-vars */
4986
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
5317
4987
  var hasOwnProperty = Object.prototype.hasOwnProperty;
5318
4988
  var propIsEnumerable = Object.prototype.propertyIsEnumerable;
5319
4989
 
@@ -5334,7 +5004,7 @@ function shouldUseNative() {
5334
5004
  // Detect buggy property enumeration order in older V8 versions.
5335
5005
 
5336
5006
  // https://bugs.chromium.org/p/v8/issues/detail?id=4118
5337
- var test1 = new String('abc'); // eslint-disable-line
5007
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
5338
5008
  test1[5] = 'de';
5339
5009
  if (Object.getOwnPropertyNames(test1)[0] === '5') {
5340
5010
  return false;
@@ -5363,7 +5033,7 @@ function shouldUseNative() {
5363
5033
  }
5364
5034
 
5365
5035
  return true;
5366
- } catch (e) {
5036
+ } catch (err) {
5367
5037
  // We don't expect any of the above to throw, but better to be safe.
5368
5038
  return false;
5369
5039
  }
@@ -5383,8 +5053,8 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5383
5053
  }
5384
5054
  }
5385
5055
 
5386
- if (Object.getOwnPropertySymbols) {
5387
- symbols = Object.getOwnPropertySymbols(from);
5056
+ if (getOwnPropertySymbols) {
5057
+ symbols = getOwnPropertySymbols(from);
5388
5058
  for (var i = 0; i < symbols.length; i++) {
5389
5059
  if (propIsEnumerable.call(from, symbols[i])) {
5390
5060
  to[symbols[i]] = from[symbols[i]];
@@ -5396,5 +5066,576 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5396
5066
  return to;
5397
5067
  };
5398
5068
 
5399
- },{}]},{},[32])(32)
5069
+ },{}],51:[function(_dereq_,module,exports){
5070
+ /**
5071
+ * Copyright 2013-present, Facebook, Inc.
5072
+ * All rights reserved.
5073
+ *
5074
+ * This source code is licensed under the BSD-style license found in the
5075
+ * LICENSE file in the root directory of this source tree. An additional grant
5076
+ * of patent rights can be found in the PATENTS file in the same directory.
5077
+ */
5078
+
5079
+ 'use strict';
5080
+
5081
+ var invariant = _dereq_(55);
5082
+ var warning = _dereq_(56);
5083
+
5084
+ var ReactPropTypesSecret = _dereq_(53);
5085
+
5086
+ var loggedTypeFailures = {};
5087
+
5088
+ /**
5089
+ * Assert that the values match with the type specs.
5090
+ * Error messages are memorized and will only be shown once.
5091
+ *
5092
+ * @param {object} typeSpecs Map of name to a ReactPropType
5093
+ * @param {object} values Runtime values that need to be type-checked
5094
+ * @param {string} location e.g. "prop", "context", "child context"
5095
+ * @param {string} componentName Name of the component for error messages.
5096
+ * @param {?Function} getStack Returns the component stack.
5097
+ * @private
5098
+ */
5099
+ function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
5100
+ if ("development" !== 'production') {
5101
+ for (var typeSpecName in typeSpecs) {
5102
+ if (typeSpecs.hasOwnProperty(typeSpecName)) {
5103
+ var error;
5104
+ // Prop type validation may throw. In case they do, we don't want to
5105
+ // fail the render phase where it didn't fail before. So we log it.
5106
+ // After these have been cleaned up, we'll let them throw.
5107
+ try {
5108
+ // This is intentionally an invariant that gets caught. It's the same
5109
+ // behavior as without this statement except with a better message.
5110
+ invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);
5111
+ error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
5112
+ } catch (ex) {
5113
+ error = ex;
5114
+ }
5115
+ "development" !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error) : void 0;
5116
+ if (error instanceof Error && !(error.message in loggedTypeFailures)) {
5117
+ // Only monitor this failure once because there tends to be a lot of the
5118
+ // same error.
5119
+ loggedTypeFailures[error.message] = true;
5120
+
5121
+ var stack = getStack ? getStack() : '';
5122
+
5123
+ "development" !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '') : void 0;
5124
+ }
5125
+ }
5126
+ }
5127
+ }
5128
+ }
5129
+
5130
+ module.exports = checkPropTypes;
5131
+
5132
+ },{"53":53,"55":55,"56":56}],52:[function(_dereq_,module,exports){
5133
+ /**
5134
+ * Copyright 2013-present, Facebook, Inc.
5135
+ * All rights reserved.
5136
+ *
5137
+ * This source code is licensed under the BSD-style license found in the
5138
+ * LICENSE file in the root directory of this source tree. An additional grant
5139
+ * of patent rights can be found in the PATENTS file in the same directory.
5140
+ */
5141
+
5142
+ 'use strict';
5143
+
5144
+ var emptyFunction = _dereq_(54);
5145
+ var invariant = _dereq_(55);
5146
+ var warning = _dereq_(56);
5147
+
5148
+ var ReactPropTypesSecret = _dereq_(53);
5149
+ var checkPropTypes = _dereq_(51);
5150
+
5151
+ module.exports = function (isValidElement) {
5152
+ /* global Symbol */
5153
+ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
5154
+ var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
5155
+
5156
+ /**
5157
+ * Returns the iterator method function contained on the iterable object.
5158
+ *
5159
+ * Be sure to invoke the function with the iterable as context:
5160
+ *
5161
+ * var iteratorFn = getIteratorFn(myIterable);
5162
+ * if (iteratorFn) {
5163
+ * var iterator = iteratorFn.call(myIterable);
5164
+ * ...
5165
+ * }
5166
+ *
5167
+ * @param {?object} maybeIterable
5168
+ * @return {?function}
5169
+ */
5170
+ function getIteratorFn(maybeIterable) {
5171
+ var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
5172
+ if (typeof iteratorFn === 'function') {
5173
+ return iteratorFn;
5174
+ }
5175
+ }
5176
+
5177
+ /**
5178
+ * Collection of methods that allow declaration and validation of props that are
5179
+ * supplied to React components. Example usage:
5180
+ *
5181
+ * var Props = require('ReactPropTypes');
5182
+ * var MyArticle = React.createClass({
5183
+ * propTypes: {
5184
+ * // An optional string prop named "description".
5185
+ * description: Props.string,
5186
+ *
5187
+ * // A required enum prop named "category".
5188
+ * category: Props.oneOf(['News','Photos']).isRequired,
5189
+ *
5190
+ * // A prop named "dialog" that requires an instance of Dialog.
5191
+ * dialog: Props.instanceOf(Dialog).isRequired
5192
+ * },
5193
+ * render: function() { ... }
5194
+ * });
5195
+ *
5196
+ * A more formal specification of how these methods are used:
5197
+ *
5198
+ * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
5199
+ * decl := ReactPropTypes.{type}(.isRequired)?
5200
+ *
5201
+ * Each and every declaration produces a function with the same signature. This
5202
+ * allows the creation of custom validation functions. For example:
5203
+ *
5204
+ * var MyLink = React.createClass({
5205
+ * propTypes: {
5206
+ * // An optional string or URI prop named "href".
5207
+ * href: function(props, propName, componentName) {
5208
+ * var propValue = props[propName];
5209
+ * if (propValue != null && typeof propValue !== 'string' &&
5210
+ * !(propValue instanceof URI)) {
5211
+ * return new Error(
5212
+ * 'Expected a string or an URI for ' + propName + ' in ' +
5213
+ * componentName
5214
+ * );
5215
+ * }
5216
+ * }
5217
+ * },
5218
+ * render: function() {...}
5219
+ * });
5220
+ *
5221
+ * @internal
5222
+ */
5223
+
5224
+ var ANONYMOUS = '<<anonymous>>';
5225
+
5226
+ var ReactPropTypes;
5227
+
5228
+ if ("development" !== 'production') {
5229
+ // Keep in sync with production version below
5230
+ ReactPropTypes = {
5231
+ array: createPrimitiveTypeChecker('array'),
5232
+ bool: createPrimitiveTypeChecker('boolean'),
5233
+ func: createPrimitiveTypeChecker('function'),
5234
+ number: createPrimitiveTypeChecker('number'),
5235
+ object: createPrimitiveTypeChecker('object'),
5236
+ string: createPrimitiveTypeChecker('string'),
5237
+ symbol: createPrimitiveTypeChecker('symbol'),
5238
+
5239
+ any: createAnyTypeChecker(),
5240
+ arrayOf: createArrayOfTypeChecker,
5241
+ element: createElementTypeChecker(),
5242
+ instanceOf: createInstanceTypeChecker,
5243
+ node: createNodeChecker(),
5244
+ objectOf: createObjectOfTypeChecker,
5245
+ oneOf: createEnumTypeChecker,
5246
+ oneOfType: createUnionTypeChecker,
5247
+ shape: createShapeTypeChecker
5248
+ };
5249
+ } else {
5250
+ var productionTypeChecker = function () {
5251
+ invariant(false, 'React.PropTypes type checking code is stripped in production.');
5252
+ };
5253
+ productionTypeChecker.isRequired = productionTypeChecker;
5254
+ var getProductionTypeChecker = function () {
5255
+ return productionTypeChecker;
5256
+ };
5257
+ // Keep in sync with development version above
5258
+ ReactPropTypes = {
5259
+ array: productionTypeChecker,
5260
+ bool: productionTypeChecker,
5261
+ func: productionTypeChecker,
5262
+ number: productionTypeChecker,
5263
+ object: productionTypeChecker,
5264
+ string: productionTypeChecker,
5265
+ symbol: productionTypeChecker,
5266
+
5267
+ any: productionTypeChecker,
5268
+ arrayOf: getProductionTypeChecker,
5269
+ element: productionTypeChecker,
5270
+ instanceOf: getProductionTypeChecker,
5271
+ node: productionTypeChecker,
5272
+ objectOf: getProductionTypeChecker,
5273
+ oneOf: getProductionTypeChecker,
5274
+ oneOfType: getProductionTypeChecker,
5275
+ shape: getProductionTypeChecker
5276
+ };
5277
+ }
5278
+
5279
+ /**
5280
+ * inlined Object.is polyfill to avoid requiring consumers ship their own
5281
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
5282
+ */
5283
+ /*eslint-disable no-self-compare*/
5284
+ function is(x, y) {
5285
+ // SameValue algorithm
5286
+ if (x === y) {
5287
+ // Steps 1-5, 7-10
5288
+ // Steps 6.b-6.e: +0 != -0
5289
+ return x !== 0 || 1 / x === 1 / y;
5290
+ } else {
5291
+ // Step 6.a: NaN == NaN
5292
+ return x !== x && y !== y;
5293
+ }
5294
+ }
5295
+ /*eslint-enable no-self-compare*/
5296
+
5297
+ /**
5298
+ * We use an Error-like object for backward compatibility as people may call
5299
+ * PropTypes directly and inspect their output. However, we don't use real
5300
+ * Errors anymore. We don't inspect their stack anyway, and creating them
5301
+ * is prohibitively expensive if they are created too often, such as what
5302
+ * happens in oneOfType() for any type before the one that matched.
5303
+ */
5304
+ function PropTypeError(message) {
5305
+ this.message = message;
5306
+ this.stack = '';
5307
+ }
5308
+ // Make `instanceof Error` still work for returned errors.
5309
+ PropTypeError.prototype = Error.prototype;
5310
+
5311
+ function createChainableTypeChecker(validate) {
5312
+ if ("development" !== 'production') {
5313
+ var manualPropTypeCallCache = {};
5314
+ }
5315
+ function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
5316
+ componentName = componentName || ANONYMOUS;
5317
+ propFullName = propFullName || propName;
5318
+ if ("development" !== 'production') {
5319
+ if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
5320
+ var cacheKey = componentName + ':' + propName;
5321
+ if (!manualPropTypeCallCache[cacheKey]) {
5322
+ "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;
5323
+ manualPropTypeCallCache[cacheKey] = true;
5324
+ }
5325
+ }
5326
+ }
5327
+ if (props[propName] == null) {
5328
+ if (isRequired) {
5329
+ if (props[propName] === null) {
5330
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
5331
+ }
5332
+ return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
5333
+ }
5334
+ return null;
5335
+ } else {
5336
+ return validate(props, propName, componentName, location, propFullName);
5337
+ }
5338
+ }
5339
+
5340
+ var chainedCheckType = checkType.bind(null, false);
5341
+ chainedCheckType.isRequired = checkType.bind(null, true);
5342
+
5343
+ return chainedCheckType;
5344
+ }
5345
+
5346
+ function createPrimitiveTypeChecker(expectedType) {
5347
+ function validate(props, propName, componentName, location, propFullName, secret) {
5348
+ var propValue = props[propName];
5349
+ var propType = getPropType(propValue);
5350
+ if (propType !== expectedType) {
5351
+ // `propValue` being instance of, say, date/regexp, pass the 'object'
5352
+ // check, but we can offer a more precise error message here rather than
5353
+ // 'of type `object`'.
5354
+ var preciseType = getPreciseType(propValue);
5355
+
5356
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
5357
+ }
5358
+ return null;
5359
+ }
5360
+ return createChainableTypeChecker(validate);
5361
+ }
5362
+
5363
+ function createAnyTypeChecker() {
5364
+ return createChainableTypeChecker(emptyFunction.thatReturnsNull);
5365
+ }
5366
+
5367
+ function createArrayOfTypeChecker(typeChecker) {
5368
+ function validate(props, propName, componentName, location, propFullName) {
5369
+ if (typeof typeChecker !== 'function') {
5370
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
5371
+ }
5372
+ var propValue = props[propName];
5373
+ if (!Array.isArray(propValue)) {
5374
+ var propType = getPropType(propValue);
5375
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
5376
+ }
5377
+ for (var i = 0; i < propValue.length; i++) {
5378
+ var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
5379
+ if (error instanceof Error) {
5380
+ return error;
5381
+ }
5382
+ }
5383
+ return null;
5384
+ }
5385
+ return createChainableTypeChecker(validate);
5386
+ }
5387
+
5388
+ function createElementTypeChecker() {
5389
+ function validate(props, propName, componentName, location, propFullName) {
5390
+ var propValue = props[propName];
5391
+ if (!isValidElement(propValue)) {
5392
+ var propType = getPropType(propValue);
5393
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
5394
+ }
5395
+ return null;
5396
+ }
5397
+ return createChainableTypeChecker(validate);
5398
+ }
5399
+
5400
+ function createInstanceTypeChecker(expectedClass) {
5401
+ function validate(props, propName, componentName, location, propFullName) {
5402
+ if (!(props[propName] instanceof expectedClass)) {
5403
+ var expectedClassName = expectedClass.name || ANONYMOUS;
5404
+ var actualClassName = getClassName(props[propName]);
5405
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
5406
+ }
5407
+ return null;
5408
+ }
5409
+ return createChainableTypeChecker(validate);
5410
+ }
5411
+
5412
+ function createEnumTypeChecker(expectedValues) {
5413
+ if (!Array.isArray(expectedValues)) {
5414
+ "development" !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
5415
+ return emptyFunction.thatReturnsNull;
5416
+ }
5417
+
5418
+ function validate(props, propName, componentName, location, propFullName) {
5419
+ var propValue = props[propName];
5420
+ for (var i = 0; i < expectedValues.length; i++) {
5421
+ if (is(propValue, expectedValues[i])) {
5422
+ return null;
5423
+ }
5424
+ }
5425
+
5426
+ var valuesString = JSON.stringify(expectedValues);
5427
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
5428
+ }
5429
+ return createChainableTypeChecker(validate);
5430
+ }
5431
+
5432
+ function createObjectOfTypeChecker(typeChecker) {
5433
+ function validate(props, propName, componentName, location, propFullName) {
5434
+ if (typeof typeChecker !== 'function') {
5435
+ return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
5436
+ }
5437
+ var propValue = props[propName];
5438
+ var propType = getPropType(propValue);
5439
+ if (propType !== 'object') {
5440
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
5441
+ }
5442
+ for (var key in propValue) {
5443
+ if (propValue.hasOwnProperty(key)) {
5444
+ var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
5445
+ if (error instanceof Error) {
5446
+ return error;
5447
+ }
5448
+ }
5449
+ }
5450
+ return null;
5451
+ }
5452
+ return createChainableTypeChecker(validate);
5453
+ }
5454
+
5455
+ function createUnionTypeChecker(arrayOfTypeCheckers) {
5456
+ if (!Array.isArray(arrayOfTypeCheckers)) {
5457
+ "development" !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
5458
+ return emptyFunction.thatReturnsNull;
5459
+ }
5460
+
5461
+ function validate(props, propName, componentName, location, propFullName) {
5462
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
5463
+ var checker = arrayOfTypeCheckers[i];
5464
+ if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
5465
+ return null;
5466
+ }
5467
+ }
5468
+
5469
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
5470
+ }
5471
+ return createChainableTypeChecker(validate);
5472
+ }
5473
+
5474
+ function createNodeChecker() {
5475
+ function validate(props, propName, componentName, location, propFullName) {
5476
+ if (!isNode(props[propName])) {
5477
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
5478
+ }
5479
+ return null;
5480
+ }
5481
+ return createChainableTypeChecker(validate);
5482
+ }
5483
+
5484
+ function createShapeTypeChecker(shapeTypes) {
5485
+ function validate(props, propName, componentName, location, propFullName) {
5486
+ var propValue = props[propName];
5487
+ var propType = getPropType(propValue);
5488
+ if (propType !== 'object') {
5489
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
5490
+ }
5491
+ for (var key in shapeTypes) {
5492
+ var checker = shapeTypes[key];
5493
+ if (!checker) {
5494
+ continue;
5495
+ }
5496
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
5497
+ if (error) {
5498
+ return error;
5499
+ }
5500
+ }
5501
+ return null;
5502
+ }
5503
+ return createChainableTypeChecker(validate);
5504
+ }
5505
+
5506
+ function isNode(propValue) {
5507
+ switch (typeof propValue) {
5508
+ case 'number':
5509
+ case 'string':
5510
+ case 'undefined':
5511
+ return true;
5512
+ case 'boolean':
5513
+ return !propValue;
5514
+ case 'object':
5515
+ if (Array.isArray(propValue)) {
5516
+ return propValue.every(isNode);
5517
+ }
5518
+ if (propValue === null || isValidElement(propValue)) {
5519
+ return true;
5520
+ }
5521
+
5522
+ var iteratorFn = getIteratorFn(propValue);
5523
+ if (iteratorFn) {
5524
+ var iterator = iteratorFn.call(propValue);
5525
+ var step;
5526
+ if (iteratorFn !== propValue.entries) {
5527
+ while (!(step = iterator.next()).done) {
5528
+ if (!isNode(step.value)) {
5529
+ return false;
5530
+ }
5531
+ }
5532
+ } else {
5533
+ // Iterator will provide entry [k,v] tuples rather than values.
5534
+ while (!(step = iterator.next()).done) {
5535
+ var entry = step.value;
5536
+ if (entry) {
5537
+ if (!isNode(entry[1])) {
5538
+ return false;
5539
+ }
5540
+ }
5541
+ }
5542
+ }
5543
+ } else {
5544
+ return false;
5545
+ }
5546
+
5547
+ return true;
5548
+ default:
5549
+ return false;
5550
+ }
5551
+ }
5552
+
5553
+ function isSymbol(propType, propValue) {
5554
+ // Native Symbol.
5555
+ if (propType === 'symbol') {
5556
+ return true;
5557
+ }
5558
+
5559
+ // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
5560
+ if (propValue['@@toStringTag'] === 'Symbol') {
5561
+ return true;
5562
+ }
5563
+
5564
+ // Fallback for non-spec compliant Symbols which are polyfilled.
5565
+ if (typeof Symbol === 'function' && propValue instanceof Symbol) {
5566
+ return true;
5567
+ }
5568
+
5569
+ return false;
5570
+ }
5571
+
5572
+ // Equivalent of `typeof` but with special handling for array and regexp.
5573
+ function getPropType(propValue) {
5574
+ var propType = typeof propValue;
5575
+ if (Array.isArray(propValue)) {
5576
+ return 'array';
5577
+ }
5578
+ if (propValue instanceof RegExp) {
5579
+ // Old webkits (at least until Android 4.0) return 'function' rather than
5580
+ // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
5581
+ // passes PropTypes.object.
5582
+ return 'object';
5583
+ }
5584
+ if (isSymbol(propType, propValue)) {
5585
+ return 'symbol';
5586
+ }
5587
+ return propType;
5588
+ }
5589
+
5590
+ // This handles more types than `getPropType`. Only used for error messages.
5591
+ // See `createPrimitiveTypeChecker`.
5592
+ function getPreciseType(propValue) {
5593
+ var propType = getPropType(propValue);
5594
+ if (propType === 'object') {
5595
+ if (propValue instanceof Date) {
5596
+ return 'date';
5597
+ } else if (propValue instanceof RegExp) {
5598
+ return 'regexp';
5599
+ }
5600
+ }
5601
+ return propType;
5602
+ }
5603
+
5604
+ // Returns class name of the object, if any.
5605
+ function getClassName(propValue) {
5606
+ if (!propValue.constructor || !propValue.constructor.name) {
5607
+ return ANONYMOUS;
5608
+ }
5609
+ return propValue.constructor.name;
5610
+ }
5611
+
5612
+ ReactPropTypes.checkPropTypes = checkPropTypes;
5613
+ ReactPropTypes.PropTypes = ReactPropTypes;
5614
+
5615
+ return ReactPropTypes;
5616
+ };
5617
+
5618
+ },{"51":51,"53":53,"54":54,"55":55,"56":56}],53:[function(_dereq_,module,exports){
5619
+ /**
5620
+ * Copyright 2013-present, Facebook, Inc.
5621
+ * All rights reserved.
5622
+ *
5623
+ * This source code is licensed under the BSD-style license found in the
5624
+ * LICENSE file in the root directory of this source tree. An additional grant
5625
+ * of patent rights can be found in the PATENTS file in the same directory.
5626
+ */
5627
+
5628
+ 'use strict';
5629
+
5630
+ const ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
5631
+
5632
+ module.exports = ReactPropTypesSecret;
5633
+
5634
+ },{}],54:[function(_dereq_,module,exports){
5635
+ arguments[4][45][0].apply(exports,arguments)
5636
+ },{"45":45}],55:[function(_dereq_,module,exports){
5637
+ arguments[4][47][0].apply(exports,arguments)
5638
+ },{"47":47}],56:[function(_dereq_,module,exports){
5639
+ arguments[4][49][0].apply(exports,arguments)
5640
+ },{"49":49,"54":54}]},{},[32])(32)
5400
5641
  });