react 15.4.1 → 15.5.0

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.
package/README.md CHANGED
@@ -13,11 +13,4 @@ To use React in production mode, set the environment variable `NODE_ENV` to `pro
13
13
 
14
14
  ```js
15
15
  var React = require('react');
16
-
17
- // Addons are in separate packages:
18
- var createFragment = require('react-addons-create-fragment');
19
- var immutabilityHelpers = require('react-addons-update');
20
- var CSSTransitionGroup = require('react-addons-css-transition-group');
21
16
  ```
22
-
23
- For a complete list of addons visit the [addons documentation page](https://facebook.github.io/react/docs/addons.html).
@@ -1,5 +1,5 @@
1
1
  /**
2
- * React (with addons) v15.4.1
2
+ * React (with addons) v15.5.0
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
@@ -2073,7 +2106,7 @@ var ReactComponentTreeHook = {
2073
2106
  };
2074
2107
 
2075
2108
  module.exports = ReactComponentTreeHook;
2076
- },{"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){
2077
2110
  /**
2078
2111
  * Copyright 2013-present, Facebook, Inc.
2079
2112
  * All rights reserved.
@@ -2086,7 +2119,7 @@ module.exports = ReactComponentTreeHook;
2086
2119
 
2087
2120
  'use strict';
2088
2121
 
2089
- var shallowCompare = _dereq_(39);
2122
+ var shallowCompare = _dereq_(40);
2090
2123
 
2091
2124
  /**
2092
2125
  * If your React component's render function is "pure", e.g. it will render the
@@ -2121,7 +2154,7 @@ var ReactComponentWithPureRenderMixin = {
2121
2154
  };
2122
2155
 
2123
2156
  module.exports = ReactComponentWithPureRenderMixin;
2124
- },{"39":39}],14:[function(_dereq_,module,exports){
2157
+ },{"40":40}],14:[function(_dereq_,module,exports){
2125
2158
  /**
2126
2159
  * Copyright 2013-present, Facebook, Inc.
2127
2160
  * All rights reserved.
@@ -2335,11 +2368,11 @@ module.exports = ReactDOMFactories;
2335
2368
 
2336
2369
  'use strict';
2337
2370
 
2338
- var _assign = _dereq_(49);
2371
+ var _assign = _dereq_(50);
2339
2372
 
2340
2373
  var ReactCurrentOwner = _dereq_(14);
2341
2374
 
2342
- var warning = _dereq_(48);
2375
+ var warning = _dereq_(49);
2343
2376
  var canDefineProperty = _dereq_(33);
2344
2377
  var hasOwnProperty = Object.prototype.hasOwnProperty;
2345
2378
 
@@ -2663,7 +2696,7 @@ ReactElement.isValidElement = function (object) {
2663
2696
  };
2664
2697
 
2665
2698
  module.exports = ReactElement;
2666
- },{"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){
2667
2700
  /**
2668
2701
  * Copyright 2014-present, Facebook, Inc.
2669
2702
  * All rights reserved.
@@ -2711,7 +2744,7 @@ var checkReactTypeSpec = _dereq_(34);
2711
2744
 
2712
2745
  var canDefineProperty = _dereq_(33);
2713
2746
  var getIteratorFn = _dereq_(36);
2714
- var warning = _dereq_(48);
2747
+ var warning = _dereq_(49);
2715
2748
 
2716
2749
  function getDeclarationErrorAddendum() {
2717
2750
  if (ReactCurrentOwner.current) {
@@ -2723,6 +2756,16 @@ function getDeclarationErrorAddendum() {
2723
2756
  return '';
2724
2757
  }
2725
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
+
2726
2769
  /**
2727
2770
  * Warn if there's no key explicitly set on dynamic arrays of children or
2728
2771
  * object keys are not valid. This allows us to keep track of children between
@@ -2848,7 +2891,23 @@ var ReactElementValidator = {
2848
2891
  // We warn in this case but don't throw. We expect the element creation to
2849
2892
  // succeed and there will likely be errors in render.
2850
2893
  if (!validType) {
2851
- "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
+ }
2852
2911
  }
2853
2912
 
2854
2913
  var element = ReactElement.createElement.apply(this, arguments);
@@ -2910,7 +2969,7 @@ var ReactElementValidator = {
2910
2969
  };
2911
2970
 
2912
2971
  module.exports = ReactElementValidator;
2913
- },{"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){
2914
2973
  /**
2915
2974
  * Copyright 2015-present, Facebook, Inc.
2916
2975
  * All rights reserved.
@@ -2923,14 +2982,14 @@ module.exports = ReactElementValidator;
2923
2982
 
2924
2983
  'use strict';
2925
2984
 
2926
- var _prodInvariant = _dereq_(38);
2985
+ var _prodInvariant = _dereq_(39);
2927
2986
 
2928
2987
  var ReactChildren = _dereq_(9);
2929
2988
  var ReactElement = _dereq_(16);
2930
2989
 
2931
- var emptyFunction = _dereq_(44);
2932
- var invariant = _dereq_(46);
2933
- var warning = _dereq_(48);
2990
+ var emptyFunction = _dereq_(45);
2991
+ var invariant = _dereq_(47);
2992
+ var warning = _dereq_(49);
2934
2993
 
2935
2994
  /**
2936
2995
  * We used to allow keyed objects to serve as a collection of ReactElements,
@@ -2979,7 +3038,7 @@ var ReactFragment = {
2979
3038
  };
2980
3039
 
2981
3040
  module.exports = ReactFragment;
2982
- },{"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){
2983
3042
  /**
2984
3043
  * Copyright 2013-present, Facebook, Inc.
2985
3044
  * All rights reserved.
@@ -3063,7 +3122,7 @@ module.exports = ReactLink;
3063
3122
 
3064
3123
  'use strict';
3065
3124
 
3066
- var warning = _dereq_(48);
3125
+ var warning = _dereq_(49);
3067
3126
 
3068
3127
  function warnNoop(publicInstance, callerName) {
3069
3128
  if ("development" !== 'production') {
@@ -3146,7 +3205,7 @@ var ReactNoopUpdateQueue = {
3146
3205
  };
3147
3206
 
3148
3207
  module.exports = ReactNoopUpdateQueue;
3149
- },{"48":48}],22:[function(_dereq_,module,exports){
3208
+ },{"49":49}],22:[function(_dereq_,module,exports){
3150
3209
  /**
3151
3210
  * Copyright 2013-present, Facebook, Inc.
3152
3211
  * All rights reserved.
@@ -3184,546 +3243,131 @@ module.exports = ReactPropTypeLocationNames;
3184
3243
 
3185
3244
  'use strict';
3186
3245
 
3187
- var ReactElement = _dereq_(16);
3188
- var ReactPropTypeLocationNames = _dereq_(22);
3189
- var ReactPropTypesSecret = _dereq_(24);
3246
+ var _require = _dereq_(16),
3247
+ isValidElement = _require.isValidElement;
3190
3248
 
3191
- var emptyFunction = _dereq_(44);
3192
- var getIteratorFn = _dereq_(36);
3193
- var warning = _dereq_(48);
3249
+ var factory = _dereq_(52);
3194
3250
 
3251
+ module.exports = factory(isValidElement);
3252
+ },{"16":16,"52":52}],24:[function(_dereq_,module,exports){
3195
3253
  /**
3196
- * Collection of methods that allow declaration and validation of props that are
3197
- * supplied to React components. Example usage:
3198
- *
3199
- * var Props = require('ReactPropTypes');
3200
- * var MyArticle = React.createClass({
3201
- * propTypes: {
3202
- * // An optional string prop named "description".
3203
- * description: Props.string,
3204
- *
3205
- * // A required enum prop named "category".
3206
- * category: Props.oneOf(['News','Photos']).isRequired,
3207
- *
3208
- * // A prop named "dialog" that requires an instance of Dialog.
3209
- * dialog: Props.instanceOf(Dialog).isRequired
3210
- * },
3211
- * render: function() { ... }
3212
- * });
3254
+ * Copyright 2013-present, Facebook, Inc.
3255
+ * All rights reserved.
3213
3256
  *
3214
- * A more formal specification of how these methods are used:
3215
- *
3216
- * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
3217
- * decl := ReactPropTypes.{type}(.isRequired)?
3218
- *
3219
- * Each and every declaration produces a function with the same signature. This
3220
- * allows the creation of custom validation functions. For example:
3221
- *
3222
- * var MyLink = React.createClass({
3223
- * propTypes: {
3224
- * // An optional string or URI prop named "href".
3225
- * href: function(props, propName, componentName) {
3226
- * var propValue = props[propName];
3227
- * if (propValue != null && typeof propValue !== 'string' &&
3228
- * !(propValue instanceof URI)) {
3229
- * return new Error(
3230
- * 'Expected a string or an URI for ' + propName + ' in ' +
3231
- * componentName
3232
- * );
3233
- * }
3234
- * }
3235
- * },
3236
- * render: function() {...}
3237
- * });
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.
3238
3260
  *
3239
- * @internal
3261
+ *
3240
3262
  */
3241
3263
 
3242
- var ANONYMOUS = '<<anonymous>>';
3243
-
3244
- var ReactPropTypes = {
3245
- array: createPrimitiveTypeChecker('array'),
3246
- bool: createPrimitiveTypeChecker('boolean'),
3247
- func: createPrimitiveTypeChecker('function'),
3248
- number: createPrimitiveTypeChecker('number'),
3249
- object: createPrimitiveTypeChecker('object'),
3250
- string: createPrimitiveTypeChecker('string'),
3251
- symbol: createPrimitiveTypeChecker('symbol'),
3252
-
3253
- any: createAnyTypeChecker(),
3254
- arrayOf: createArrayOfTypeChecker,
3255
- element: createElementTypeChecker(),
3256
- instanceOf: createInstanceTypeChecker,
3257
- node: createNodeChecker(),
3258
- objectOf: createObjectOfTypeChecker,
3259
- oneOf: createEnumTypeChecker,
3260
- oneOfType: createUnionTypeChecker,
3261
- shape: createShapeTypeChecker
3262
- };
3264
+ 'use strict';
3263
3265
 
3264
- /**
3265
- * inlined Object.is polyfill to avoid requiring consumers ship their own
3266
- * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
3267
- */
3268
- /*eslint-disable no-self-compare*/
3269
- function is(x, y) {
3270
- // SameValue algorithm
3271
- if (x === y) {
3272
- // Steps 1-5, 7-10
3273
- // Steps 6.b-6.e: +0 != -0
3274
- return x !== 0 || 1 / x === 1 / y;
3275
- } else {
3276
- // Step 6.a: NaN == NaN
3277
- return x !== x && y !== y;
3278
- }
3279
- }
3280
- /*eslint-enable no-self-compare*/
3266
+ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
3281
3267
 
3268
+ module.exports = ReactPropTypesSecret;
3269
+ },{}],25:[function(_dereq_,module,exports){
3282
3270
  /**
3283
- * We use an Error-like object for backward compatibility as people may call
3284
- * PropTypes directly and inspect their output. However we don't use real
3285
- * Errors anymore. We don't inspect their stack anyway, and creating them
3286
- * is prohibitively expensive if they are created too often, such as what
3287
- * 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
+ *
3288
3278
  */
3289
- function PropTypeError(message) {
3290
- this.message = message;
3291
- this.stack = '';
3292
- }
3293
- // Make `instanceof Error` still work for returned errors.
3294
- PropTypeError.prototype = Error.prototype;
3295
-
3296
- function createChainableTypeChecker(validate) {
3297
- if ("development" !== 'production') {
3298
- var manualPropTypeCallCache = {};
3299
- }
3300
- function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
3301
- componentName = componentName || ANONYMOUS;
3302
- propFullName = propFullName || propName;
3303
- if ("development" !== 'production') {
3304
- if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
3305
- var cacheKey = componentName + ':' + propName;
3306
- if (!manualPropTypeCallCache[cacheKey]) {
3307
- "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;
3308
- manualPropTypeCallCache[cacheKey] = true;
3309
- }
3310
- }
3311
- }
3312
- if (props[propName] == null) {
3313
- var locationName = ReactPropTypeLocationNames[location];
3314
- if (isRequired) {
3315
- if (props[propName] === null) {
3316
- return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
3317
- }
3318
- return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
3319
- }
3320
- return null;
3321
- } else {
3322
- return validate(props, propName, componentName, location, propFullName);
3323
- }
3324
- }
3325
3279
 
3326
- var chainedCheckType = checkType.bind(null, false);
3327
- chainedCheckType.isRequired = checkType.bind(null, true);
3280
+ 'use strict';
3328
3281
 
3329
- return chainedCheckType;
3330
- }
3282
+ var _assign = _dereq_(50);
3331
3283
 
3332
- function createPrimitiveTypeChecker(expectedType) {
3333
- function validate(props, propName, componentName, location, propFullName, secret) {
3334
- var propValue = props[propName];
3335
- var propType = getPropType(propValue);
3336
- if (propType !== expectedType) {
3337
- var locationName = ReactPropTypeLocationNames[location];
3338
- // `propValue` being instance of, say, date/regexp, pass the 'object'
3339
- // check, but we can offer a more precise error message here rather than
3340
- // 'of type `object`'.
3341
- var preciseType = getPreciseType(propValue);
3342
-
3343
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
3344
- }
3345
- return null;
3346
- }
3347
- return createChainableTypeChecker(validate);
3348
- }
3284
+ var ReactComponent = _dereq_(11);
3285
+ var ReactNoopUpdateQueue = _dereq_(21);
3349
3286
 
3350
- function createAnyTypeChecker() {
3351
- return createChainableTypeChecker(emptyFunction.thatReturns(null));
3352
- }
3287
+ var emptyObject = _dereq_(46);
3353
3288
 
3354
- function createArrayOfTypeChecker(typeChecker) {
3355
- function validate(props, propName, componentName, location, propFullName) {
3356
- if (typeof typeChecker !== 'function') {
3357
- return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
3358
- }
3359
- var propValue = props[propName];
3360
- if (!Array.isArray(propValue)) {
3361
- var locationName = ReactPropTypeLocationNames[location];
3362
- var propType = getPropType(propValue);
3363
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
3364
- }
3365
- for (var i = 0; i < propValue.length; i++) {
3366
- var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
3367
- if (error instanceof Error) {
3368
- return error;
3369
- }
3370
- }
3371
- return null;
3372
- }
3373
- 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;
3374
3300
  }
3375
3301
 
3376
- function createElementTypeChecker() {
3377
- function validate(props, propName, componentName, location, propFullName) {
3378
- var propValue = props[propName];
3379
- if (!ReactElement.isValidElement(propValue)) {
3380
- var locationName = ReactPropTypeLocationNames[location];
3381
- var propType = getPropType(propValue);
3382
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
3383
- }
3384
- return null;
3385
- }
3386
- return createChainableTypeChecker(validate);
3387
- }
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;
3388
3309
 
3389
- function createInstanceTypeChecker(expectedClass) {
3390
- function validate(props, propName, componentName, location, propFullName) {
3391
- if (!(props[propName] instanceof expectedClass)) {
3392
- var locationName = ReactPropTypeLocationNames[location];
3393
- var expectedClassName = expectedClass.name || ANONYMOUS;
3394
- var actualClassName = getClassName(props[propName]);
3395
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
3396
- }
3397
- return null;
3398
- }
3399
- return createChainableTypeChecker(validate);
3400
- }
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
+ */
3401
3321
 
3402
- function createEnumTypeChecker(expectedValues) {
3403
- if (!Array.isArray(expectedValues)) {
3404
- "development" !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
3405
- return emptyFunction.thatReturnsNull;
3406
- }
3322
+ 'use strict';
3407
3323
 
3408
- function validate(props, propName, componentName, location, propFullName) {
3409
- var propValue = props[propName];
3410
- for (var i = 0; i < expectedValues.length; i++) {
3411
- if (is(propValue, expectedValues[i])) {
3412
- 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);
3413
3340
  }
3414
- }
3341
+ };
3342
+ },
3415
3343
 
3416
- var locationName = ReactPropTypeLocationNames[location];
3417
- var valuesString = JSON.stringify(expectedValues);
3418
- 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));
3419
3359
  }
3420
- return createChainableTypeChecker(validate);
3421
- }
3422
-
3423
- function createObjectOfTypeChecker(typeChecker) {
3424
- function validate(props, propName, componentName, location, propFullName) {
3425
- if (typeof typeChecker !== 'function') {
3426
- return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
3427
- }
3428
- var propValue = props[propName];
3429
- var propType = getPropType(propValue);
3430
- if (propType !== 'object') {
3431
- var locationName = ReactPropTypeLocationNames[location];
3432
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
3433
- }
3434
- for (var key in propValue) {
3435
- if (propValue.hasOwnProperty(key)) {
3436
- var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
3437
- if (error instanceof Error) {
3438
- return error;
3439
- }
3440
- }
3441
- }
3442
- return null;
3443
- }
3444
- return createChainableTypeChecker(validate);
3445
- }
3446
-
3447
- function createUnionTypeChecker(arrayOfTypeCheckers) {
3448
- if (!Array.isArray(arrayOfTypeCheckers)) {
3449
- "development" !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
3450
- return emptyFunction.thatReturnsNull;
3451
- }
3452
-
3453
- function validate(props, propName, componentName, location, propFullName) {
3454
- for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
3455
- var checker = arrayOfTypeCheckers[i];
3456
- if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
3457
- return null;
3458
- }
3459
- }
3460
-
3461
- var locationName = ReactPropTypeLocationNames[location];
3462
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
3463
- }
3464
- return createChainableTypeChecker(validate);
3465
- }
3466
-
3467
- function createNodeChecker() {
3468
- function validate(props, propName, componentName, location, propFullName) {
3469
- if (!isNode(props[propName])) {
3470
- var locationName = ReactPropTypeLocationNames[location];
3471
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
3472
- }
3473
- return null;
3474
- }
3475
- return createChainableTypeChecker(validate);
3476
- }
3477
-
3478
- function createShapeTypeChecker(shapeTypes) {
3479
- function validate(props, propName, componentName, location, propFullName) {
3480
- var propValue = props[propName];
3481
- var propType = getPropType(propValue);
3482
- if (propType !== 'object') {
3483
- var locationName = ReactPropTypeLocationNames[location];
3484
- return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
3485
- }
3486
- for (var key in shapeTypes) {
3487
- var checker = shapeTypes[key];
3488
- if (!checker) {
3489
- continue;
3490
- }
3491
- var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
3492
- if (error) {
3493
- return error;
3494
- }
3495
- }
3496
- return null;
3497
- }
3498
- return createChainableTypeChecker(validate);
3499
- }
3500
-
3501
- function isNode(propValue) {
3502
- switch (typeof propValue) {
3503
- case 'number':
3504
- case 'string':
3505
- case 'undefined':
3506
- return true;
3507
- case 'boolean':
3508
- return !propValue;
3509
- case 'object':
3510
- if (Array.isArray(propValue)) {
3511
- return propValue.every(isNode);
3512
- }
3513
- if (propValue === null || ReactElement.isValidElement(propValue)) {
3514
- return true;
3515
- }
3516
-
3517
- var iteratorFn = getIteratorFn(propValue);
3518
- if (iteratorFn) {
3519
- var iterator = iteratorFn.call(propValue);
3520
- var step;
3521
- if (iteratorFn !== propValue.entries) {
3522
- while (!(step = iterator.next()).done) {
3523
- if (!isNode(step.value)) {
3524
- return false;
3525
- }
3526
- }
3527
- } else {
3528
- // Iterator will provide entry [k,v] tuples rather than values.
3529
- while (!(step = iterator.next()).done) {
3530
- var entry = step.value;
3531
- if (entry) {
3532
- if (!isNode(entry[1])) {
3533
- return false;
3534
- }
3535
- }
3536
- }
3537
- }
3538
- } else {
3539
- return false;
3540
- }
3541
-
3542
- return true;
3543
- default:
3544
- return false;
3545
- }
3546
- }
3547
-
3548
- function isSymbol(propType, propValue) {
3549
- // Native Symbol.
3550
- if (propType === 'symbol') {
3551
- return true;
3552
- }
3553
-
3554
- // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
3555
- if (propValue['@@toStringTag'] === 'Symbol') {
3556
- return true;
3557
- }
3558
-
3559
- // Fallback for non-spec compliant Symbols which are polyfilled.
3560
- if (typeof Symbol === 'function' && propValue instanceof Symbol) {
3561
- return true;
3562
- }
3563
-
3564
- return false;
3565
- }
3566
-
3567
- // Equivalent of `typeof` but with special handling for array and regexp.
3568
- function getPropType(propValue) {
3569
- var propType = typeof propValue;
3570
- if (Array.isArray(propValue)) {
3571
- return 'array';
3572
- }
3573
- if (propValue instanceof RegExp) {
3574
- // Old webkits (at least until Android 4.0) return 'function' rather than
3575
- // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
3576
- // passes PropTypes.object.
3577
- return 'object';
3578
- }
3579
- if (isSymbol(propType, propValue)) {
3580
- return 'symbol';
3581
- }
3582
- return propType;
3583
- }
3584
-
3585
- // This handles more types than `getPropType`. Only used for error messages.
3586
- // See `createPrimitiveTypeChecker`.
3587
- function getPreciseType(propValue) {
3588
- var propType = getPropType(propValue);
3589
- if (propType === 'object') {
3590
- if (propValue instanceof Date) {
3591
- return 'date';
3592
- } else if (propValue instanceof RegExp) {
3593
- return 'regexp';
3594
- }
3595
- }
3596
- return propType;
3597
- }
3598
-
3599
- // Returns class name of the object, if any.
3600
- function getClassName(propValue) {
3601
- if (!propValue.constructor || !propValue.constructor.name) {
3602
- return ANONYMOUS;
3603
- }
3604
- return propValue.constructor.name;
3605
- }
3606
-
3607
- module.exports = ReactPropTypes;
3608
- },{"16":16,"22":22,"24":24,"36":36,"44":44,"48":48}],24:[function(_dereq_,module,exports){
3609
- /**
3610
- * Copyright 2013-present, Facebook, Inc.
3611
- * All rights reserved.
3612
- *
3613
- * This source code is licensed under the BSD-style license found in the
3614
- * LICENSE file in the root directory of this source tree. An additional grant
3615
- * of patent rights can be found in the PATENTS file in the same directory.
3616
- *
3617
- *
3618
- */
3619
-
3620
- 'use strict';
3621
-
3622
- var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
3623
-
3624
- module.exports = ReactPropTypesSecret;
3625
- },{}],25:[function(_dereq_,module,exports){
3626
- /**
3627
- * Copyright 2013-present, Facebook, Inc.
3628
- * All rights reserved.
3629
- *
3630
- * This source code is licensed under the BSD-style license found in the
3631
- * LICENSE file in the root directory of this source tree. An additional grant
3632
- * of patent rights can be found in the PATENTS file in the same directory.
3633
- *
3634
- */
3635
-
3636
- 'use strict';
3637
-
3638
- var _assign = _dereq_(49);
3639
-
3640
- var ReactComponent = _dereq_(11);
3641
- var ReactNoopUpdateQueue = _dereq_(21);
3642
-
3643
- var emptyObject = _dereq_(45);
3644
-
3645
- /**
3646
- * Base class helpers for the updating state of a component.
3647
- */
3648
- function ReactPureComponent(props, context, updater) {
3649
- // Duplicated from ReactComponent.
3650
- this.props = props;
3651
- this.context = context;
3652
- this.refs = emptyObject;
3653
- // We initialize the default updater but the real one gets injected by the
3654
- // renderer.
3655
- this.updater = updater || ReactNoopUpdateQueue;
3656
- }
3657
-
3658
- function ComponentDummy() {}
3659
- ComponentDummy.prototype = ReactComponent.prototype;
3660
- ReactPureComponent.prototype = new ComponentDummy();
3661
- ReactPureComponent.prototype.constructor = ReactPureComponent;
3662
- // Avoid an extra prototype jump for these methods.
3663
- _assign(ReactPureComponent.prototype, ReactComponent.prototype);
3664
- ReactPureComponent.prototype.isPureReactComponent = true;
3665
-
3666
- module.exports = ReactPureComponent;
3667
- },{"11":11,"21":21,"45":45,"49":49}],26:[function(_dereq_,module,exports){
3668
- /**
3669
- * Copyright 2013-present, Facebook, Inc.
3670
- * All rights reserved.
3671
- *
3672
- * This source code is licensed under the BSD-style license found in the
3673
- * LICENSE file in the root directory of this source tree. An additional grant
3674
- * of patent rights can be found in the PATENTS file in the same directory.
3675
- *
3676
- */
3677
-
3678
- 'use strict';
3679
-
3680
- var ReactStateSetters = {
3681
- /**
3682
- * Returns a function that calls the provided function, and uses the result
3683
- * of that to set the component's state.
3684
- *
3685
- * @param {ReactCompositeComponent} component
3686
- * @param {function} funcReturningState Returned callback uses this to
3687
- * determine how to update state.
3688
- * @return {function} callback that when invoked uses funcReturningState to
3689
- * determined the object literal to setState.
3690
- */
3691
- createStateSetter: function (component, funcReturningState) {
3692
- return function (a, b, c, d, e, f) {
3693
- var partialState = funcReturningState.call(component, a, b, c, d, e, f);
3694
- if (partialState) {
3695
- component.setState(partialState);
3696
- }
3697
- };
3698
- },
3699
-
3700
- /**
3701
- * Returns a single-argument callback that can be used to update a single
3702
- * key in the component's state.
3703
- *
3704
- * Note: this is memoized function, which makes it inexpensive to call.
3705
- *
3706
- * @param {ReactCompositeComponent} component
3707
- * @param {string} key The key in the state that you should update.
3708
- * @return {function} callback of 1 argument which calls setState() with
3709
- * the provided keyName and callback argument.
3710
- */
3711
- createStateKeySetter: function (component, key) {
3712
- // Memoize the setters.
3713
- var cache = component.__keySetters || (component.__keySetters = {});
3714
- return cache[key] || (cache[key] = createStateKeySetter(component, key));
3715
- }
3716
- };
3717
-
3718
- function createStateKeySetter(component, key) {
3719
- // Partial state is allocated outside of the function closure so it can be
3720
- // reused with every call, avoiding memory allocation when this function
3721
- // is called.
3722
- var partialState = {};
3723
- return function stateKeySetter(value) {
3724
- partialState[key] = value;
3725
- component.setState(partialState);
3726
- };
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
+ };
3727
3371
  }
3728
3372
 
3729
3373
  ReactStateSetters.Mixin = {
@@ -3884,7 +3528,7 @@ module.exports = ReactTransitionChildMapping;
3884
3528
 
3885
3529
  'use strict';
3886
3530
 
3887
- var ExecutionEnvironment = _dereq_(43);
3531
+ var ExecutionEnvironment = _dereq_(44);
3888
3532
 
3889
3533
  var getVendorPrefixedEventName = _dereq_(1);
3890
3534
 
@@ -3944,7 +3588,7 @@ var ReactTransitionEvents = {
3944
3588
  };
3945
3589
 
3946
3590
  module.exports = ReactTransitionEvents;
3947
- },{"1":1,"43":43}],29:[function(_dereq_,module,exports){
3591
+ },{"1":1,"44":44}],29:[function(_dereq_,module,exports){
3948
3592
  /**
3949
3593
  * Copyright 2013-present, Facebook, Inc.
3950
3594
  * All rights reserved.
@@ -3957,7 +3601,7 @@ module.exports = ReactTransitionEvents;
3957
3601
 
3958
3602
  'use strict';
3959
3603
 
3960
- var _assign = _dereq_(49);
3604
+ var _assign = _dereq_(50);
3961
3605
 
3962
3606
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3963
3607
 
@@ -3966,10 +3610,12 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
3966
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; }
3967
3611
 
3968
3612
  var React = _dereq_(5);
3969
- var ReactAddonsDOMDependencies = _dereq_(6);
3970
3613
  var ReactTransitionChildMapping = _dereq_(27);
3971
3614
 
3972
- var emptyFunction = _dereq_(44);
3615
+ var propTypesFactory = _dereq_(52);
3616
+ var PropTypes = propTypesFactory(React.isValidElement);
3617
+
3618
+ var emptyFunction = _dereq_(45);
3973
3619
 
3974
3620
  /**
3975
3621
  * A basis for animations. When children are declaratively added or removed,
@@ -4010,12 +3656,7 @@ var ReactTransitionGroup = function (_React$Component) {
4010
3656
 
4011
3657
  delete _this.currentlyTransitioningKeys[key];
4012
3658
 
4013
- var currentChildMapping;
4014
- if ("development" !== 'production') {
4015
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(_this)._debugID);
4016
- } else {
4017
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4018
- }
3659
+ var currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4019
3660
 
4020
3661
  if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {
4021
3662
  // This was removed before it had fully appeared. Remove it.
@@ -4039,12 +3680,7 @@ var ReactTransitionGroup = function (_React$Component) {
4039
3680
 
4040
3681
  delete _this.currentlyTransitioningKeys[key];
4041
3682
 
4042
- var currentChildMapping;
4043
- if ("development" !== 'production') {
4044
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(_this)._debugID);
4045
- } else {
4046
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4047
- }
3683
+ var currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4048
3684
 
4049
3685
  if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {
4050
3686
  // This was removed before it had fully entered. Remove it.
@@ -4071,12 +3707,7 @@ var ReactTransitionGroup = function (_React$Component) {
4071
3707
 
4072
3708
  delete _this.currentlyTransitioningKeys[key];
4073
3709
 
4074
- var currentChildMapping;
4075
- if ("development" !== 'production') {
4076
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(_this)._debugID);
4077
- } else {
4078
- currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4079
- }
3710
+ var currentChildMapping = ReactTransitionChildMapping.getChildMapping(_this.props.children);
4080
3711
 
4081
3712
  if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {
4082
3713
  // This entered again before it fully left. Add it again.
@@ -4107,12 +3738,7 @@ var ReactTransitionGroup = function (_React$Component) {
4107
3738
  };
4108
3739
 
4109
3740
  ReactTransitionGroup.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
4110
- var nextChildMapping;
4111
- if ("development" !== 'production') {
4112
- nextChildMapping = ReactTransitionChildMapping.getChildMapping(nextProps.children, ReactAddonsDOMDependencies.getReactInstanceMap().get(this)._debugID);
4113
- } else {
4114
- nextChildMapping = ReactTransitionChildMapping.getChildMapping(nextProps.children);
4115
- }
3741
+ var nextChildMapping = ReactTransitionChildMapping.getChildMapping(nextProps.children);
4116
3742
  var prevChildMapping = this.state.children;
4117
3743
 
4118
3744
  this.setState({
@@ -4184,8 +3810,8 @@ var ReactTransitionGroup = function (_React$Component) {
4184
3810
 
4185
3811
  ReactTransitionGroup.displayName = 'ReactTransitionGroup';
4186
3812
  ReactTransitionGroup.propTypes = {
4187
- component: React.PropTypes.any,
4188
- childFactory: React.PropTypes.func
3813
+ component: PropTypes.any,
3814
+ childFactory: PropTypes.func
4189
3815
  };
4190
3816
  ReactTransitionGroup.defaultProps = {
4191
3817
  component: 'span',
@@ -4194,7 +3820,7 @@ ReactTransitionGroup.defaultProps = {
4194
3820
 
4195
3821
 
4196
3822
  module.exports = ReactTransitionGroup;
4197
- },{"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){
4198
3824
  /**
4199
3825
  * Copyright 2013-present, Facebook, Inc.
4200
3826
  * All rights reserved.
@@ -4207,7 +3833,7 @@ module.exports = ReactTransitionGroup;
4207
3833
 
4208
3834
  'use strict';
4209
3835
 
4210
- module.exports = '15.4.1';
3836
+ module.exports = '15.5.0';
4211
3837
  },{}],31:[function(_dereq_,module,exports){
4212
3838
  /**
4213
3839
  * Copyright 2013-present, Facebook, Inc.
@@ -4229,8 +3855,8 @@ var ReactCSSTransitionGroup = _dereq_(7);
4229
3855
  var ReactFragment = _dereq_(19);
4230
3856
  var ReactTransitionGroup = _dereq_(29);
4231
3857
 
4232
- var shallowCompare = _dereq_(39);
4233
- var update = _dereq_(41);
3858
+ var shallowCompare = _dereq_(40);
3859
+ var update = _dereq_(42);
4234
3860
 
4235
3861
  React.addons = {
4236
3862
  CSSTransitionGroup: ReactCSSTransitionGroup,
@@ -4261,7 +3887,7 @@ if ("development" !== 'production') {
4261
3887
  }
4262
3888
 
4263
3889
  module.exports = React;
4264
- },{"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){
4265
3891
  /**
4266
3892
  * Copyright 2013-present, Facebook, Inc.
4267
3893
  * All rights reserved.
@@ -4274,26 +3900,28 @@ module.exports = React;
4274
3900
 
4275
3901
  'use strict';
4276
3902
 
4277
- var _assign = _dereq_(49);
3903
+ var _assign = _dereq_(50);
4278
3904
 
4279
3905
  var ReactWithAddons = _dereq_(31);
4280
3906
 
4281
3907
  // `version` will be added here by the React module.
4282
- 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.
4283
3910
  __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: {
4284
3911
  ReactCurrentOwner: _dereq_(14)
4285
3912
  }
4286
- }, ReactWithAddons);
3913
+ });
4287
3914
 
4288
3915
  if ("development" !== 'production') {
4289
3916
  _assign(ReactWithAddonsUMDEntry.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, {
4290
3917
  // ReactComponentTreeHook should not be included in production.
4291
- ReactComponentTreeHook: _dereq_(12)
3918
+ ReactComponentTreeHook: _dereq_(12),
3919
+ getNextDebugID: _dereq_(37)
4292
3920
  });
4293
3921
  }
4294
3922
 
4295
3923
  module.exports = ReactWithAddonsUMDEntry;
4296
- },{"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){
4297
3925
  /**
4298
3926
  * Copyright 2013-present, Facebook, Inc.
4299
3927
  * All rights reserved.
@@ -4333,13 +3961,13 @@ module.exports = canDefineProperty;
4333
3961
 
4334
3962
  'use strict';
4335
3963
 
4336
- var _prodInvariant = _dereq_(38);
3964
+ var _prodInvariant = _dereq_(39);
4337
3965
 
4338
3966
  var ReactPropTypeLocationNames = _dereq_(22);
4339
3967
  var ReactPropTypesSecret = _dereq_(24);
4340
3968
 
4341
- var invariant = _dereq_(46);
4342
- var warning = _dereq_(48);
3969
+ var invariant = _dereq_(47);
3970
+ var warning = _dereq_(49);
4343
3971
 
4344
3972
  var ReactComponentTreeHook;
4345
3973
 
@@ -4408,7 +4036,7 @@ function checkReactTypeSpec(typeSpecs, values, location, componentName, element,
4408
4036
 
4409
4037
  module.exports = checkReactTypeSpec;
4410
4038
  }).call(this,undefined)
4411
- },{"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){
4412
4040
  (function (process){
4413
4041
  /**
4414
4042
  * Copyright 2013-present, Facebook, Inc.
@@ -4424,8 +4052,8 @@ module.exports = checkReactTypeSpec;
4424
4052
  'use strict';
4425
4053
 
4426
4054
  var KeyEscapeUtils = _dereq_(2);
4427
- var traverseAllChildren = _dereq_(40);
4428
- var warning = _dereq_(48);
4055
+ var traverseAllChildren = _dereq_(41);
4056
+ var warning = _dereq_(49);
4429
4057
 
4430
4058
  var ReactComponentTreeHook;
4431
4059
 
@@ -4486,7 +4114,7 @@ function flattenChildren(children, selfDebugID) {
4486
4114
 
4487
4115
  module.exports = flattenChildren;
4488
4116
  }).call(this,undefined)
4489
- },{"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){
4490
4118
  /**
4491
4119
  * Copyright 2013-present, Facebook, Inc.
4492
4120
  * All rights reserved.
@@ -4536,14 +4164,35 @@ module.exports = getIteratorFn;
4536
4164
  * LICENSE file in the root directory of this source tree. An additional grant
4537
4165
  * of patent rights can be found in the PATENTS file in the same directory.
4538
4166
  *
4167
+ *
4539
4168
  */
4169
+
4540
4170
  'use strict';
4541
4171
 
4542
- 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);
4543
4192
 
4544
4193
  var ReactElement = _dereq_(16);
4545
4194
 
4546
- var invariant = _dereq_(46);
4195
+ var invariant = _dereq_(47);
4547
4196
 
4548
4197
  /**
4549
4198
  * Returns the first child in a collection of children and verifies that there
@@ -4565,7 +4214,7 @@ function onlyChild(children) {
4565
4214
  }
4566
4215
 
4567
4216
  module.exports = onlyChild;
4568
- },{"16":16,"38":38,"46":46}],38:[function(_dereq_,module,exports){
4217
+ },{"16":16,"39":39,"47":47}],39:[function(_dereq_,module,exports){
4569
4218
  /**
4570
4219
  * Copyright (c) 2013-present, Facebook, Inc.
4571
4220
  * All rights reserved.
@@ -4604,7 +4253,7 @@ function reactProdInvariant(code) {
4604
4253
  }
4605
4254
 
4606
4255
  module.exports = reactProdInvariant;
4607
- },{}],39:[function(_dereq_,module,exports){
4256
+ },{}],40:[function(_dereq_,module,exports){
4608
4257
  /**
4609
4258
  * Copyright 2013-present, Facebook, Inc.
4610
4259
  * All rights reserved.
@@ -4617,7 +4266,7 @@ module.exports = reactProdInvariant;
4617
4266
 
4618
4267
  'use strict';
4619
4268
 
4620
- var shallowEqual = _dereq_(47);
4269
+ var shallowEqual = _dereq_(48);
4621
4270
 
4622
4271
  /**
4623
4272
  * Does a shallow comparison for props and state.
@@ -4629,7 +4278,7 @@ function shallowCompare(instance, nextProps, nextState) {
4629
4278
  }
4630
4279
 
4631
4280
  module.exports = shallowCompare;
4632
- },{"47":47}],40:[function(_dereq_,module,exports){
4281
+ },{"48":48}],41:[function(_dereq_,module,exports){
4633
4282
  /**
4634
4283
  * Copyright 2013-present, Facebook, Inc.
4635
4284
  * All rights reserved.
@@ -4642,15 +4291,15 @@ module.exports = shallowCompare;
4642
4291
 
4643
4292
  'use strict';
4644
4293
 
4645
- var _prodInvariant = _dereq_(38);
4294
+ var _prodInvariant = _dereq_(39);
4646
4295
 
4647
4296
  var ReactCurrentOwner = _dereq_(14);
4648
4297
  var REACT_ELEMENT_TYPE = _dereq_(17);
4649
4298
 
4650
4299
  var getIteratorFn = _dereq_(36);
4651
- var invariant = _dereq_(46);
4300
+ var invariant = _dereq_(47);
4652
4301
  var KeyEscapeUtils = _dereq_(2);
4653
- var warning = _dereq_(48);
4302
+ var warning = _dereq_(49);
4654
4303
 
4655
4304
  var SEPARATOR = '.';
4656
4305
  var SUBSEPARATOR = ':';
@@ -4805,7 +4454,7 @@ function traverseAllChildren(children, callback, traverseContext) {
4805
4454
  }
4806
4455
 
4807
4456
  module.exports = traverseAllChildren;
4808
- },{"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){
4809
4458
  /**
4810
4459
  * Copyright 2013-present, Facebook, Inc.
4811
4460
  * All rights reserved.
@@ -4820,10 +4469,10 @@ module.exports = traverseAllChildren;
4820
4469
 
4821
4470
  'use strict';
4822
4471
 
4823
- var _prodInvariant = _dereq_(38),
4824
- _assign = _dereq_(49);
4472
+ var _prodInvariant = _dereq_(39),
4473
+ _assign = _dereq_(50);
4825
4474
 
4826
- var invariant = _dereq_(46);
4475
+ var invariant = _dereq_(47);
4827
4476
  var hasOwnProperty = {}.hasOwnProperty;
4828
4477
 
4829
4478
  function shallowCopy(x) {
@@ -4917,7 +4566,7 @@ function update(value, spec) {
4917
4566
  }
4918
4567
 
4919
4568
  module.exports = update;
4920
- },{"38":38,"46":46,"49":49}],42:[function(_dereq_,module,exports){
4569
+ },{"39":39,"47":47,"50":50}],43:[function(_dereq_,module,exports){
4921
4570
  'use strict';
4922
4571
 
4923
4572
  /**
@@ -4931,7 +4580,7 @@ module.exports = update;
4931
4580
  * @typechecks
4932
4581
  */
4933
4582
 
4934
- var invariant = _dereq_(46);
4583
+ var invariant = _dereq_(47);
4935
4584
 
4936
4585
  /**
4937
4586
  * The CSSCore module specifies the API (and implements most of the methods)
@@ -5039,7 +4688,7 @@ var CSSCore = {
5039
4688
  };
5040
4689
 
5041
4690
  module.exports = CSSCore;
5042
- },{"46":46}],43:[function(_dereq_,module,exports){
4691
+ },{"47":47}],44:[function(_dereq_,module,exports){
5043
4692
  /**
5044
4693
  * Copyright (c) 2013-present, Facebook, Inc.
5045
4694
  * All rights reserved.
@@ -5075,7 +4724,7 @@ var ExecutionEnvironment = {
5075
4724
  };
5076
4725
 
5077
4726
  module.exports = ExecutionEnvironment;
5078
- },{}],44:[function(_dereq_,module,exports){
4727
+ },{}],45:[function(_dereq_,module,exports){
5079
4728
  "use strict";
5080
4729
 
5081
4730
  /**
@@ -5114,7 +4763,7 @@ emptyFunction.thatReturnsArgument = function (arg) {
5114
4763
  };
5115
4764
 
5116
4765
  module.exports = emptyFunction;
5117
- },{}],45:[function(_dereq_,module,exports){
4766
+ },{}],46:[function(_dereq_,module,exports){
5118
4767
  /**
5119
4768
  * Copyright (c) 2013-present, Facebook, Inc.
5120
4769
  * All rights reserved.
@@ -5134,7 +4783,7 @@ if ("development" !== 'production') {
5134
4783
  }
5135
4784
 
5136
4785
  module.exports = emptyObject;
5137
- },{}],46:[function(_dereq_,module,exports){
4786
+ },{}],47:[function(_dereq_,module,exports){
5138
4787
  /**
5139
4788
  * Copyright (c) 2013-present, Facebook, Inc.
5140
4789
  * All rights reserved.
@@ -5158,12 +4807,18 @@ module.exports = emptyObject;
5158
4807
  * will remain to ensure logic does not differ in production.
5159
4808
  */
5160
4809
 
5161
- function invariant(condition, format, a, b, c, d, e, f) {
5162
- if ("development" !== 'production') {
4810
+ var validateFormat = function validateFormat(format) {};
4811
+
4812
+ if ("development" !== 'production') {
4813
+ validateFormat = function validateFormat(format) {
5163
4814
  if (format === undefined) {
5164
4815
  throw new Error('invariant requires an error message argument');
5165
4816
  }
5166
- }
4817
+ };
4818
+ }
4819
+
4820
+ function invariant(condition, format, a, b, c, d, e, f) {
4821
+ validateFormat(format);
5167
4822
 
5168
4823
  if (!condition) {
5169
4824
  var error;
@@ -5184,7 +4839,7 @@ function invariant(condition, format, a, b, c, d, e, f) {
5184
4839
  }
5185
4840
 
5186
4841
  module.exports = invariant;
5187
- },{}],47:[function(_dereq_,module,exports){
4842
+ },{}],48:[function(_dereq_,module,exports){
5188
4843
  /**
5189
4844
  * Copyright (c) 2013-present, Facebook, Inc.
5190
4845
  * All rights reserved.
@@ -5252,7 +4907,7 @@ function shallowEqual(objA, objB) {
5252
4907
  }
5253
4908
 
5254
4909
  module.exports = shallowEqual;
5255
- },{}],48:[function(_dereq_,module,exports){
4910
+ },{}],49:[function(_dereq_,module,exports){
5256
4911
  /**
5257
4912
  * Copyright 2014-2015, Facebook, Inc.
5258
4913
  * All rights reserved.
@@ -5265,7 +4920,7 @@ module.exports = shallowEqual;
5265
4920
 
5266
4921
  'use strict';
5267
4922
 
5268
- var emptyFunction = _dereq_(44);
4923
+ var emptyFunction = _dereq_(45);
5269
4924
 
5270
4925
  /**
5271
4926
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -5319,9 +4974,16 @@ if ("development" !== 'production') {
5319
4974
  }
5320
4975
 
5321
4976
  module.exports = warning;
5322
- },{"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
+
5323
4984
  'use strict';
5324
4985
  /* eslint-disable no-unused-vars */
4986
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
5325
4987
  var hasOwnProperty = Object.prototype.hasOwnProperty;
5326
4988
  var propIsEnumerable = Object.prototype.propertyIsEnumerable;
5327
4989
 
@@ -5342,7 +5004,7 @@ function shouldUseNative() {
5342
5004
  // Detect buggy property enumeration order in older V8 versions.
5343
5005
 
5344
5006
  // https://bugs.chromium.org/p/v8/issues/detail?id=4118
5345
- var test1 = new String('abc'); // eslint-disable-line
5007
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
5346
5008
  test1[5] = 'de';
5347
5009
  if (Object.getOwnPropertyNames(test1)[0] === '5') {
5348
5010
  return false;
@@ -5371,7 +5033,7 @@ function shouldUseNative() {
5371
5033
  }
5372
5034
 
5373
5035
  return true;
5374
- } catch (e) {
5036
+ } catch (err) {
5375
5037
  // We don't expect any of the above to throw, but better to be safe.
5376
5038
  return false;
5377
5039
  }
@@ -5391,8 +5053,8 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5391
5053
  }
5392
5054
  }
5393
5055
 
5394
- if (Object.getOwnPropertySymbols) {
5395
- symbols = Object.getOwnPropertySymbols(from);
5056
+ if (getOwnPropertySymbols) {
5057
+ symbols = getOwnPropertySymbols(from);
5396
5058
  for (var i = 0; i < symbols.length; i++) {
5397
5059
  if (propIsEnumerable.call(from, symbols[i])) {
5398
5060
  to[symbols[i]] = from[symbols[i]];
@@ -5404,5 +5066,570 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
5404
5066
  return to;
5405
5067
  };
5406
5068
 
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_(47);
5082
+ var warning = _dereq_(49);
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
+ },{"47":47,"49":49,"53":53}],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_(45);
5145
+ var invariant = _dereq_(47);
5146
+ var warning = _dereq_(49);
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
+ },{"45":45,"47":47,"49":49,"51":51,"53":53}],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
+
5407
5634
  },{}]},{},[32])(32)
5408
5635
  });