react-router 3.0.4 → 3.2.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.
@@ -52,7 +52,7 @@ return /******/ (function(modules) { // webpackBootstrap
52
52
  /************************************************************************/
53
53
  /******/ ([
54
54
  /* 0 */
55
- /***/ function(module, exports, __webpack_require__) {
55
+ /***/ (function(module, exports, __webpack_require__) {
56
56
 
57
57
  'use strict';
58
58
 
@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
96
96
 
97
97
  var _Router3 = _interopRequireDefault(_Router2);
98
98
 
99
- var _Link2 = __webpack_require__(24);
99
+ var _Link2 = __webpack_require__(25);
100
100
 
101
101
  var _Link3 = _interopRequireDefault(_Link2);
102
102
 
@@ -116,7 +116,7 @@ return /******/ (function(modules) { // webpackBootstrap
116
116
 
117
117
  var _IndexRoute3 = _interopRequireDefault(_IndexRoute2);
118
118
 
119
- var _Redirect2 = __webpack_require__(26);
119
+ var _Redirect2 = __webpack_require__(27);
120
120
 
121
121
  var _Redirect3 = _interopRequireDefault(_Redirect2);
122
122
 
@@ -132,7 +132,7 @@ return /******/ (function(modules) { // webpackBootstrap
132
132
 
133
133
  var _match3 = _interopRequireDefault(_match2);
134
134
 
135
- var _useRouterHistory2 = __webpack_require__(31);
135
+ var _useRouterHistory2 = __webpack_require__(32);
136
136
 
137
137
  var _useRouterHistory3 = _interopRequireDefault(_useRouterHistory2);
138
138
 
@@ -148,7 +148,7 @@ return /******/ (function(modules) { // webpackBootstrap
148
148
 
149
149
  var _hashHistory3 = _interopRequireDefault(_hashHistory2);
150
150
 
151
- var _createMemoryHistory2 = __webpack_require__(28);
151
+ var _createMemoryHistory2 = __webpack_require__(29);
152
152
 
153
153
  var _createMemoryHistory3 = _interopRequireDefault(_createMemoryHistory2);
154
154
 
@@ -180,9 +180,9 @@ return /******/ (function(modules) { // webpackBootstrap
180
180
  exports.hashHistory = _hashHistory3.default;
181
181
  exports.createMemoryHistory = _createMemoryHistory3.default;
182
182
 
183
- /***/ },
183
+ /***/ }),
184
184
  /* 1 */
185
- /***/ function(module, exports, __webpack_require__) {
185
+ /***/ (function(module, exports, __webpack_require__) {
186
186
 
187
187
  /**
188
188
  * Copyright 2013-2015, Facebook, Inc.
@@ -237,46 +237,49 @@ return /******/ (function(modules) { // webpackBootstrap
237
237
  module.exports = invariant;
238
238
 
239
239
 
240
- /***/ },
240
+ /***/ }),
241
241
  /* 2 */
242
- /***/ function(module, exports, __webpack_require__) {
242
+ /***/ (function(module, exports, __webpack_require__) {
243
243
 
244
244
  /**
245
- * Copyright 2013-present, Facebook, Inc.
246
- * All rights reserved.
245
+ * Copyright (c) 2013-present, Facebook, Inc.
247
246
  *
248
- * This source code is licensed under the BSD-style license found in the
249
- * LICENSE file in the root directory of this source tree. An additional grant
250
- * of patent rights can be found in the PATENTS file in the same directory.
247
+ * This source code is licensed under the MIT license found in the
248
+ * LICENSE file in the root directory of this source tree.
251
249
  */
252
250
 
253
- var factory = __webpack_require__(64);
254
-
255
- var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
256
- Symbol.for &&
257
- Symbol.for('react.element')) ||
258
- 0xeac7;
251
+ if (true) {
252
+ var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&
253
+ Symbol.for &&
254
+ Symbol.for('react.element')) ||
255
+ 0xeac7;
256
+
257
+ var isValidElement = function(object) {
258
+ return typeof object === 'object' &&
259
+ object !== null &&
260
+ object.$$typeof === REACT_ELEMENT_TYPE;
261
+ };
259
262
 
260
- function isValidElement(object) {
261
- return typeof object === 'object' &&
262
- object !== null &&
263
- object.$$typeof === REACT_ELEMENT_TYPE;
263
+ // By explicitly using `prop-types` you are opting into new development behavior.
264
+ // http://fb.me/prop-types-in-prod
265
+ var throwOnDirectAccess = true;
266
+ module.exports = __webpack_require__(64)(isValidElement, throwOnDirectAccess);
267
+ } else {
268
+ // By explicitly using `prop-types` you are opting into new production behavior.
269
+ // http://fb.me/prop-types-in-prod
270
+ module.exports = require('./factoryWithThrowingShims')();
264
271
  }
265
272
 
266
- module.exports = factory(isValidElement);
267
-
268
273
 
269
- /***/ },
274
+ /***/ }),
270
275
  /* 3 */
271
- /***/ function(module, exports, __webpack_require__) {
276
+ /***/ (function(module, exports, __webpack_require__) {
272
277
 
273
278
  /**
274
- * Copyright 2013-present, Facebook, Inc.
275
- * All rights reserved.
279
+ * Copyright (c) 2013-present, Facebook, Inc.
276
280
  *
277
- * This source code is licensed under the BSD-style license found in the
278
- * LICENSE file in the root directory of this source tree. An additional grant
279
- * of patent rights can be found in the PATENTS file in the same directory.
281
+ * This source code is licensed under the MIT license found in the
282
+ * LICENSE file in the root directory of this source tree.
280
283
  *
281
284
  */
282
285
 
@@ -285,6 +288,13 @@ return /******/ (function(modules) { // webpackBootstrap
285
288
  var React = __webpack_require__(7);
286
289
  var factory = __webpack_require__(54);
287
290
 
291
+ if (typeof React === 'undefined') {
292
+ throw Error(
293
+ 'create-react-class could not find the React object. If you are using script tags, ' +
294
+ 'make sure that React is being loaded before create-react-class.'
295
+ );
296
+ }
297
+
288
298
  // Hack to grab NoopUpdateQueue from isomorphic React
289
299
  var ReactNoopUpdateQueue = new React.Component().updater;
290
300
 
@@ -295,9 +305,9 @@ return /******/ (function(modules) { // webpackBootstrap
295
305
  );
296
306
 
297
307
 
298
- /***/ },
308
+ /***/ }),
299
309
  /* 4 */
300
- /***/ function(module, exports, __webpack_require__) {
310
+ /***/ (function(module, exports, __webpack_require__) {
301
311
 
302
312
  'use strict';
303
313
 
@@ -393,9 +403,9 @@ return /******/ (function(modules) { // webpackBootstrap
393
403
  return routes;
394
404
  }
395
405
 
396
- /***/ },
406
+ /***/ }),
397
407
  /* 5 */
398
- /***/ function(module, exports, __webpack_require__) {
408
+ /***/ (function(module, exports, __webpack_require__) {
399
409
 
400
410
  'use strict';
401
411
 
@@ -494,9 +504,9 @@ return /******/ (function(modules) { // webpackBootstrap
494
504
  return path;
495
505
  };
496
506
 
497
- /***/ },
507
+ /***/ }),
498
508
  /* 6 */
499
- /***/ function(module, exports, __webpack_require__) {
509
+ /***/ (function(module, exports, __webpack_require__) {
500
510
 
501
511
  /**
502
512
  * Copyright 2014-2015, Facebook, Inc.
@@ -560,15 +570,15 @@ return /******/ (function(modules) { // webpackBootstrap
560
570
  module.exports = warning;
561
571
 
562
572
 
563
- /***/ },
573
+ /***/ }),
564
574
  /* 7 */
565
- /***/ function(module, exports) {
575
+ /***/ (function(module, exports) {
566
576
 
567
577
  module.exports = __WEBPACK_EXTERNAL_MODULE_7__;
568
578
 
569
- /***/ },
579
+ /***/ }),
570
580
  /* 8 */
571
- /***/ function(module, exports, __webpack_require__) {
581
+ /***/ (function(module, exports, __webpack_require__) {
572
582
 
573
583
  'use strict';
574
584
 
@@ -815,9 +825,9 @@ return /******/ (function(modules) { // webpackBootstrap
815
825
  return pathname.replace(/\/+/g, '/');
816
826
  }
817
827
 
818
- /***/ },
828
+ /***/ }),
819
829
  /* 9 */
820
- /***/ function(module, exports, __webpack_require__) {
830
+ /***/ (function(module, exports, __webpack_require__) {
821
831
 
822
832
  'use strict';
823
833
 
@@ -856,9 +866,9 @@ return /******/ (function(modules) { // webpackBootstrap
856
866
  warned = {};
857
867
  }
858
868
 
859
- /***/ },
869
+ /***/ }),
860
870
  /* 10 */
861
- /***/ function(module, exports, __webpack_require__) {
871
+ /***/ (function(module, exports, __webpack_require__) {
862
872
 
863
873
  'use strict';
864
874
 
@@ -953,9 +963,9 @@ return /******/ (function(modules) { // webpackBootstrap
953
963
  a.pathname === b.pathname && a.search === b.search && a.hash === b.hash && statesAreEqual(a.state, b.state);
954
964
  };
955
965
 
956
- /***/ },
966
+ /***/ }),
957
967
  /* 11 */
958
- /***/ function(module, exports, __webpack_require__) {
968
+ /***/ (function(module, exports, __webpack_require__) {
959
969
 
960
970
  'use strict';
961
971
 
@@ -983,9 +993,9 @@ return /******/ (function(modules) { // webpackBootstrap
983
993
  var route = exports.route = (0, _propTypes.oneOfType)([_propTypes.object, _propTypes.element]);
984
994
  var routes = exports.routes = (0, _propTypes.oneOfType)([route, (0, _propTypes.arrayOf)(route)]);
985
995
 
986
- /***/ },
996
+ /***/ }),
987
997
  /* 12 */
988
- /***/ function(module, exports) {
998
+ /***/ (function(module, exports) {
989
999
 
990
1000
  'use strict';
991
1001
 
@@ -1010,9 +1020,9 @@ return /******/ (function(modules) { // webpackBootstrap
1010
1020
  */
1011
1021
  var POP = exports.POP = 'POP';
1012
1022
 
1013
- /***/ },
1023
+ /***/ }),
1014
1024
  /* 13 */
1015
- /***/ function(module, exports) {
1025
+ /***/ (function(module, exports) {
1016
1026
 
1017
1027
  'use strict';
1018
1028
 
@@ -1064,9 +1074,9 @@ return /******/ (function(modules) { // webpackBootstrap
1064
1074
  return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
1065
1075
  };
1066
1076
 
1067
- /***/ },
1077
+ /***/ }),
1068
1078
  /* 14 */
1069
- /***/ function(module, exports) {
1079
+ /***/ (function(module, exports) {
1070
1080
 
1071
1081
  "use strict";
1072
1082
 
@@ -1157,9 +1167,9 @@ return /******/ (function(modules) { // webpackBootstrap
1157
1167
  });
1158
1168
  }
1159
1169
 
1160
- /***/ },
1170
+ /***/ }),
1161
1171
  /* 15 */
1162
- /***/ function(module, exports, __webpack_require__) {
1172
+ /***/ (function(module, exports, __webpack_require__) {
1163
1173
 
1164
1174
  'use strict';
1165
1175
 
@@ -1287,9 +1297,9 @@ return /******/ (function(modules) { // webpackBootstrap
1287
1297
  }, _ref4;
1288
1298
  }
1289
1299
 
1290
- /***/ },
1300
+ /***/ }),
1291
1301
  /* 16 */
1292
- /***/ function(module, exports, __webpack_require__) {
1302
+ /***/ (function(module, exports, __webpack_require__) {
1293
1303
 
1294
1304
  'use strict';
1295
1305
 
@@ -1316,9 +1326,9 @@ return /******/ (function(modules) { // webpackBootstrap
1316
1326
  key: _propTypes.string
1317
1327
  });
1318
1328
 
1319
- /***/ },
1329
+ /***/ }),
1320
1330
  /* 17 */
1321
- /***/ function(module, exports, __webpack_require__) {
1331
+ /***/ (function(module, exports, __webpack_require__) {
1322
1332
 
1323
1333
  'use strict';
1324
1334
 
@@ -1357,6 +1367,7 @@ return /******/ (function(modules) { // webpackBootstrap
1357
1367
  * and sets the history object and the current location in context.
1358
1368
  */
1359
1369
  var RouterContext = (0, _createReactClass2.default)({
1370
+ displayName: 'RouterContext',
1360
1371
 
1361
1372
  mixins: [(0, _ContextUtils.ContextProvider)('router')],
1362
1373
 
@@ -1451,17 +1462,15 @@ return /******/ (function(modules) { // webpackBootstrap
1451
1462
 
1452
1463
  exports.default = RouterContext;
1453
1464
 
1454
- /***/ },
1465
+ /***/ }),
1455
1466
  /* 18 */
1456
- /***/ function(module, exports, __webpack_require__) {
1467
+ /***/ (function(module, exports, __webpack_require__) {
1457
1468
 
1458
1469
  /**
1459
1470
  * Copyright (c) 2013-present, Facebook, Inc.
1460
- * All rights reserved.
1461
1471
  *
1462
- * This source code is licensed under the BSD-style license found in the
1463
- * LICENSE file in the root directory of this source tree. An additional grant
1464
- * of patent rights can be found in the PATENTS file in the same directory.
1472
+ * This source code is licensed under the MIT license found in the
1473
+ * LICENSE file in the root directory of this source tree.
1465
1474
  *
1466
1475
  */
1467
1476
 
@@ -1511,23 +1520,21 @@ return /******/ (function(modules) { // webpackBootstrap
1511
1520
 
1512
1521
  module.exports = invariant;
1513
1522
 
1514
- /***/ },
1523
+ /***/ }),
1515
1524
  /* 19 */
1516
- /***/ function(module, exports, __webpack_require__) {
1525
+ /***/ (function(module, exports, __webpack_require__) {
1517
1526
 
1518
1527
  /**
1519
- * Copyright 2014-2015, Facebook, Inc.
1520
- * All rights reserved.
1528
+ * Copyright (c) 2014-present, Facebook, Inc.
1521
1529
  *
1522
- * This source code is licensed under the BSD-style license found in the
1523
- * LICENSE file in the root directory of this source tree. An additional grant
1524
- * of patent rights can be found in the PATENTS file in the same directory.
1530
+ * This source code is licensed under the MIT license found in the
1531
+ * LICENSE file in the root directory of this source tree.
1525
1532
  *
1526
1533
  */
1527
1534
 
1528
1535
  'use strict';
1529
1536
 
1530
- var emptyFunction = __webpack_require__(32);
1537
+ var emptyFunction = __webpack_require__(33);
1531
1538
 
1532
1539
  /**
1533
1540
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -1539,52 +1546,50 @@ return /******/ (function(modules) { // webpackBootstrap
1539
1546
  var warning = emptyFunction;
1540
1547
 
1541
1548
  if (true) {
1542
- (function () {
1543
- var printWarning = function printWarning(format) {
1544
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1545
- args[_key - 1] = arguments[_key];
1546
- }
1547
-
1548
- var argIndex = 0;
1549
- var message = 'Warning: ' + format.replace(/%s/g, function () {
1550
- return args[argIndex++];
1551
- });
1552
- if (typeof console !== 'undefined') {
1553
- console.error(message);
1554
- }
1555
- try {
1556
- // --- Welcome to debugging React ---
1557
- // This error was thrown as a convenience so that you can use this stack
1558
- // to find the callsite that caused this warning to fire.
1559
- throw new Error(message);
1560
- } catch (x) {}
1561
- };
1549
+ var printWarning = function printWarning(format) {
1550
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1551
+ args[_key - 1] = arguments[_key];
1552
+ }
1562
1553
 
1563
- warning = function warning(condition, format) {
1564
- if (format === undefined) {
1565
- throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
1566
- }
1554
+ var argIndex = 0;
1555
+ var message = 'Warning: ' + format.replace(/%s/g, function () {
1556
+ return args[argIndex++];
1557
+ });
1558
+ if (typeof console !== 'undefined') {
1559
+ console.error(message);
1560
+ }
1561
+ try {
1562
+ // --- Welcome to debugging React ---
1563
+ // This error was thrown as a convenience so that you can use this stack
1564
+ // to find the callsite that caused this warning to fire.
1565
+ throw new Error(message);
1566
+ } catch (x) {}
1567
+ };
1567
1568
 
1568
- if (format.indexOf('Failed Composite propType: ') === 0) {
1569
- return; // Ignore CompositeComponent proptype check.
1570
- }
1569
+ warning = function warning(condition, format) {
1570
+ if (format === undefined) {
1571
+ throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
1572
+ }
1571
1573
 
1572
- if (!condition) {
1573
- for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
1574
- args[_key2 - 2] = arguments[_key2];
1575
- }
1574
+ if (format.indexOf('Failed Composite propType: ') === 0) {
1575
+ return; // Ignore CompositeComponent proptype check.
1576
+ }
1576
1577
 
1577
- printWarning.apply(undefined, [format].concat(args));
1578
+ if (!condition) {
1579
+ for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
1580
+ args[_key2 - 2] = arguments[_key2];
1578
1581
  }
1579
- };
1580
- })();
1582
+
1583
+ printWarning.apply(undefined, [format].concat(args));
1584
+ }
1585
+ };
1581
1586
  }
1582
1587
 
1583
1588
  module.exports = warning;
1584
1589
 
1585
- /***/ },
1590
+ /***/ }),
1586
1591
  /* 20 */
1587
- /***/ function(module, exports, __webpack_require__) {
1592
+ /***/ (function(module, exports, __webpack_require__) {
1588
1593
 
1589
1594
  'use strict';
1590
1595
 
@@ -1595,7 +1600,7 @@ return /******/ (function(modules) { // webpackBootstrap
1595
1600
 
1596
1601
  var _DOMUtils = __webpack_require__(13);
1597
1602
 
1598
- var _DOMStateStorage = __webpack_require__(33);
1603
+ var _DOMStateStorage = __webpack_require__(34);
1599
1604
 
1600
1605
  var _PathUtils = __webpack_require__(5);
1601
1606
 
@@ -1686,18 +1691,18 @@ return /******/ (function(modules) { // webpackBootstrap
1686
1691
  if (n) window.history.go(n);
1687
1692
  };
1688
1693
 
1689
- /***/ },
1694
+ /***/ }),
1690
1695
  /* 21 */
1691
- /***/ function(module, exports) {
1696
+ /***/ (function(module, exports) {
1692
1697
 
1693
1698
  'use strict';
1694
1699
 
1695
1700
  exports.__esModule = true;
1696
1701
  var canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
1697
1702
 
1698
- /***/ },
1703
+ /***/ }),
1699
1704
  /* 22 */
1700
- /***/ function(module, exports, __webpack_require__) {
1705
+ /***/ (function(module, exports, __webpack_require__) {
1701
1706
 
1702
1707
  'use strict';
1703
1708
 
@@ -1876,9 +1881,9 @@ return /******/ (function(modules) { // webpackBootstrap
1876
1881
 
1877
1882
  exports.default = createHistory;
1878
1883
 
1879
- /***/ },
1884
+ /***/ }),
1880
1885
  /* 23 */
1881
- /***/ function(module, exports, __webpack_require__) {
1886
+ /***/ (function(module, exports, __webpack_require__) {
1882
1887
 
1883
1888
  'use strict';
1884
1889
 
@@ -1904,9 +1909,105 @@ return /******/ (function(modules) { // webpackBootstrap
1904
1909
 
1905
1910
  exports.default = runTransitionHook;
1906
1911
 
1907
- /***/ },
1912
+ /***/ }),
1908
1913
  /* 24 */
1909
- /***/ function(module, exports, __webpack_require__) {
1914
+ /***/ (function(module, exports) {
1915
+
1916
+ /*
1917
+ object-assign
1918
+ (c) Sindre Sorhus
1919
+ @license MIT
1920
+ */
1921
+
1922
+ 'use strict';
1923
+ /* eslint-disable no-unused-vars */
1924
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
1925
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
1926
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
1927
+
1928
+ function toObject(val) {
1929
+ if (val === null || val === undefined) {
1930
+ throw new TypeError('Object.assign cannot be called with null or undefined');
1931
+ }
1932
+
1933
+ return Object(val);
1934
+ }
1935
+
1936
+ function shouldUseNative() {
1937
+ try {
1938
+ if (!Object.assign) {
1939
+ return false;
1940
+ }
1941
+
1942
+ // Detect buggy property enumeration order in older V8 versions.
1943
+
1944
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
1945
+ var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
1946
+ test1[5] = 'de';
1947
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
1948
+ return false;
1949
+ }
1950
+
1951
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
1952
+ var test2 = {};
1953
+ for (var i = 0; i < 10; i++) {
1954
+ test2['_' + String.fromCharCode(i)] = i;
1955
+ }
1956
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
1957
+ return test2[n];
1958
+ });
1959
+ if (order2.join('') !== '0123456789') {
1960
+ return false;
1961
+ }
1962
+
1963
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
1964
+ var test3 = {};
1965
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
1966
+ test3[letter] = letter;
1967
+ });
1968
+ if (Object.keys(Object.assign({}, test3)).join('') !==
1969
+ 'abcdefghijklmnopqrst') {
1970
+ return false;
1971
+ }
1972
+
1973
+ return true;
1974
+ } catch (err) {
1975
+ // We don't expect any of the above to throw, but better to be safe.
1976
+ return false;
1977
+ }
1978
+ }
1979
+
1980
+ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
1981
+ var from;
1982
+ var to = toObject(target);
1983
+ var symbols;
1984
+
1985
+ for (var s = 1; s < arguments.length; s++) {
1986
+ from = Object(arguments[s]);
1987
+
1988
+ for (var key in from) {
1989
+ if (hasOwnProperty.call(from, key)) {
1990
+ to[key] = from[key];
1991
+ }
1992
+ }
1993
+
1994
+ if (getOwnPropertySymbols) {
1995
+ symbols = getOwnPropertySymbols(from);
1996
+ for (var i = 0; i < symbols.length; i++) {
1997
+ if (propIsEnumerable.call(from, symbols[i])) {
1998
+ to[symbols[i]] = from[symbols[i]];
1999
+ }
2000
+ }
2001
+ }
2002
+ }
2003
+
2004
+ return to;
2005
+ };
2006
+
2007
+
2008
+ /***/ }),
2009
+ /* 25 */
2010
+ /***/ (function(module, exports, __webpack_require__) {
1910
2011
 
1911
2012
  'use strict';
1912
2013
 
@@ -1969,6 +2070,7 @@ return /******/ (function(modules) { // webpackBootstrap
1969
2070
  * <Link to={`/posts/${post.id}`} />
1970
2071
  */
1971
2072
  var Link = (0, _createReactClass2.default)({
2073
+ displayName: 'Link',
1972
2074
 
1973
2075
  mixins: [(0, _ContextUtils.ContextSubscriber)('router')],
1974
2076
 
@@ -2054,9 +2156,9 @@ return /******/ (function(modules) { // webpackBootstrap
2054
2156
 
2055
2157
  exports.default = Link;
2056
2158
 
2057
- /***/ },
2058
- /* 25 */
2059
- /***/ function(module, exports) {
2159
+ /***/ }),
2160
+ /* 26 */
2161
+ /***/ (function(module, exports) {
2060
2162
 
2061
2163
  'use strict';
2062
2164
 
@@ -2066,9 +2168,9 @@ return /******/ (function(modules) { // webpackBootstrap
2066
2168
  return obj && typeof obj.then === 'function';
2067
2169
  }
2068
2170
 
2069
- /***/ },
2070
- /* 26 */
2071
- /***/ function(module, exports, __webpack_require__) {
2171
+ /***/ }),
2172
+ /* 27 */
2173
+ /***/ (function(module, exports, __webpack_require__) {
2072
2174
 
2073
2175
  'use strict';
2074
2176
 
@@ -2101,6 +2203,7 @@ return /******/ (function(modules) { // webpackBootstrap
2101
2203
  */
2102
2204
  /* eslint-disable react/require-render-return */
2103
2205
  var Redirect = (0, _createReactClass2.default)({
2206
+ displayName: 'Redirect',
2104
2207
 
2105
2208
  statics: {
2106
2209
  createRouteFromReactElement: function createRouteFromReactElement(element) {
@@ -2168,9 +2271,9 @@ return /******/ (function(modules) { // webpackBootstrap
2168
2271
 
2169
2272
  exports.default = Redirect;
2170
2273
 
2171
- /***/ },
2172
- /* 27 */
2173
- /***/ function(module, exports) {
2274
+ /***/ }),
2275
+ /* 28 */
2276
+ /***/ (function(module, exports) {
2174
2277
 
2175
2278
  "use strict";
2176
2279
 
@@ -2201,20 +2304,20 @@ return /******/ (function(modules) { // webpackBootstrap
2201
2304
  return router;
2202
2305
  }
2203
2306
 
2204
- /***/ },
2205
- /* 28 */
2206
- /***/ function(module, exports, __webpack_require__) {
2307
+ /***/ }),
2308
+ /* 29 */
2309
+ /***/ (function(module, exports, __webpack_require__) {
2207
2310
 
2208
2311
  'use strict';
2209
2312
 
2210
2313
  exports.__esModule = true;
2211
2314
  exports.default = createMemoryHistory;
2212
2315
 
2213
- var _useQueries = __webpack_require__(35);
2316
+ var _useQueries = __webpack_require__(36);
2214
2317
 
2215
2318
  var _useQueries2 = _interopRequireDefault(_useQueries);
2216
2319
 
2217
- var _useBasename = __webpack_require__(34);
2320
+ var _useBasename = __webpack_require__(35);
2218
2321
 
2219
2322
  var _useBasename2 = _interopRequireDefault(_useBasename);
2220
2323
 
@@ -2236,16 +2339,16 @@ return /******/ (function(modules) { // webpackBootstrap
2236
2339
  return history;
2237
2340
  }
2238
2341
 
2239
- /***/ },
2240
- /* 29 */
2241
- /***/ function(module, exports, __webpack_require__) {
2342
+ /***/ }),
2343
+ /* 30 */
2344
+ /***/ (function(module, exports, __webpack_require__) {
2242
2345
 
2243
2346
  'use strict';
2244
2347
 
2245
2348
  exports.__esModule = true;
2246
2349
  exports.default = createRouterHistory;
2247
2350
 
2248
- var _useRouterHistory = __webpack_require__(31);
2351
+ var _useRouterHistory = __webpack_require__(32);
2249
2352
 
2250
2353
  var _useRouterHistory2 = _interopRequireDefault(_useRouterHistory);
2251
2354
 
@@ -2259,9 +2362,9 @@ return /******/ (function(modules) { // webpackBootstrap
2259
2362
  return history;
2260
2363
  }
2261
2364
 
2262
- /***/ },
2263
- /* 30 */
2264
- /***/ function(module, exports, __webpack_require__) {
2365
+ /***/ }),
2366
+ /* 31 */
2367
+ /***/ (function(module, exports, __webpack_require__) {
2265
2368
 
2266
2369
  'use strict';
2267
2370
 
@@ -2281,6 +2384,8 @@ return /******/ (function(modules) { // webpackBootstrap
2281
2384
 
2282
2385
  var _TransitionUtils = __webpack_require__(43);
2283
2386
 
2387
+ var _TransitionUtils2 = _interopRequireDefault(_TransitionUtils);
2388
+
2284
2389
  var _isActive2 = __webpack_require__(50);
2285
2390
 
2286
2391
  var _isActive3 = _interopRequireDefault(_isActive2);
@@ -2304,8 +2409,15 @@ return /******/ (function(modules) { // webpackBootstrap
2304
2409
  function createTransitionManager(history, routes) {
2305
2410
  var state = {};
2306
2411
 
2412
+ var _getTransitionUtils = (0, _TransitionUtils2.default)(),
2413
+ runEnterHooks = _getTransitionUtils.runEnterHooks,
2414
+ runChangeHooks = _getTransitionUtils.runChangeHooks,
2415
+ runLeaveHooks = _getTransitionUtils.runLeaveHooks;
2416
+
2307
2417
  // Signature should be (location, indexOnly), but needs to support (path,
2308
2418
  // query, indexOnly)
2419
+
2420
+
2309
2421
  function isActive(location, indexOnly) {
2310
2422
  location = history.createLocation(location);
2311
2423
 
@@ -2337,7 +2449,7 @@ return /******/ (function(modules) { // webpackBootstrap
2337
2449
  changeRoutes = _computeChangedRoutes.changeRoutes,
2338
2450
  enterRoutes = _computeChangedRoutes.enterRoutes;
2339
2451
 
2340
- (0, _TransitionUtils.runLeaveHooks)(leaveRoutes, state);
2452
+ runLeaveHooks(leaveRoutes, state);
2341
2453
 
2342
2454
  // Tear down confirmation hooks for left routes
2343
2455
  leaveRoutes.filter(function (route) {
@@ -2345,10 +2457,10 @@ return /******/ (function(modules) { // webpackBootstrap
2345
2457
  }).forEach(removeListenBeforeHooksForRoute);
2346
2458
 
2347
2459
  // change and enter hooks are run in series
2348
- (0, _TransitionUtils.runChangeHooks)(changeRoutes, state, nextState, function (error, redirectInfo) {
2460
+ runChangeHooks(changeRoutes, state, nextState, function (error, redirectInfo) {
2349
2461
  if (error || redirectInfo) return handleErrorOrRedirect(error, redirectInfo);
2350
2462
 
2351
- (0, _TransitionUtils.runEnterHooks)(enterRoutes, nextState, finishEnterHooks);
2463
+ runEnterHooks(enterRoutes, nextState, finishEnterHooks);
2352
2464
  });
2353
2465
 
2354
2466
  function finishEnterHooks(error, redirectInfo) {
@@ -2538,20 +2650,20 @@ return /******/ (function(modules) { // webpackBootstrap
2538
2650
  };
2539
2651
  }
2540
2652
 
2541
- /***/ },
2542
- /* 31 */
2543
- /***/ function(module, exports, __webpack_require__) {
2653
+ /***/ }),
2654
+ /* 32 */
2655
+ /***/ (function(module, exports, __webpack_require__) {
2544
2656
 
2545
2657
  'use strict';
2546
2658
 
2547
2659
  exports.__esModule = true;
2548
2660
  exports.default = useRouterHistory;
2549
2661
 
2550
- var _useQueries = __webpack_require__(35);
2662
+ var _useQueries = __webpack_require__(36);
2551
2663
 
2552
2664
  var _useQueries2 = _interopRequireDefault(_useQueries);
2553
2665
 
2554
- var _useBasename = __webpack_require__(34);
2666
+ var _useBasename = __webpack_require__(35);
2555
2667
 
2556
2668
  var _useBasename2 = _interopRequireDefault(_useBasename);
2557
2669
 
@@ -2564,19 +2676,17 @@ return /******/ (function(modules) { // webpackBootstrap
2564
2676
  };
2565
2677
  }
2566
2678
 
2567
- /***/ },
2568
- /* 32 */
2569
- /***/ function(module, exports) {
2679
+ /***/ }),
2680
+ /* 33 */
2681
+ /***/ (function(module, exports) {
2570
2682
 
2571
2683
  "use strict";
2572
2684
 
2573
2685
  /**
2574
2686
  * Copyright (c) 2013-present, Facebook, Inc.
2575
- * All rights reserved.
2576
2687
  *
2577
- * This source code is licensed under the BSD-style license found in the
2578
- * LICENSE file in the root directory of this source tree. An additional grant
2579
- * of patent rights can be found in the PATENTS file in the same directory.
2688
+ * This source code is licensed under the MIT license found in the
2689
+ * LICENSE file in the root directory of this source tree.
2580
2690
  *
2581
2691
  *
2582
2692
  */
@@ -2607,9 +2717,9 @@ return /******/ (function(modules) { // webpackBootstrap
2607
2717
 
2608
2718
  module.exports = emptyFunction;
2609
2719
 
2610
- /***/ },
2611
- /* 33 */
2612
- /***/ function(module, exports, __webpack_require__) {
2720
+ /***/ }),
2721
+ /* 34 */
2722
+ /***/ (function(module, exports, __webpack_require__) {
2613
2723
 
2614
2724
  'use strict';
2615
2725
 
@@ -2697,9 +2807,9 @@ return /******/ (function(modules) { // webpackBootstrap
2697
2807
  return undefined;
2698
2808
  };
2699
2809
 
2700
- /***/ },
2701
- /* 34 */
2702
- /***/ function(module, exports, __webpack_require__) {
2810
+ /***/ }),
2811
+ /* 35 */
2812
+ /***/ (function(module, exports, __webpack_require__) {
2703
2813
 
2704
2814
  'use strict';
2705
2815
 
@@ -2811,9 +2921,9 @@ return /******/ (function(modules) { // webpackBootstrap
2811
2921
 
2812
2922
  exports.default = useBasename;
2813
2923
 
2814
- /***/ },
2815
- /* 35 */
2816
- /***/ function(module, exports, __webpack_require__) {
2924
+ /***/ }),
2925
+ /* 36 */
2926
+ /***/ (function(module, exports, __webpack_require__) {
2817
2927
 
2818
2928
  'use strict';
2819
2929
 
@@ -2937,113 +3047,15 @@ return /******/ (function(modules) { // webpackBootstrap
2937
3047
 
2938
3048
  exports.default = useQueries;
2939
3049
 
2940
- /***/ },
2941
- /* 36 */
2942
- /***/ function(module, exports) {
2943
-
2944
- /*
2945
- object-assign
2946
- (c) Sindre Sorhus
2947
- @license MIT
2948
- */
2949
-
2950
- 'use strict';
2951
- /* eslint-disable no-unused-vars */
2952
- var getOwnPropertySymbols = Object.getOwnPropertySymbols;
2953
- var hasOwnProperty = Object.prototype.hasOwnProperty;
2954
- var propIsEnumerable = Object.prototype.propertyIsEnumerable;
2955
-
2956
- function toObject(val) {
2957
- if (val === null || val === undefined) {
2958
- throw new TypeError('Object.assign cannot be called with null or undefined');
2959
- }
2960
-
2961
- return Object(val);
2962
- }
2963
-
2964
- function shouldUseNative() {
2965
- try {
2966
- if (!Object.assign) {
2967
- return false;
2968
- }
2969
-
2970
- // Detect buggy property enumeration order in older V8 versions.
2971
-
2972
- // https://bugs.chromium.org/p/v8/issues/detail?id=4118
2973
- var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
2974
- test1[5] = 'de';
2975
- if (Object.getOwnPropertyNames(test1)[0] === '5') {
2976
- return false;
2977
- }
2978
-
2979
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
2980
- var test2 = {};
2981
- for (var i = 0; i < 10; i++) {
2982
- test2['_' + String.fromCharCode(i)] = i;
2983
- }
2984
- var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
2985
- return test2[n];
2986
- });
2987
- if (order2.join('') !== '0123456789') {
2988
- return false;
2989
- }
2990
-
2991
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
2992
- var test3 = {};
2993
- 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
2994
- test3[letter] = letter;
2995
- });
2996
- if (Object.keys(Object.assign({}, test3)).join('') !==
2997
- 'abcdefghijklmnopqrst') {
2998
- return false;
2999
- }
3000
-
3001
- return true;
3002
- } catch (err) {
3003
- // We don't expect any of the above to throw, but better to be safe.
3004
- return false;
3005
- }
3006
- }
3007
-
3008
- module.exports = shouldUseNative() ? Object.assign : function (target, source) {
3009
- var from;
3010
- var to = toObject(target);
3011
- var symbols;
3012
-
3013
- for (var s = 1; s < arguments.length; s++) {
3014
- from = Object(arguments[s]);
3015
-
3016
- for (var key in from) {
3017
- if (hasOwnProperty.call(from, key)) {
3018
- to[key] = from[key];
3019
- }
3020
- }
3021
-
3022
- if (getOwnPropertySymbols) {
3023
- symbols = getOwnPropertySymbols(from);
3024
- for (var i = 0; i < symbols.length; i++) {
3025
- if (propIsEnumerable.call(from, symbols[i])) {
3026
- to[symbols[i]] = from[symbols[i]];
3027
- }
3028
- }
3029
- }
3030
- }
3031
-
3032
- return to;
3033
- };
3034
-
3035
-
3036
- /***/ },
3050
+ /***/ }),
3037
3051
  /* 37 */
3038
- /***/ function(module, exports) {
3052
+ /***/ (function(module, exports) {
3039
3053
 
3040
3054
  /**
3041
- * Copyright 2013-present, Facebook, Inc.
3042
- * All rights reserved.
3055
+ * Copyright (c) 2013-present, Facebook, Inc.
3043
3056
  *
3044
- * This source code is licensed under the BSD-style license found in the
3045
- * LICENSE file in the root directory of this source tree. An additional grant
3046
- * of patent rights can be found in the PATENTS file in the same directory.
3057
+ * This source code is licensed under the MIT license found in the
3058
+ * LICENSE file in the root directory of this source tree.
3047
3059
  */
3048
3060
 
3049
3061
  'use strict';
@@ -3053,9 +3065,9 @@ return /******/ (function(modules) { // webpackBootstrap
3053
3065
  module.exports = ReactPropTypesSecret;
3054
3066
 
3055
3067
 
3056
- /***/ },
3068
+ /***/ }),
3057
3069
  /* 38 */
3058
- /***/ function(module, exports, __webpack_require__) {
3070
+ /***/ (function(module, exports, __webpack_require__) {
3059
3071
 
3060
3072
  'use strict';
3061
3073
 
@@ -3071,7 +3083,7 @@ return /******/ (function(modules) { // webpackBootstrap
3071
3083
 
3072
3084
  var _createReactClass2 = _interopRequireDefault(_createReactClass);
3073
3085
 
3074
- var _Link = __webpack_require__(24);
3086
+ var _Link = __webpack_require__(25);
3075
3087
 
3076
3088
  var _Link2 = _interopRequireDefault(_Link);
3077
3089
 
@@ -3081,6 +3093,8 @@ return /******/ (function(modules) { // webpackBootstrap
3081
3093
  * An <IndexLink> is used to link to an <IndexRoute>.
3082
3094
  */
3083
3095
  var IndexLink = (0, _createReactClass2.default)({
3096
+ displayName: 'IndexLink',
3097
+
3084
3098
  render: function render() {
3085
3099
  return _react2.default.createElement(_Link2.default, _extends({}, this.props, { onlyActiveOnIndex: true }));
3086
3100
  }
@@ -3088,9 +3102,9 @@ return /******/ (function(modules) { // webpackBootstrap
3088
3102
 
3089
3103
  exports.default = IndexLink;
3090
3104
 
3091
- /***/ },
3105
+ /***/ }),
3092
3106
  /* 39 */
3093
- /***/ function(module, exports, __webpack_require__) {
3107
+ /***/ (function(module, exports, __webpack_require__) {
3094
3108
 
3095
3109
  'use strict';
3096
3110
 
@@ -3110,7 +3124,7 @@ return /******/ (function(modules) { // webpackBootstrap
3110
3124
 
3111
3125
  var _invariant2 = _interopRequireDefault(_invariant);
3112
3126
 
3113
- var _Redirect = __webpack_require__(26);
3127
+ var _Redirect = __webpack_require__(27);
3114
3128
 
3115
3129
  var _Redirect2 = _interopRequireDefault(_Redirect);
3116
3130
 
@@ -3123,6 +3137,7 @@ return /******/ (function(modules) { // webpackBootstrap
3123
3137
  */
3124
3138
  /* eslint-disable react/require-render-return */
3125
3139
  var IndexRedirect = (0, _createReactClass2.default)({
3140
+ displayName: 'IndexRedirect',
3126
3141
 
3127
3142
  statics: {
3128
3143
  createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {
@@ -3151,9 +3166,9 @@ return /******/ (function(modules) { // webpackBootstrap
3151
3166
 
3152
3167
  exports.default = IndexRedirect;
3153
3168
 
3154
- /***/ },
3169
+ /***/ }),
3155
3170
  /* 40 */
3156
- /***/ function(module, exports, __webpack_require__) {
3171
+ /***/ (function(module, exports, __webpack_require__) {
3157
3172
 
3158
3173
  'use strict';
3159
3174
 
@@ -3185,6 +3200,7 @@ return /******/ (function(modules) { // webpackBootstrap
3185
3200
  */
3186
3201
  /* eslint-disable react/require-render-return */
3187
3202
  var IndexRoute = (0, _createReactClass2.default)({
3203
+ displayName: 'IndexRoute',
3188
3204
 
3189
3205
  statics: {
3190
3206
  createRouteFromReactElement: function createRouteFromReactElement(element, parentRoute) {
@@ -3213,9 +3229,9 @@ return /******/ (function(modules) { // webpackBootstrap
3213
3229
 
3214
3230
  exports.default = IndexRoute;
3215
3231
 
3216
- /***/ },
3232
+ /***/ }),
3217
3233
  /* 41 */
3218
- /***/ function(module, exports, __webpack_require__) {
3234
+ /***/ (function(module, exports, __webpack_require__) {
3219
3235
 
3220
3236
  'use strict';
3221
3237
 
@@ -3249,6 +3265,7 @@ return /******/ (function(modules) { // webpackBootstrap
3249
3265
  */
3250
3266
  /* eslint-disable react/require-render-return */
3251
3267
  var Route = (0, _createReactClass2.default)({
3268
+ displayName: 'Route',
3252
3269
 
3253
3270
  statics: {
3254
3271
  createRouteFromReactElement: _RouteUtils.createRouteFromReactElement
@@ -3270,9 +3287,9 @@ return /******/ (function(modules) { // webpackBootstrap
3270
3287
 
3271
3288
  exports.default = Route;
3272
3289
 
3273
- /***/ },
3290
+ /***/ }),
3274
3291
  /* 42 */
3275
- /***/ function(module, exports, __webpack_require__) {
3292
+ /***/ (function(module, exports, __webpack_require__) {
3276
3293
 
3277
3294
  'use strict';
3278
3295
 
@@ -3294,7 +3311,7 @@ return /******/ (function(modules) { // webpackBootstrap
3294
3311
 
3295
3312
  var _propTypes = __webpack_require__(2);
3296
3313
 
3297
- var _createTransitionManager2 = __webpack_require__(30);
3314
+ var _createTransitionManager2 = __webpack_require__(31);
3298
3315
 
3299
3316
  var _createTransitionManager3 = _interopRequireDefault(_createTransitionManager2);
3300
3317
 
@@ -3306,7 +3323,7 @@ return /******/ (function(modules) { // webpackBootstrap
3306
3323
 
3307
3324
  var _RouteUtils = __webpack_require__(4);
3308
3325
 
3309
- var _RouterUtils = __webpack_require__(27);
3326
+ var _RouterUtils = __webpack_require__(28);
3310
3327
 
3311
3328
  var _routerWarning = __webpack_require__(9);
3312
3329
 
@@ -3327,14 +3344,14 @@ return /******/ (function(modules) { // webpackBootstrap
3327
3344
 
3328
3345
  // PRIVATE: For client-side rehydration of server match.
3329
3346
  matchContext: _propTypes.object
3330
- };
3331
3347
 
3332
- /**
3333
- * A <Router> is a high-level API for automatically setting up
3334
- * a router that renders a <RouterContext> with all the props
3335
- * it needs each time the URL changes.
3336
- */
3337
- var Router = (0, _createReactClass2.default)({
3348
+ /**
3349
+ * A <Router> is a high-level API for automatically setting up
3350
+ * a router that renders a <RouterContext> with all the props
3351
+ * it needs each time the URL changes.
3352
+ */
3353
+ };var Router = (0, _createReactClass2.default)({
3354
+ displayName: 'Router',
3338
3355
 
3339
3356
  propTypes: propTypes,
3340
3357
 
@@ -3450,16 +3467,14 @@ return /******/ (function(modules) { // webpackBootstrap
3450
3467
 
3451
3468
  exports.default = Router;
3452
3469
 
3453
- /***/ },
3470
+ /***/ }),
3454
3471
  /* 43 */
3455
- /***/ function(module, exports, __webpack_require__) {
3472
+ /***/ (function(module, exports, __webpack_require__) {
3456
3473
 
3457
3474
  'use strict';
3458
3475
 
3459
3476
  exports.__esModule = true;
3460
- exports.runEnterHooks = runEnterHooks;
3461
- exports.runChangeHooks = runChangeHooks;
3462
- exports.runLeaveHooks = runLeaveHooks;
3477
+ exports.default = getTransitionUtils;
3463
3478
 
3464
3479
  var _AsyncUtils = __webpack_require__(14);
3465
3480
 
@@ -3491,128 +3506,136 @@ return /******/ (function(modules) { // webpackBootstrap
3491
3506
  };
3492
3507
  };
3493
3508
 
3494
- var enterHooks = new PendingHooks();
3495
- var changeHooks = new PendingHooks();
3496
-
3497
- function createTransitionHook(hook, route, asyncArity, pendingHooks) {
3498
- var isSync = hook.length < asyncArity;
3499
-
3500
- var transitionHook = function transitionHook() {
3501
- for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
3502
- args[_key] = arguments[_key];
3503
- }
3509
+ function getTransitionUtils() {
3510
+ var enterHooks = new PendingHooks();
3511
+ var changeHooks = new PendingHooks();
3504
3512
 
3505
- hook.apply(route, args);
3513
+ function createTransitionHook(hook, route, asyncArity, pendingHooks) {
3514
+ var isSync = hook.length < asyncArity;
3506
3515
 
3507
- if (isSync) {
3508
- var callback = args[args.length - 1];
3509
- // Assume hook executes synchronously and
3510
- // automatically call the callback.
3511
- callback();
3512
- }
3513
- };
3516
+ var transitionHook = function transitionHook() {
3517
+ for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
3518
+ args[_key] = arguments[_key];
3519
+ }
3514
3520
 
3515
- pendingHooks.add(transitionHook);
3521
+ hook.apply(route, args);
3516
3522
 
3517
- return transitionHook;
3518
- }
3523
+ if (isSync) {
3524
+ var callback = args[args.length - 1];
3525
+ // Assume hook executes synchronously and
3526
+ // automatically call the callback.
3527
+ callback();
3528
+ }
3529
+ };
3519
3530
 
3520
- function getEnterHooks(routes) {
3521
- return routes.reduce(function (hooks, route) {
3522
- if (route.onEnter) hooks.push(createTransitionHook(route.onEnter, route, 3, enterHooks));
3523
- return hooks;
3524
- }, []);
3525
- }
3531
+ pendingHooks.add(transitionHook);
3526
3532
 
3527
- function getChangeHooks(routes) {
3528
- return routes.reduce(function (hooks, route) {
3529
- if (route.onChange) hooks.push(createTransitionHook(route.onChange, route, 4, changeHooks));
3530
- return hooks;
3531
- }, []);
3532
- }
3533
+ return transitionHook;
3534
+ }
3533
3535
 
3534
- function runTransitionHooks(length, iter, callback) {
3535
- if (!length) {
3536
- callback();
3537
- return;
3536
+ function getEnterHooks(routes) {
3537
+ return routes.reduce(function (hooks, route) {
3538
+ if (route.onEnter) hooks.push(createTransitionHook(route.onEnter, route, 3, enterHooks));
3539
+ return hooks;
3540
+ }, []);
3538
3541
  }
3539
3542
 
3540
- var redirectInfo = void 0;
3541
- function replace(location) {
3542
- redirectInfo = location;
3543
+ function getChangeHooks(routes) {
3544
+ return routes.reduce(function (hooks, route) {
3545
+ if (route.onChange) hooks.push(createTransitionHook(route.onChange, route, 4, changeHooks));
3546
+ return hooks;
3547
+ }, []);
3543
3548
  }
3544
3549
 
3545
- (0, _AsyncUtils.loopAsync)(length, function (index, next, done) {
3546
- iter(index, replace, function (error) {
3547
- if (error || redirectInfo) {
3548
- done(error, redirectInfo); // No need to continue.
3549
- } else {
3550
- next();
3551
- }
3552
- });
3553
- }, callback);
3554
- }
3550
+ function runTransitionHooks(length, iter, callback) {
3551
+ if (!length) {
3552
+ callback();
3553
+ return;
3554
+ }
3555
3555
 
3556
- /**
3557
- * Runs all onEnter hooks in the given array of routes in order
3558
- * with onEnter(nextState, replace, callback) and calls
3559
- * callback(error, redirectInfo) when finished. The first hook
3560
- * to use replace short-circuits the loop.
3561
- *
3562
- * If a hook needs to run asynchronously, it may use the callback
3563
- * function. However, doing so will cause the transition to pause,
3564
- * which could lead to a non-responsive UI if the hook is slow.
3565
- */
3566
- function runEnterHooks(routes, nextState, callback) {
3567
- enterHooks.clear();
3568
- var hooks = getEnterHooks(routes);
3569
- return runTransitionHooks(hooks.length, function (index, replace, next) {
3570
- var wrappedNext = function wrappedNext() {
3571
- if (enterHooks.has(hooks[index])) {
3572
- next.apply(undefined, arguments);
3573
- enterHooks.remove(hooks[index]);
3574
- }
3575
- };
3576
- hooks[index](nextState, replace, wrappedNext);
3577
- }, callback);
3578
- }
3556
+ var redirectInfo = void 0;
3557
+ function replace(location) {
3558
+ redirectInfo = location;
3559
+ }
3579
3560
 
3580
- /**
3581
- * Runs all onChange hooks in the given array of routes in order
3582
- * with onChange(prevState, nextState, replace, callback) and calls
3583
- * callback(error, redirectInfo) when finished. The first hook
3584
- * to use replace short-circuits the loop.
3585
- *
3586
- * If a hook needs to run asynchronously, it may use the callback
3587
- * function. However, doing so will cause the transition to pause,
3588
- * which could lead to a non-responsive UI if the hook is slow.
3589
- */
3590
- function runChangeHooks(routes, state, nextState, callback) {
3591
- changeHooks.clear();
3592
- var hooks = getChangeHooks(routes);
3593
- return runTransitionHooks(hooks.length, function (index, replace, next) {
3594
- var wrappedNext = function wrappedNext() {
3595
- if (changeHooks.has(hooks[index])) {
3596
- next.apply(undefined, arguments);
3597
- changeHooks.remove(hooks[index]);
3598
- }
3599
- };
3600
- hooks[index](state, nextState, replace, wrappedNext);
3601
- }, callback);
3602
- }
3561
+ (0, _AsyncUtils.loopAsync)(length, function (index, next, done) {
3562
+ iter(index, replace, function (error) {
3563
+ if (error || redirectInfo) {
3564
+ done(error, redirectInfo); // No need to continue.
3565
+ } else {
3566
+ next();
3567
+ }
3568
+ });
3569
+ }, callback);
3570
+ }
3603
3571
 
3604
- /**
3605
- * Runs all onLeave hooks in the given array of routes in order.
3606
- */
3607
- function runLeaveHooks(routes, prevState) {
3608
- for (var i = 0, len = routes.length; i < len; ++i) {
3609
- if (routes[i].onLeave) routes[i].onLeave.call(routes[i], prevState);
3572
+ /**
3573
+ * Runs all onEnter hooks in the given array of routes in order
3574
+ * with onEnter(nextState, replace, callback) and calls
3575
+ * callback(error, redirectInfo) when finished. The first hook
3576
+ * to use replace short-circuits the loop.
3577
+ *
3578
+ * If a hook needs to run asynchronously, it may use the callback
3579
+ * function. However, doing so will cause the transition to pause,
3580
+ * which could lead to a non-responsive UI if the hook is slow.
3581
+ */
3582
+ function runEnterHooks(routes, nextState, callback) {
3583
+ enterHooks.clear();
3584
+ var hooks = getEnterHooks(routes);
3585
+ return runTransitionHooks(hooks.length, function (index, replace, next) {
3586
+ var wrappedNext = function wrappedNext() {
3587
+ if (enterHooks.has(hooks[index])) {
3588
+ next.apply(undefined, arguments);
3589
+ enterHooks.remove(hooks[index]);
3590
+ }
3591
+ };
3592
+ hooks[index](nextState, replace, wrappedNext);
3593
+ }, callback);
3610
3594
  }
3595
+
3596
+ /**
3597
+ * Runs all onChange hooks in the given array of routes in order
3598
+ * with onChange(prevState, nextState, replace, callback) and calls
3599
+ * callback(error, redirectInfo) when finished. The first hook
3600
+ * to use replace short-circuits the loop.
3601
+ *
3602
+ * If a hook needs to run asynchronously, it may use the callback
3603
+ * function. However, doing so will cause the transition to pause,
3604
+ * which could lead to a non-responsive UI if the hook is slow.
3605
+ */
3606
+ function runChangeHooks(routes, state, nextState, callback) {
3607
+ changeHooks.clear();
3608
+ var hooks = getChangeHooks(routes);
3609
+ return runTransitionHooks(hooks.length, function (index, replace, next) {
3610
+ var wrappedNext = function wrappedNext() {
3611
+ if (changeHooks.has(hooks[index])) {
3612
+ next.apply(undefined, arguments);
3613
+ changeHooks.remove(hooks[index]);
3614
+ }
3615
+ };
3616
+ hooks[index](state, nextState, replace, wrappedNext);
3617
+ }, callback);
3618
+ }
3619
+
3620
+ /**
3621
+ * Runs all onLeave hooks in the given array of routes in order.
3622
+ */
3623
+ function runLeaveHooks(routes, prevState) {
3624
+ for (var i = 0, len = routes.length; i < len; ++i) {
3625
+ if (routes[i].onLeave) routes[i].onLeave.call(routes[i], prevState);
3626
+ }
3627
+ }
3628
+
3629
+ return {
3630
+ runEnterHooks: runEnterHooks,
3631
+ runChangeHooks: runChangeHooks,
3632
+ runLeaveHooks: runLeaveHooks
3633
+ };
3611
3634
  }
3612
3635
 
3613
- /***/ },
3636
+ /***/ }),
3614
3637
  /* 44 */
3615
- /***/ function(module, exports, __webpack_require__) {
3638
+ /***/ (function(module, exports, __webpack_require__) {
3616
3639
 
3617
3640
  'use strict';
3618
3641
 
@@ -3670,9 +3693,9 @@ return /******/ (function(modules) { // webpackBootstrap
3670
3693
  };
3671
3694
  };
3672
3695
 
3673
- /***/ },
3696
+ /***/ }),
3674
3697
  /* 45 */
3675
- /***/ function(module, exports, __webpack_require__) {
3698
+ /***/ (function(module, exports, __webpack_require__) {
3676
3699
 
3677
3700
  'use strict';
3678
3701
 
@@ -3682,7 +3705,7 @@ return /******/ (function(modules) { // webpackBootstrap
3682
3705
 
3683
3706
  var _createBrowserHistory2 = _interopRequireDefault(_createBrowserHistory);
3684
3707
 
3685
- var _createRouterHistory = __webpack_require__(29);
3708
+ var _createRouterHistory = __webpack_require__(30);
3686
3709
 
3687
3710
  var _createRouterHistory2 = _interopRequireDefault(_createRouterHistory);
3688
3711
 
@@ -3690,9 +3713,9 @@ return /******/ (function(modules) { // webpackBootstrap
3690
3713
 
3691
3714
  exports.default = (0, _createRouterHistory2.default)(_createBrowserHistory2.default);
3692
3715
 
3693
- /***/ },
3716
+ /***/ }),
3694
3717
  /* 46 */
3695
- /***/ function(module, exports, __webpack_require__) {
3718
+ /***/ (function(module, exports, __webpack_require__) {
3696
3719
 
3697
3720
  'use strict';
3698
3721
 
@@ -3769,9 +3792,9 @@ return /******/ (function(modules) { // webpackBootstrap
3769
3792
 
3770
3793
  exports.default = computeChangedRoutes;
3771
3794
 
3772
- /***/ },
3795
+ /***/ }),
3773
3796
  /* 47 */
3774
- /***/ function(module, exports, __webpack_require__) {
3797
+ /***/ (function(module, exports, __webpack_require__) {
3775
3798
 
3776
3799
  'use strict';
3777
3800
 
@@ -3779,7 +3802,7 @@ return /******/ (function(modules) { // webpackBootstrap
3779
3802
 
3780
3803
  var _AsyncUtils = __webpack_require__(14);
3781
3804
 
3782
- var _PromiseUtils = __webpack_require__(25);
3805
+ var _PromiseUtils = __webpack_require__(26);
3783
3806
 
3784
3807
  function getComponentsForRoute(nextState, route, callback) {
3785
3808
  if (route.component || route.components) {
@@ -3813,9 +3836,9 @@ return /******/ (function(modules) { // webpackBootstrap
3813
3836
 
3814
3837
  exports.default = getComponents;
3815
3838
 
3816
- /***/ },
3839
+ /***/ }),
3817
3840
  /* 48 */
3818
- /***/ function(module, exports, __webpack_require__) {
3841
+ /***/ (function(module, exports, __webpack_require__) {
3819
3842
 
3820
3843
  'use strict';
3821
3844
 
@@ -3843,9 +3866,9 @@ return /******/ (function(modules) { // webpackBootstrap
3843
3866
 
3844
3867
  exports.default = getRouteParams;
3845
3868
 
3846
- /***/ },
3869
+ /***/ }),
3847
3870
  /* 49 */
3848
- /***/ function(module, exports, __webpack_require__) {
3871
+ /***/ (function(module, exports, __webpack_require__) {
3849
3872
 
3850
3873
  'use strict';
3851
3874
 
@@ -3855,7 +3878,7 @@ return /******/ (function(modules) { // webpackBootstrap
3855
3878
 
3856
3879
  var _createHashHistory2 = _interopRequireDefault(_createHashHistory);
3857
3880
 
3858
- var _createRouterHistory = __webpack_require__(29);
3881
+ var _createRouterHistory = __webpack_require__(30);
3859
3882
 
3860
3883
  var _createRouterHistory2 = _interopRequireDefault(_createRouterHistory);
3861
3884
 
@@ -3863,9 +3886,9 @@ return /******/ (function(modules) { // webpackBootstrap
3863
3886
 
3864
3887
  exports.default = (0, _createRouterHistory2.default)(_createHashHistory2.default);
3865
3888
 
3866
- /***/ },
3889
+ /***/ }),
3867
3890
  /* 50 */
3868
- /***/ function(module, exports, __webpack_require__) {
3891
+ /***/ (function(module, exports, __webpack_require__) {
3869
3892
 
3870
3893
  'use strict';
3871
3894
 
@@ -4019,9 +4042,9 @@ return /******/ (function(modules) { // webpackBootstrap
4019
4042
  return queryIsActive(query, currentLocation.query);
4020
4043
  }
4021
4044
 
4022
- /***/ },
4045
+ /***/ }),
4023
4046
  /* 51 */
4024
- /***/ function(module, exports, __webpack_require__) {
4047
+ /***/ (function(module, exports, __webpack_require__) {
4025
4048
 
4026
4049
  'use strict';
4027
4050
 
@@ -4035,17 +4058,17 @@ return /******/ (function(modules) { // webpackBootstrap
4035
4058
 
4036
4059
  var _invariant2 = _interopRequireDefault(_invariant);
4037
4060
 
4038
- var _createMemoryHistory = __webpack_require__(28);
4061
+ var _createMemoryHistory = __webpack_require__(29);
4039
4062
 
4040
4063
  var _createMemoryHistory2 = _interopRequireDefault(_createMemoryHistory);
4041
4064
 
4042
- var _createTransitionManager = __webpack_require__(30);
4065
+ var _createTransitionManager = __webpack_require__(31);
4043
4066
 
4044
4067
  var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
4045
4068
 
4046
4069
  var _RouteUtils = __webpack_require__(4);
4047
4070
 
4048
- var _RouterUtils = __webpack_require__(27);
4071
+ var _RouterUtils = __webpack_require__(28);
4049
4072
 
4050
4073
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4051
4074
 
@@ -4095,9 +4118,9 @@ return /******/ (function(modules) { // webpackBootstrap
4095
4118
 
4096
4119
  exports.default = match;
4097
4120
 
4098
- /***/ },
4121
+ /***/ }),
4099
4122
  /* 52 */
4100
- /***/ function(module, exports, __webpack_require__) {
4123
+ /***/ (function(module, exports, __webpack_require__) {
4101
4124
 
4102
4125
  'use strict';
4103
4126
 
@@ -4109,7 +4132,7 @@ return /******/ (function(modules) { // webpackBootstrap
4109
4132
 
4110
4133
  var _AsyncUtils = __webpack_require__(14);
4111
4134
 
4112
- var _PromiseUtils = __webpack_require__(25);
4135
+ var _PromiseUtils = __webpack_require__(26);
4113
4136
 
4114
4137
  var _PatternUtils = __webpack_require__(8);
4115
4138
 
@@ -4354,9 +4377,9 @@ return /******/ (function(modules) { // webpackBootstrap
4354
4377
  }, callback);
4355
4378
  }
4356
4379
 
4357
- /***/ },
4380
+ /***/ }),
4358
4381
  /* 53 */
4359
- /***/ function(module, exports, __webpack_require__) {
4382
+ /***/ (function(module, exports, __webpack_require__) {
4360
4383
 
4361
4384
  'use strict';
4362
4385
 
@@ -4396,6 +4419,8 @@ return /******/ (function(modules) { // webpackBootstrap
4396
4419
  var withRef = options && options.withRef;
4397
4420
 
4398
4421
  var WithRouter = (0, _createReactClass2.default)({
4422
+ displayName: 'WithRouter',
4423
+
4399
4424
  mixins: [(0, _ContextUtils.ContextSubscriber)('router')],
4400
4425
 
4401
4426
  contextTypes: { router: _PropTypes.routerShape },
@@ -4436,23 +4461,21 @@ return /******/ (function(modules) { // webpackBootstrap
4436
4461
  return (0, _hoistNonReactStatics2.default)(WithRouter, WrappedComponent);
4437
4462
  }
4438
4463
 
4439
- /***/ },
4464
+ /***/ }),
4440
4465
  /* 54 */
4441
- /***/ function(module, exports, __webpack_require__) {
4466
+ /***/ (function(module, exports, __webpack_require__) {
4442
4467
 
4443
4468
  /**
4444
- * Copyright 2013-present, Facebook, Inc.
4445
- * All rights reserved.
4469
+ * Copyright (c) 2013-present, Facebook, Inc.
4446
4470
  *
4447
- * This source code is licensed under the BSD-style license found in the
4448
- * LICENSE file in the root directory of this source tree. An additional grant
4449
- * of patent rights can be found in the PATENTS file in the same directory.
4471
+ * This source code is licensed under the MIT license found in the
4472
+ * LICENSE file in the root directory of this source tree.
4450
4473
  *
4451
4474
  */
4452
4475
 
4453
4476
  'use strict';
4454
4477
 
4455
- var _assign = __webpack_require__(36);
4478
+ var _assign = __webpack_require__(24);
4456
4479
 
4457
4480
  var emptyObject = __webpack_require__(55);
4458
4481
  var _invariant = __webpack_require__(18);
@@ -4474,7 +4497,7 @@ return /******/ (function(modules) { // webpackBootstrap
4474
4497
  ReactPropTypeLocationNames = {
4475
4498
  prop: 'prop',
4476
4499
  context: 'context',
4477
- childContext: 'child context',
4500
+ childContext: 'child context'
4478
4501
  };
4479
4502
  } else {
4480
4503
  ReactPropTypeLocationNames = {};
@@ -4485,7 +4508,6 @@ return /******/ (function(modules) { // webpackBootstrap
4485
4508
  * Policies that describe methods in `ReactClassInterface`.
4486
4509
  */
4487
4510
 
4488
-
4489
4511
  var injectedMixins = [];
4490
4512
 
4491
4513
  /**
@@ -4511,7 +4533,6 @@ return /******/ (function(modules) { // webpackBootstrap
4511
4533
  * @internal
4512
4534
  */
4513
4535
  var ReactClassInterface = {
4514
-
4515
4536
  /**
4516
4537
  * An array of Mixin objects to include when defining your component.
4517
4538
  *
@@ -4602,7 +4623,6 @@ return /******/ (function(modules) { // webpackBootstrap
4602
4623
  * }
4603
4624
  *
4604
4625
  * @return {ReactComponent}
4605
- * @nosideeffects
4606
4626
  * @required
4607
4627
  */
4608
4628
  render: 'DEFINE_ONCE',
@@ -4730,7 +4750,6 @@ return /******/ (function(modules) { // webpackBootstrap
4730
4750
  * @overridable
4731
4751
  */
4732
4752
  updateComponent: 'OVERRIDE_BASE'
4733
-
4734
4753
  };
4735
4754
 
4736
4755
  /**
@@ -4743,71 +4762,106 @@ return /******/ (function(modules) { // webpackBootstrap
4743
4762
  * which all other static methods are defined.
4744
4763
  */
4745
4764
  var RESERVED_SPEC_KEYS = {
4746
- displayName: function (Constructor, displayName) {
4765
+ displayName: function(Constructor, displayName) {
4747
4766
  Constructor.displayName = displayName;
4748
4767
  },
4749
- mixins: function (Constructor, mixins) {
4768
+ mixins: function(Constructor, mixins) {
4750
4769
  if (mixins) {
4751
4770
  for (var i = 0; i < mixins.length; i++) {
4752
4771
  mixSpecIntoComponent(Constructor, mixins[i]);
4753
4772
  }
4754
4773
  }
4755
4774
  },
4756
- childContextTypes: function (Constructor, childContextTypes) {
4775
+ childContextTypes: function(Constructor, childContextTypes) {
4757
4776
  if (true) {
4758
4777
  validateTypeDef(Constructor, childContextTypes, 'childContext');
4759
4778
  }
4760
- Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes);
4779
+ Constructor.childContextTypes = _assign(
4780
+ {},
4781
+ Constructor.childContextTypes,
4782
+ childContextTypes
4783
+ );
4761
4784
  },
4762
- contextTypes: function (Constructor, contextTypes) {
4785
+ contextTypes: function(Constructor, contextTypes) {
4763
4786
  if (true) {
4764
4787
  validateTypeDef(Constructor, contextTypes, 'context');
4765
4788
  }
4766
- Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);
4789
+ Constructor.contextTypes = _assign(
4790
+ {},
4791
+ Constructor.contextTypes,
4792
+ contextTypes
4793
+ );
4767
4794
  },
4768
4795
  /**
4769
4796
  * Special case getDefaultProps which should move into statics but requires
4770
4797
  * automatic merging.
4771
4798
  */
4772
- getDefaultProps: function (Constructor, getDefaultProps) {
4799
+ getDefaultProps: function(Constructor, getDefaultProps) {
4773
4800
  if (Constructor.getDefaultProps) {
4774
- Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);
4801
+ Constructor.getDefaultProps = createMergedResultFunction(
4802
+ Constructor.getDefaultProps,
4803
+ getDefaultProps
4804
+ );
4775
4805
  } else {
4776
4806
  Constructor.getDefaultProps = getDefaultProps;
4777
4807
  }
4778
4808
  },
4779
- propTypes: function (Constructor, propTypes) {
4809
+ propTypes: function(Constructor, propTypes) {
4780
4810
  if (true) {
4781
4811
  validateTypeDef(Constructor, propTypes, 'prop');
4782
4812
  }
4783
4813
  Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
4784
4814
  },
4785
- statics: function (Constructor, statics) {
4815
+ statics: function(Constructor, statics) {
4786
4816
  mixStaticSpecIntoComponent(Constructor, statics);
4787
4817
  },
4788
- autobind: function () {} };
4818
+ autobind: function() {}
4819
+ };
4789
4820
 
4790
4821
  function validateTypeDef(Constructor, typeDef, location) {
4791
4822
  for (var propName in typeDef) {
4792
4823
  if (typeDef.hasOwnProperty(propName)) {
4793
4824
  // use a warning instead of an _invariant so components
4794
4825
  // don't show up in prod but only in __DEV__
4795
- true ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;
4826
+ if (true) {
4827
+ warning(
4828
+ typeof typeDef[propName] === 'function',
4829
+ '%s: %s type `%s` is invalid; it must be a function, usually from ' +
4830
+ 'React.PropTypes.',
4831
+ Constructor.displayName || 'ReactClass',
4832
+ ReactPropTypeLocationNames[location],
4833
+ propName
4834
+ );
4835
+ }
4796
4836
  }
4797
4837
  }
4798
4838
  }
4799
4839
 
4800
4840
  function validateMethodOverride(isAlreadyDefined, name) {
4801
- var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;
4841
+ var specPolicy = ReactClassInterface.hasOwnProperty(name)
4842
+ ? ReactClassInterface[name]
4843
+ : null;
4802
4844
 
4803
4845
  // Disallow overriding of base class methods unless explicitly allowed.
4804
4846
  if (ReactClassMixin.hasOwnProperty(name)) {
4805
- _invariant(specPolicy === 'OVERRIDE_BASE', 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name);
4847
+ _invariant(
4848
+ specPolicy === 'OVERRIDE_BASE',
4849
+ 'ReactClassInterface: You are attempting to override ' +
4850
+ '`%s` from your class specification. Ensure that your method names ' +
4851
+ 'do not overlap with React methods.',
4852
+ name
4853
+ );
4806
4854
  }
4807
4855
 
4808
4856
  // Disallow defining methods more than once unless explicitly allowed.
4809
4857
  if (isAlreadyDefined) {
4810
- _invariant(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED', 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name);
4858
+ _invariant(
4859
+ specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',
4860
+ 'ReactClassInterface: You are attempting to define ' +
4861
+ '`%s` on your component more than once. This conflict may be due ' +
4862
+ 'to a mixin.',
4863
+ name
4864
+ );
4811
4865
  }
4812
4866
  }
4813
4867
 
@@ -4821,14 +4875,33 @@ return /******/ (function(modules) { // webpackBootstrap
4821
4875
  var typeofSpec = typeof spec;
4822
4876
  var isMixinValid = typeofSpec === 'object' && spec !== null;
4823
4877
 
4824
- true ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;
4878
+ if (true) {
4879
+ warning(
4880
+ isMixinValid,
4881
+ "%s: You're attempting to include a mixin that is either null " +
4882
+ 'or not an object. Check the mixins included by the component, ' +
4883
+ 'as well as any mixins they include themselves. ' +
4884
+ 'Expected object but got %s.',
4885
+ Constructor.displayName || 'ReactClass',
4886
+ spec === null ? null : typeofSpec
4887
+ );
4888
+ }
4825
4889
  }
4826
4890
 
4827
4891
  return;
4828
4892
  }
4829
4893
 
4830
- _invariant(typeof spec !== 'function', 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.');
4831
- _invariant(!isValidElement(spec), 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.');
4894
+ _invariant(
4895
+ typeof spec !== 'function',
4896
+ "ReactClass: You're attempting to " +
4897
+ 'use a component class or function as a mixin. Instead, just use a ' +
4898
+ 'regular object.'
4899
+ );
4900
+ _invariant(
4901
+ !isValidElement(spec),
4902
+ "ReactClass: You're attempting to " +
4903
+ 'use a component as a mixin. Instead, just use a regular object.'
4904
+ );
4832
4905
 
4833
4906
  var proto = Constructor.prototype;
4834
4907
  var autoBindPairs = proto.__reactAutoBindPairs;
@@ -4863,7 +4936,11 @@ return /******/ (function(modules) { // webpackBootstrap
4863
4936
  // 2. Overridden methods (that were mixed in).
4864
4937
  var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
4865
4938
  var isFunction = typeof property === 'function';
4866
- var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;
4939
+ var shouldAutoBind =
4940
+ isFunction &&
4941
+ !isReactClassMethod &&
4942
+ !isAlreadyDefined &&
4943
+ spec.autobind !== false;
4867
4944
 
4868
4945
  if (shouldAutoBind) {
4869
4946
  autoBindPairs.push(name, property);
@@ -4873,7 +4950,15 @@ return /******/ (function(modules) { // webpackBootstrap
4873
4950
  var specPolicy = ReactClassInterface[name];
4874
4951
 
4875
4952
  // These cases should already be caught by validateMethodOverride.
4876
- _invariant(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY'), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name);
4953
+ _invariant(
4954
+ isReactClassMethod &&
4955
+ (specPolicy === 'DEFINE_MANY_MERGED' ||
4956
+ specPolicy === 'DEFINE_MANY'),
4957
+ 'ReactClass: Unexpected spec policy %s for key %s ' +
4958
+ 'when mixing in component specs.',
4959
+ specPolicy,
4960
+ name
4961
+ );
4877
4962
 
4878
4963
  // For methods which are defined more than once, call the existing
4879
4964
  // methods before calling the new property, merging if appropriate.
@@ -4908,10 +4993,23 @@ return /******/ (function(modules) { // webpackBootstrap
4908
4993
  }
4909
4994
 
4910
4995
  var isReserved = name in RESERVED_SPEC_KEYS;
4911
- _invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name);
4996
+ _invariant(
4997
+ !isReserved,
4998
+ 'ReactClass: You are attempting to define a reserved ' +
4999
+ 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' +
5000
+ 'as an instance property instead; it will still be accessible on the ' +
5001
+ 'constructor.',
5002
+ name
5003
+ );
4912
5004
 
4913
5005
  var isInherited = name in Constructor;
4914
- _invariant(!isInherited, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name);
5006
+ _invariant(
5007
+ !isInherited,
5008
+ 'ReactClass: You are attempting to define ' +
5009
+ '`%s` on your component more than once. This conflict may be ' +
5010
+ 'due to a mixin.',
5011
+ name
5012
+ );
4915
5013
  Constructor[name] = property;
4916
5014
  }
4917
5015
  }
@@ -4924,11 +5022,22 @@ return /******/ (function(modules) { // webpackBootstrap
4924
5022
  * @return {object} one after it has been mutated to contain everything in two.
4925
5023
  */
4926
5024
  function mergeIntoWithNoDuplicateKeys(one, two) {
4927
- _invariant(one && two && typeof one === 'object' && typeof two === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.');
5025
+ _invariant(
5026
+ one && two && typeof one === 'object' && typeof two === 'object',
5027
+ 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'
5028
+ );
4928
5029
 
4929
5030
  for (var key in two) {
4930
5031
  if (two.hasOwnProperty(key)) {
4931
- _invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key);
5032
+ _invariant(
5033
+ one[key] === undefined,
5034
+ 'mergeIntoWithNoDuplicateKeys(): ' +
5035
+ 'Tried to merge two objects with the same key: `%s`. This conflict ' +
5036
+ 'may be due to a mixin; in particular, this may be caused by two ' +
5037
+ 'getInitialState() or getDefaultProps() methods returning objects ' +
5038
+ 'with clashing keys.',
5039
+ key
5040
+ );
4932
5041
  one[key] = two[key];
4933
5042
  }
4934
5043
  }
@@ -4989,8 +5098,14 @@ return /******/ (function(modules) { // webpackBootstrap
4989
5098
  boundMethod.__reactBoundArguments = null;
4990
5099
  var componentName = component.constructor.displayName;
4991
5100
  var _bind = boundMethod.bind;
4992
- boundMethod.bind = function (newThis) {
4993
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
5101
+ boundMethod.bind = function(newThis) {
5102
+ for (
5103
+ var _len = arguments.length,
5104
+ args = Array(_len > 1 ? _len - 1 : 0),
5105
+ _key = 1;
5106
+ _key < _len;
5107
+ _key++
5108
+ ) {
4994
5109
  args[_key - 1] = arguments[_key];
4995
5110
  }
4996
5111
 
@@ -4998,9 +5113,24 @@ return /******/ (function(modules) { // webpackBootstrap
4998
5113
  // ignore the value of "this" that the user is trying to use, so
4999
5114
  // let's warn.
5000
5115
  if (newThis !== component && newThis !== null) {
5001
- true ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0;
5116
+ if (true) {
5117
+ warning(
5118
+ false,
5119
+ 'bind(): React component methods may only be bound to the ' +
5120
+ 'component instance. See %s',
5121
+ componentName
5122
+ );
5123
+ }
5002
5124
  } else if (!args.length) {
5003
- true ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0;
5125
+ if (true) {
5126
+ warning(
5127
+ false,
5128
+ 'bind(): You are binding a component method to the component. ' +
5129
+ 'React does this for you automatically in a high-performance ' +
5130
+ 'way, so you can safely remove this call. See %s',
5131
+ componentName
5132
+ );
5133
+ }
5004
5134
  return boundMethod;
5005
5135
  }
5006
5136
  var reboundMethod = _bind.apply(boundMethod, arguments);
@@ -5027,11 +5157,14 @@ return /******/ (function(modules) { // webpackBootstrap
5027
5157
  }
5028
5158
  }
5029
5159
 
5030
- var IsMountedMixin = {
5031
- componentDidMount: function () {
5160
+ var IsMountedPreMixin = {
5161
+ componentDidMount: function() {
5032
5162
  this.__isMounted = true;
5033
- },
5034
- componentWillUnmount: function () {
5163
+ }
5164
+ };
5165
+
5166
+ var IsMountedPostMixin = {
5167
+ componentWillUnmount: function() {
5035
5168
  this.__isMounted = false;
5036
5169
  }
5037
5170
  };
@@ -5041,12 +5174,11 @@ return /******/ (function(modules) { // webpackBootstrap
5041
5174
  * therefore not already part of the modern ReactComponent.
5042
5175
  */
5043
5176
  var ReactClassMixin = {
5044
-
5045
5177
  /**
5046
5178
  * TODO: This will be deprecated because state should always keep a consistent
5047
5179
  * type signature and the only use case for this, is to avoid that.
5048
5180
  */
5049
- replaceState: function (newState, callback) {
5181
+ replaceState: function(newState, callback) {
5050
5182
  this.updater.enqueueReplaceState(this, newState, callback);
5051
5183
  },
5052
5184
 
@@ -5056,17 +5188,29 @@ return /******/ (function(modules) { // webpackBootstrap
5056
5188
  * @protected
5057
5189
  * @final
5058
5190
  */
5059
- isMounted: function () {
5191
+ isMounted: function() {
5060
5192
  if (true) {
5061
- true ? warning(this.__didWarnIsMounted, '%s: isMounted is deprecated. Instead, make sure to clean up ' + 'subscriptions and pending requests in componentWillUnmount to ' + 'prevent memory leaks.', this.constructor && this.constructor.displayName || this.name || 'Component') : void 0;
5193
+ warning(
5194
+ this.__didWarnIsMounted,
5195
+ '%s: isMounted is deprecated. Instead, make sure to clean up ' +
5196
+ 'subscriptions and pending requests in componentWillUnmount to ' +
5197
+ 'prevent memory leaks.',
5198
+ (this.constructor && this.constructor.displayName) ||
5199
+ this.name ||
5200
+ 'Component'
5201
+ );
5062
5202
  this.__didWarnIsMounted = true;
5063
5203
  }
5064
5204
  return !!this.__isMounted;
5065
5205
  }
5066
5206
  };
5067
5207
 
5068
- var ReactClassComponent = function () {};
5069
- _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin);
5208
+ var ReactClassComponent = function() {};
5209
+ _assign(
5210
+ ReactClassComponent.prototype,
5211
+ ReactComponent.prototype,
5212
+ ReactClassMixin
5213
+ );
5070
5214
 
5071
5215
  /**
5072
5216
  * Creates a composite component class given a class specification.
@@ -5080,12 +5224,16 @@ return /******/ (function(modules) { // webpackBootstrap
5080
5224
  // To keep our warnings more understandable, we'll use a little hack here to
5081
5225
  // ensure that Constructor.name !== 'Constructor'. This makes sure we don't
5082
5226
  // unnecessarily identify a class without displayName as 'Constructor'.
5083
- var Constructor = identity(function (props, context, updater) {
5227
+ var Constructor = identity(function(props, context, updater) {
5084
5228
  // This constructor gets overridden by mocks. The argument is used
5085
5229
  // by mocks to assert on what gets mounted.
5086
5230
 
5087
5231
  if (true) {
5088
- true ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0;
5232
+ warning(
5233
+ this instanceof Constructor,
5234
+ 'Something is calling a React component directly. Use a factory or ' +
5235
+ 'JSX instead. See: https://fb.me/react-legacyfactory'
5236
+ );
5089
5237
  }
5090
5238
 
5091
5239
  // Wire up auto-binding
@@ -5106,13 +5254,20 @@ return /******/ (function(modules) { // webpackBootstrap
5106
5254
  var initialState = this.getInitialState ? this.getInitialState() : null;
5107
5255
  if (true) {
5108
5256
  // We allow auto-mocks to proceed as if they're returning null.
5109
- if (initialState === undefined && this.getInitialState._isMockFunction) {
5257
+ if (
5258
+ initialState === undefined &&
5259
+ this.getInitialState._isMockFunction
5260
+ ) {
5110
5261
  // This is probably bad practice. Consider warning here and
5111
5262
  // deprecating this convenience.
5112
5263
  initialState = null;
5113
5264
  }
5114
5265
  }
5115
- _invariant(typeof initialState === 'object' && !Array.isArray(initialState), '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent');
5266
+ _invariant(
5267
+ typeof initialState === 'object' && !Array.isArray(initialState),
5268
+ '%s.getInitialState(): must return an object or null',
5269
+ Constructor.displayName || 'ReactCompositeComponent'
5270
+ );
5116
5271
 
5117
5272
  this.state = initialState;
5118
5273
  });
@@ -5122,8 +5277,9 @@ return /******/ (function(modules) { // webpackBootstrap
5122
5277
 
5123
5278
  injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
5124
5279
 
5125
- mixSpecIntoComponent(Constructor, IsMountedMixin);
5280
+ mixSpecIntoComponent(Constructor, IsMountedPreMixin);
5126
5281
  mixSpecIntoComponent(Constructor, spec);
5282
+ mixSpecIntoComponent(Constructor, IsMountedPostMixin);
5127
5283
 
5128
5284
  // Initialize the defaultProps property after all mixins have been merged.
5129
5285
  if (Constructor.getDefaultProps) {
@@ -5143,11 +5299,26 @@ return /******/ (function(modules) { // webpackBootstrap
5143
5299
  }
5144
5300
  }
5145
5301
 
5146
- _invariant(Constructor.prototype.render, 'createClass(...): Class specification must implement a `render` method.');
5302
+ _invariant(
5303
+ Constructor.prototype.render,
5304
+ 'createClass(...): Class specification must implement a `render` method.'
5305
+ );
5147
5306
 
5148
5307
  if (true) {
5149
- true ? warning(!Constructor.prototype.componentShouldUpdate, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', spec.displayName || 'A component') : void 0;
5150
- true ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0;
5308
+ warning(
5309
+ !Constructor.prototype.componentShouldUpdate,
5310
+ '%s has a method called ' +
5311
+ 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +
5312
+ 'The name is phrased as a question because the function is ' +
5313
+ 'expected to return a value.',
5314
+ spec.displayName || 'A component'
5315
+ );
5316
+ warning(
5317
+ !Constructor.prototype.componentWillRecieveProps,
5318
+ '%s has a method called ' +
5319
+ 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',
5320
+ spec.displayName || 'A component'
5321
+ );
5151
5322
  }
5152
5323
 
5153
5324
  // Reduce time spent doing lookups by setting these on the prototype.
@@ -5166,17 +5337,15 @@ return /******/ (function(modules) { // webpackBootstrap
5166
5337
  module.exports = factory;
5167
5338
 
5168
5339
 
5169
- /***/ },
5340
+ /***/ }),
5170
5341
  /* 55 */
5171
- /***/ function(module, exports, __webpack_require__) {
5342
+ /***/ (function(module, exports, __webpack_require__) {
5172
5343
 
5173
5344
  /**
5174
5345
  * Copyright (c) 2013-present, Facebook, Inc.
5175
- * All rights reserved.
5176
5346
  *
5177
- * This source code is licensed under the BSD-style license found in the
5178
- * LICENSE file in the root directory of this source tree. An additional grant
5179
- * of patent rights can be found in the PATENTS file in the same directory.
5347
+ * This source code is licensed under the MIT license found in the
5348
+ * LICENSE file in the root directory of this source tree.
5180
5349
  *
5181
5350
  */
5182
5351
 
@@ -5190,9 +5359,9 @@ return /******/ (function(modules) { // webpackBootstrap
5190
5359
 
5191
5360
  module.exports = emptyObject;
5192
5361
 
5193
- /***/ },
5362
+ /***/ }),
5194
5363
  /* 56 */
5195
- /***/ function(module, exports) {
5364
+ /***/ (function(module, exports) {
5196
5365
 
5197
5366
  "use strict";
5198
5367
 
@@ -5251,9 +5420,9 @@ return /******/ (function(modules) { // webpackBootstrap
5251
5420
  next();
5252
5421
  };
5253
5422
 
5254
- /***/ },
5423
+ /***/ }),
5255
5424
  /* 57 */
5256
- /***/ function(module, exports, __webpack_require__) {
5425
+ /***/ (function(module, exports, __webpack_require__) {
5257
5426
 
5258
5427
  'use strict';
5259
5428
 
@@ -5283,7 +5452,7 @@ return /******/ (function(modules) { // webpackBootstrap
5283
5452
 
5284
5453
  var _DOMUtils = __webpack_require__(13);
5285
5454
 
5286
- var _DOMStateStorage = __webpack_require__(33);
5455
+ var _DOMStateStorage = __webpack_require__(34);
5287
5456
 
5288
5457
  var _PathUtils = __webpack_require__(5);
5289
5458
 
@@ -5392,9 +5561,9 @@ return /******/ (function(modules) { // webpackBootstrap
5392
5561
  });
5393
5562
  };
5394
5563
 
5395
- /***/ },
5564
+ /***/ }),
5396
5565
  /* 58 */
5397
- /***/ function(module, exports, __webpack_require__) {
5566
+ /***/ (function(module, exports, __webpack_require__) {
5398
5567
 
5399
5568
  'use strict';
5400
5569
 
@@ -5434,9 +5603,9 @@ return /******/ (function(modules) { // webpackBootstrap
5434
5603
  return false; // Don't update location
5435
5604
  };
5436
5605
 
5437
- /***/ },
5606
+ /***/ }),
5438
5607
  /* 59 */
5439
- /***/ function(module, exports, __webpack_require__) {
5608
+ /***/ (function(module, exports, __webpack_require__) {
5440
5609
 
5441
5610
  'use strict';
5442
5611
 
@@ -5532,9 +5701,9 @@ return /******/ (function(modules) { // webpackBootstrap
5532
5701
 
5533
5702
  exports.default = createBrowserHistory;
5534
5703
 
5535
- /***/ },
5704
+ /***/ }),
5536
5705
  /* 60 */
5537
- /***/ function(module, exports, __webpack_require__) {
5706
+ /***/ (function(module, exports, __webpack_require__) {
5538
5707
 
5539
5708
  'use strict';
5540
5709
 
@@ -5684,9 +5853,9 @@ return /******/ (function(modules) { // webpackBootstrap
5684
5853
 
5685
5854
  exports.default = createHashHistory;
5686
5855
 
5687
- /***/ },
5856
+ /***/ }),
5688
5857
  /* 61 */
5689
- /***/ function(module, exports, __webpack_require__) {
5858
+ /***/ (function(module, exports, __webpack_require__) {
5690
5859
 
5691
5860
  'use strict';
5692
5861
 
@@ -5829,9 +5998,9 @@ return /******/ (function(modules) { // webpackBootstrap
5829
5998
 
5830
5999
  exports.default = createMemoryHistory;
5831
6000
 
5832
- /***/ },
6001
+ /***/ }),
5833
6002
  /* 62 */
5834
- /***/ function(module, exports) {
6003
+ /***/ (function(module, exports) {
5835
6004
 
5836
6005
  /**
5837
6006
  * Copyright 2015, Yahoo! Inc.
@@ -5885,27 +6054,25 @@ return /******/ (function(modules) { // webpackBootstrap
5885
6054
  };
5886
6055
 
5887
6056
 
5888
- /***/ },
6057
+ /***/ }),
5889
6058
  /* 63 */
5890
- /***/ function(module, exports, __webpack_require__) {
6059
+ /***/ (function(module, exports, __webpack_require__) {
5891
6060
 
5892
6061
  /**
5893
- * Copyright 2013-present, Facebook, Inc.
5894
- * All rights reserved.
6062
+ * Copyright (c) 2013-present, Facebook, Inc.
5895
6063
  *
5896
- * This source code is licensed under the BSD-style license found in the
5897
- * LICENSE file in the root directory of this source tree. An additional grant
5898
- * of patent rights can be found in the PATENTS file in the same directory.
6064
+ * This source code is licensed under the MIT license found in the
6065
+ * LICENSE file in the root directory of this source tree.
5899
6066
  */
5900
6067
 
5901
6068
  'use strict';
5902
6069
 
5903
- var invariant = __webpack_require__(18);
5904
- var warning = __webpack_require__(19);
5905
-
5906
- var ReactPropTypesSecret = __webpack_require__(37);
5907
-
5908
- var loggedTypeFailures = {};
6070
+ if (true) {
6071
+ var invariant = __webpack_require__(18);
6072
+ var warning = __webpack_require__(19);
6073
+ var ReactPropTypesSecret = __webpack_require__(37);
6074
+ var loggedTypeFailures = {};
6075
+ }
5909
6076
 
5910
6077
  /**
5911
6078
  * Assert that the values match with the type specs.
@@ -5929,12 +6096,12 @@ return /******/ (function(modules) { // webpackBootstrap
5929
6096
  try {
5930
6097
  // This is intentionally an invariant that gets caught. It's the same
5931
6098
  // behavior as without this statement except with a better message.
5932
- 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);
6099
+ invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);
5933
6100
  error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
5934
6101
  } catch (ex) {
5935
6102
  error = ex;
5936
6103
  }
5937
- true ? 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;
6104
+ 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);
5938
6105
  if (error instanceof Error && !(error.message in loggedTypeFailures)) {
5939
6106
  // Only monitor this failure once because there tends to be a lot of the
5940
6107
  // same error.
@@ -5942,7 +6109,7 @@ return /******/ (function(modules) { // webpackBootstrap
5942
6109
 
5943
6110
  var stack = getStack ? getStack() : '';
5944
6111
 
5945
- true ? warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '') : void 0;
6112
+ warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
5946
6113
  }
5947
6114
  }
5948
6115
  }
@@ -5952,29 +6119,28 @@ return /******/ (function(modules) { // webpackBootstrap
5952
6119
  module.exports = checkPropTypes;
5953
6120
 
5954
6121
 
5955
- /***/ },
6122
+ /***/ }),
5956
6123
  /* 64 */
5957
- /***/ function(module, exports, __webpack_require__) {
6124
+ /***/ (function(module, exports, __webpack_require__) {
5958
6125
 
5959
6126
  /**
5960
- * Copyright 2013-present, Facebook, Inc.
5961
- * All rights reserved.
6127
+ * Copyright (c) 2013-present, Facebook, Inc.
5962
6128
  *
5963
- * This source code is licensed under the BSD-style license found in the
5964
- * LICENSE file in the root directory of this source tree. An additional grant
5965
- * of patent rights can be found in the PATENTS file in the same directory.
6129
+ * This source code is licensed under the MIT license found in the
6130
+ * LICENSE file in the root directory of this source tree.
5966
6131
  */
5967
6132
 
5968
6133
  'use strict';
5969
6134
 
5970
- var emptyFunction = __webpack_require__(32);
6135
+ var emptyFunction = __webpack_require__(33);
5971
6136
  var invariant = __webpack_require__(18);
5972
6137
  var warning = __webpack_require__(19);
6138
+ var assign = __webpack_require__(24);
5973
6139
 
5974
6140
  var ReactPropTypesSecret = __webpack_require__(37);
5975
6141
  var checkPropTypes = __webpack_require__(63);
5976
6142
 
5977
- module.exports = function (isValidElement) {
6143
+ module.exports = function(isValidElement, throwOnDirectAccess) {
5978
6144
  /* global Symbol */
5979
6145
  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
5980
6146
  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
@@ -6049,58 +6215,28 @@ return /******/ (function(modules) { // webpackBootstrap
6049
6215
 
6050
6216
  var ANONYMOUS = '<<anonymous>>';
6051
6217
 
6052
- var ReactPropTypes;
6053
-
6054
- if (true) {
6055
- // Keep in sync with production version below
6056
- ReactPropTypes = {
6057
- array: createPrimitiveTypeChecker('array'),
6058
- bool: createPrimitiveTypeChecker('boolean'),
6059
- func: createPrimitiveTypeChecker('function'),
6060
- number: createPrimitiveTypeChecker('number'),
6061
- object: createPrimitiveTypeChecker('object'),
6062
- string: createPrimitiveTypeChecker('string'),
6063
- symbol: createPrimitiveTypeChecker('symbol'),
6064
-
6065
- any: createAnyTypeChecker(),
6066
- arrayOf: createArrayOfTypeChecker,
6067
- element: createElementTypeChecker(),
6068
- instanceOf: createInstanceTypeChecker,
6069
- node: createNodeChecker(),
6070
- objectOf: createObjectOfTypeChecker,
6071
- oneOf: createEnumTypeChecker,
6072
- oneOfType: createUnionTypeChecker,
6073
- shape: createShapeTypeChecker
6074
- };
6075
- } else {
6076
- var productionTypeChecker = function () {
6077
- invariant(false, 'React.PropTypes type checking code is stripped in production.');
6078
- };
6079
- productionTypeChecker.isRequired = productionTypeChecker;
6080
- var getProductionTypeChecker = function () {
6081
- return productionTypeChecker;
6082
- };
6083
- // Keep in sync with development version above
6084
- ReactPropTypes = {
6085
- array: productionTypeChecker,
6086
- bool: productionTypeChecker,
6087
- func: productionTypeChecker,
6088
- number: productionTypeChecker,
6089
- object: productionTypeChecker,
6090
- string: productionTypeChecker,
6091
- symbol: productionTypeChecker,
6092
-
6093
- any: productionTypeChecker,
6094
- arrayOf: getProductionTypeChecker,
6095
- element: productionTypeChecker,
6096
- instanceOf: getProductionTypeChecker,
6097
- node: productionTypeChecker,
6098
- objectOf: getProductionTypeChecker,
6099
- oneOf: getProductionTypeChecker,
6100
- oneOfType: getProductionTypeChecker,
6101
- shape: getProductionTypeChecker
6102
- };
6103
- }
6218
+ // Important!
6219
+ // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
6220
+ var ReactPropTypes = {
6221
+ array: createPrimitiveTypeChecker('array'),
6222
+ bool: createPrimitiveTypeChecker('boolean'),
6223
+ func: createPrimitiveTypeChecker('function'),
6224
+ number: createPrimitiveTypeChecker('number'),
6225
+ object: createPrimitiveTypeChecker('object'),
6226
+ string: createPrimitiveTypeChecker('string'),
6227
+ symbol: createPrimitiveTypeChecker('symbol'),
6228
+
6229
+ any: createAnyTypeChecker(),
6230
+ arrayOf: createArrayOfTypeChecker,
6231
+ element: createElementTypeChecker(),
6232
+ instanceOf: createInstanceTypeChecker,
6233
+ node: createNodeChecker(),
6234
+ objectOf: createObjectOfTypeChecker,
6235
+ oneOf: createEnumTypeChecker,
6236
+ oneOfType: createUnionTypeChecker,
6237
+ shape: createShapeTypeChecker,
6238
+ exact: createStrictShapeTypeChecker,
6239
+ };
6104
6240
 
6105
6241
  /**
6106
6242
  * inlined Object.is polyfill to avoid requiring consumers ship their own
@@ -6137,16 +6273,41 @@ return /******/ (function(modules) { // webpackBootstrap
6137
6273
  function createChainableTypeChecker(validate) {
6138
6274
  if (true) {
6139
6275
  var manualPropTypeCallCache = {};
6276
+ var manualPropTypeWarningCount = 0;
6140
6277
  }
6141
6278
  function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
6142
6279
  componentName = componentName || ANONYMOUS;
6143
6280
  propFullName = propFullName || propName;
6144
- if (true) {
6145
- if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') {
6281
+
6282
+ if (secret !== ReactPropTypesSecret) {
6283
+ if (throwOnDirectAccess) {
6284
+ // New behavior only for users of `prop-types` package
6285
+ invariant(
6286
+ false,
6287
+ 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
6288
+ 'Use `PropTypes.checkPropTypes()` to call them. ' +
6289
+ 'Read more at http://fb.me/use-check-prop-types'
6290
+ );
6291
+ } else if (("development") !== 'production' && typeof console !== 'undefined') {
6292
+ // Old behavior for people using React.PropTypes
6146
6293
  var cacheKey = componentName + ':' + propName;
6147
- if (!manualPropTypeCallCache[cacheKey]) {
6148
- true ? 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;
6294
+ if (
6295
+ !manualPropTypeCallCache[cacheKey] &&
6296
+ // Avoid spamming the console because they are often not actionable except for lib authors
6297
+ manualPropTypeWarningCount < 3
6298
+ ) {
6299
+ warning(
6300
+ false,
6301
+ 'You are manually calling a React.PropTypes validation ' +
6302
+ 'function for the `%s` prop on `%s`. This is deprecated ' +
6303
+ 'and will throw in the standalone `prop-types` package. ' +
6304
+ 'You may be seeing this warning due to a third-party PropTypes ' +
6305
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
6306
+ propFullName,
6307
+ componentName
6308
+ );
6149
6309
  manualPropTypeCallCache[cacheKey] = true;
6310
+ manualPropTypeWarningCount++;
6150
6311
  }
6151
6312
  }
6152
6313
  }
@@ -6284,6 +6445,20 @@ return /******/ (function(modules) { // webpackBootstrap
6284
6445
  return emptyFunction.thatReturnsNull;
6285
6446
  }
6286
6447
 
6448
+ for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
6449
+ var checker = arrayOfTypeCheckers[i];
6450
+ if (typeof checker !== 'function') {
6451
+ warning(
6452
+ false,
6453
+ 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
6454
+ 'received %s at index %s.',
6455
+ getPostfixForTypeWarning(checker),
6456
+ i
6457
+ );
6458
+ return emptyFunction.thatReturnsNull;
6459
+ }
6460
+ }
6461
+
6287
6462
  function validate(props, propName, componentName, location, propFullName) {
6288
6463
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
6289
6464
  var checker = arrayOfTypeCheckers[i];
@@ -6329,6 +6504,36 @@ return /******/ (function(modules) { // webpackBootstrap
6329
6504
  return createChainableTypeChecker(validate);
6330
6505
  }
6331
6506
 
6507
+ function createStrictShapeTypeChecker(shapeTypes) {
6508
+ function validate(props, propName, componentName, location, propFullName) {
6509
+ var propValue = props[propName];
6510
+ var propType = getPropType(propValue);
6511
+ if (propType !== 'object') {
6512
+ return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
6513
+ }
6514
+ // We need to check all keys in case some are required but missing from
6515
+ // props.
6516
+ var allKeys = assign({}, props[propName], shapeTypes);
6517
+ for (var key in allKeys) {
6518
+ var checker = shapeTypes[key];
6519
+ if (!checker) {
6520
+ return new PropTypeError(
6521
+ 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
6522
+ '\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
6523
+ '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
6524
+ );
6525
+ }
6526
+ var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
6527
+ if (error) {
6528
+ return error;
6529
+ }
6530
+ }
6531
+ return null;
6532
+ }
6533
+
6534
+ return createChainableTypeChecker(validate);
6535
+ }
6536
+
6332
6537
  function isNode(propValue) {
6333
6538
  switch (typeof propValue) {
6334
6539
  case 'number':
@@ -6416,6 +6621,9 @@ return /******/ (function(modules) { // webpackBootstrap
6416
6621
  // This handles more types than `getPropType`. Only used for error messages.
6417
6622
  // See `createPrimitiveTypeChecker`.
6418
6623
  function getPreciseType(propValue) {
6624
+ if (typeof propValue === 'undefined' || propValue === null) {
6625
+ return '' + propValue;
6626
+ }
6419
6627
  var propType = getPropType(propValue);
6420
6628
  if (propType === 'object') {
6421
6629
  if (propValue instanceof Date) {
@@ -6427,6 +6635,23 @@ return /******/ (function(modules) { // webpackBootstrap
6427
6635
  return propType;
6428
6636
  }
6429
6637
 
6638
+ // Returns a string that is postfixed to a warning about an invalid type.
6639
+ // For example, "undefined" or "of type array"
6640
+ function getPostfixForTypeWarning(value) {
6641
+ var type = getPreciseType(value);
6642
+ switch (type) {
6643
+ case 'array':
6644
+ case 'object':
6645
+ return 'an ' + type;
6646
+ case 'boolean':
6647
+ case 'date':
6648
+ case 'regexp':
6649
+ return 'a ' + type;
6650
+ default:
6651
+ return type;
6652
+ }
6653
+ }
6654
+
6430
6655
  // Returns class name of the object, if any.
6431
6656
  function getClassName(propValue) {
6432
6657
  if (!propValue.constructor || !propValue.constructor.name) {
@@ -6442,13 +6667,13 @@ return /******/ (function(modules) { // webpackBootstrap
6442
6667
  };
6443
6668
 
6444
6669
 
6445
- /***/ },
6670
+ /***/ }),
6446
6671
  /* 65 */
6447
- /***/ function(module, exports, __webpack_require__) {
6672
+ /***/ (function(module, exports, __webpack_require__) {
6448
6673
 
6449
6674
  'use strict';
6450
6675
  var strictUriEncode = __webpack_require__(66);
6451
- var objectAssign = __webpack_require__(36);
6676
+ var objectAssign = __webpack_require__(24);
6452
6677
 
6453
6678
  function encoderForArrayFormat(opts) {
6454
6679
  switch (opts.arrayFormat) {
@@ -6513,12 +6738,14 @@ return /******/ (function(modules) { // webpackBootstrap
6513
6738
  case 'bracket':
6514
6739
  return function (key, value, accumulator) {
6515
6740
  result = /(\[\])$/.exec(key);
6516
-
6517
6741
  key = key.replace(/\[\]$/, '');
6518
6742
 
6519
- if (!result || accumulator[key] === undefined) {
6743
+ if (!result) {
6520
6744
  accumulator[key] = value;
6521
6745
  return;
6746
+ } else if (accumulator[key] === undefined) {
6747
+ accumulator[key] = [value];
6748
+ return;
6522
6749
  }
6523
6750
 
6524
6751
  accumulator[key] = [].concat(accumulator[key], value);
@@ -6651,9 +6878,9 @@ return /******/ (function(modules) { // webpackBootstrap
6651
6878
  };
6652
6879
 
6653
6880
 
6654
- /***/ },
6881
+ /***/ }),
6655
6882
  /* 66 */
6656
- /***/ function(module, exports) {
6883
+ /***/ (function(module, exports) {
6657
6884
 
6658
6885
  'use strict';
6659
6886
  module.exports = function (str) {
@@ -6663,7 +6890,7 @@ return /******/ (function(modules) { // webpackBootstrap
6663
6890
  };
6664
6891
 
6665
6892
 
6666
- /***/ }
6893
+ /***/ })
6667
6894
  /******/ ])
6668
6895
  });
6669
6896
  ;