react-rails 2.4.4 → 2.4.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 42c09bb9135b40e0430df5db632aad7084abc107
4
- data.tar.gz: fa1e9a5c114c8f105cbac01db96534664620ad74
2
+ SHA256:
3
+ metadata.gz: 0cda1e3195b0f783b36713deb6688010e94823f8d582e9e3e0589bf3048ecce7
4
+ data.tar.gz: d997b158a3785b20e154382ed54de7a2c18b6486b5109e1a8392d399579f90d3
5
5
  SHA512:
6
- metadata.gz: 38ecbc7b2591cdd1237d63502277749179ca807146df4925bf34a75f70c134adfbf513ca2cd1c3c076c5468eac2afaadae2e99026aeba872772c6ce29b556c32
7
- data.tar.gz: da95ec9bb106e43057e9cbf84b2f214b3739d627cf5b5f507cb09122434a075b26f22033dfd636de3a69b80fe014ae722a4f225cf12005f41300a70c74ff3d86
6
+ metadata.gz: 4875d0236291a42bc58e355b31da559226814df39bb0b9bbb4850c68c6ff9e7417037f8bea385d81e98e575cd0bea4db55c2d97702cc05e9d79a903fce9480ba
7
+ data.tar.gz: 27d0d5e45daf3b842c5dd3343690dbe225b3ea83bd4972f41c109018cfceacdc1d9a13956e4324370e113edd3a6e5c86bae7fadf9515f9aa45f561f1ee68324c
@@ -12,6 +12,16 @@
12
12
 
13
13
  #### New Features
14
14
 
15
+ - React 16.3.2 prebundled #908
16
+ - Supports Webpacker 4.x #895
17
+ - Enhanced generator to create components in subdirectories #890
18
+ - Explicitly support Rails 5.2 #893
19
+ - Enhanced documentation for Turbolinks usage #900
20
+
21
+ ## 2.4.4
22
+
23
+ #### New Features
24
+
15
25
  - React 16.2 prebundled #856, #874
16
26
  - Use Fragments instead of Divs by default #856
17
27
  - Explicitly support Ruby 2.5 #857
data/README.md CHANGED
@@ -87,6 +87,12 @@ $ rails g react:component HelloWorld greeting:string
87
87
 
88
88
  Your component is added to `app/javascript/components/` by default.
89
89
 
90
+ You can also generate your component in a subdirectory:
91
+
92
+ ```
93
+ $ rails g react:component my_subdirectory/HelloWorld greeting:string
94
+ ```
95
+
90
96
  [Render it in a Rails view](#view-helper):
91
97
 
92
98
  ```erb
@@ -135,7 +141,7 @@ $ bundle exec rails webpacker:install:typescript
135
141
  $ yarn add @types/react @types/react-dom
136
142
  ```
137
143
 
138
- Doing this will allow React-Rails to support the .tsx extension.
144
+ Doing this will allow React-Rails to support the .tsx extension.
139
145
 
140
146
  ## Use with Asset Pipeline
141
147
 
@@ -304,6 +310,19 @@ ReactRailsUJS.detectEvents()
304
310
 
305
311
  For example, if `Turbolinks` is loaded _after_ `ReactRailsUJS`, you'll need to call this again. This function removes previous handlers before adding new ones, so it's safe to call as often as needed.
306
312
 
313
+ If `Turbolinks` is `import`ed via Webpacker (and thus not available globally), `ReactRailsUJS` will be unable to locate it. To fix this, you can temporarily add it to the global namespace:
314
+
315
+ ```js
316
+ // Order is particular. First start Turbolinks:
317
+ Turbolinks.start();
318
+ // Add Turbolinks to the global namespace:
319
+ window.Turbolinks = Turbolinks;
320
+ // Remove previous event handlers and add new ones:
321
+ ReactRailsUJS.detectEvents();
322
+ // (Optional) Clean up global namespace:
323
+ delete window.Turbolinks;
324
+ ```
325
+
307
326
  ### `getConstructor`
308
327
 
309
328
  Components are loaded with `ReactRailsUJS.getConstructor(className)`. This function has two built-in implementations:
@@ -45,9 +45,9 @@
45
45
  /***/ (function(module, exports, __webpack_require__) {
46
46
 
47
47
  /* WEBPACK VAR INJECTION */(function(global) {var React = __webpack_require__(1);
48
- var ReactDOMServer = __webpack_require__(32);
49
- var createReactClass = __webpack_require__(27);
50
- var PropTypes = __webpack_require__(29);
48
+ var ReactDOMServer = __webpack_require__(30);
49
+ var createReactClass = __webpack_require__(25);
50
+ var PropTypes = __webpack_require__(27);
51
51
 
52
52
  global.React = React;
53
53
  global.ReactDOMServer = ReactDOMServer;
@@ -65,7 +65,7 @@
65
65
  if (process.env.NODE_ENV === 'production') {
66
66
  module.exports = __webpack_require__(3);
67
67
  } else {
68
- module.exports = __webpack_require__(7);
68
+ module.exports = __webpack_require__(8);
69
69
  }
70
70
 
71
71
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
@@ -264,7 +264,7 @@
264
264
  /* 3 */
265
265
  /***/ (function(module, exports, __webpack_require__) {
266
266
 
267
- /** @license React v16.2.0
267
+ /** @license React v16.3.2
268
268
  * react.production.min.js
269
269
  *
270
270
  * Copyright (c) 2013-present, Facebook, Inc.
@@ -273,18 +273,19 @@
273
273
  * LICENSE file in the root directory of this source tree.
274
274
  */
275
275
 
276
- 'use strict';var m=__webpack_require__(4),n=__webpack_require__(5),p=__webpack_require__(6),q="function"===typeof Symbol&&Symbol["for"],r=q?Symbol["for"]("react.element"):60103,t=q?Symbol["for"]("react.call"):60104,u=q?Symbol["for"]("react.return"):60105,v=q?Symbol["for"]("react.portal"):60106,w=q?Symbol["for"]("react.fragment"):60107,x="function"===typeof Symbol&&Symbol.iterator;
277
- function y(a){for(var b=arguments.length-1,e="Minified React error #"+a+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\x3d"+a,c=0;c<b;c++)e+="\x26args[]\x3d"+encodeURIComponent(arguments[c+1]);b=Error(e+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.");b.name="Invariant Violation";b.framesToPop=1;throw b;}
278
- var z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function A(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}A.prototype.isReactComponent={};A.prototype.setState=function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?y("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};A.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};
279
- function B(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}function C(){}C.prototype=A.prototype;var D=B.prototype=new C;D.constructor=B;m(D,A.prototype);D.isPureReactComponent=!0;function E(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}var F=E.prototype=new C;F.constructor=E;m(F,A.prototype);F.unstable_isAsyncReactComponent=!0;F.render=function(){return this.props.children};var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};
280
- function J(a,b,e){var c,d={},g=null,k=null;if(null!=b)for(c in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=""+b.key),b)H.call(b,c)&&!I.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var h=Array(f),l=0;l<f;l++)h[l]=arguments[l+2];d.children=h}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:r,type:a,key:g,ref:k,props:d,_owner:G.current}}function K(a){return"object"===typeof a&&null!==a&&a.$$typeof===r}
281
- function escape(a){var b={"\x3d":"\x3d0",":":"\x3d2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}var L=/\/+/g,M=[];function N(a,b,e,c){if(M.length){var d=M.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function O(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>M.length&&M.push(a)}
282
- function P(a,b,e,c){var d=typeof a;if("undefined"===d||"boolean"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case r:case t:case u:case v:g=!0}}if(g)return e(c,a,""===b?"."+Q(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+Q(d,k);g+=P(d,f,e,c)}else if(null===a||"undefined"===typeof a?f=null:(f=x&&a[x]||a["@@iterator"],f="function"===typeof f?f:null),"function"===typeof f)for(a=
283
- f.call(a),k=0;!(d=a.next()).done;)d=d.value,f=b+Q(d,k++),g+=P(d,f,e,c);else"object"===d&&(e=""+a,y("31","[object Object]"===e?"object with keys {"+Object.keys(a).join(", ")+"}":e,""));return g}function Q(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function R(a,b){a.func.call(a.context,b,a.count++)}
284
- function S(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?T(a,c,e,p.thatReturnsArgument):null!=a&&(K(a)&&(b=d+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(L,"$\x26/")+"/")+e,a={$$typeof:r,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function T(a,b,e,c,d){var g="";null!=e&&(g=(""+e).replace(L,"$\x26/")+"/");b=N(b,g,c,d);null==a||P(a,"",S,b);O(b)}
285
- var U={Children:{map:function(a,b,e){if(null==a)return a;var c=[];T(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=N(null,null,b,e);null==a||P(a,"",R,b);O(b)},count:function(a){return null==a?0:P(a,"",p.thatReturnsNull,null)},toArray:function(a){var b=[];T(a,b,null,p.thatReturnsArgument);return b},only:function(a){K(a)?void 0:y("143");return a}},Component:A,PureComponent:B,unstable_AsyncComponent:E,Fragment:w,createElement:J,cloneElement:function(a,b,e){var c=m({},a.props),
286
- d=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=G.current);void 0!==b.key&&(d=""+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)H.call(b,h)&&!I.hasOwnProperty(h)&&(c[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)c.children=e;else if(1<h){f=Array(h);for(var l=0;l<h;l++)f[l]=arguments[l+2];c.children=f}return{$$typeof:r,type:a.type,key:d,ref:g,props:c,_owner:k}},createFactory:function(a){var b=J.bind(null,a);b.type=a;return b},
287
- isValidElement:K,version:"16.2.0",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:G,assign:m}},V=Object.freeze({default:U}),W=V&&U||V;module.exports=W["default"]?W["default"]:W;
276
+ 'use strict';var m=__webpack_require__(4),n=__webpack_require__(5),p=__webpack_require__(6),q=__webpack_require__(7),r="function"===typeof Symbol&&Symbol["for"],t=r?Symbol["for"]("react.element"):60103,u=r?Symbol["for"]("react.portal"):60106,v=r?Symbol["for"]("react.fragment"):60107,w=r?Symbol["for"]("react.strict_mode"):60108,x=r?Symbol["for"]("react.provider"):60109,y=r?Symbol["for"]("react.context"):60110,z=r?Symbol["for"]("react.async_mode"):60111,A=r?Symbol["for"]("react.forward_ref"):
277
+ 60112,B="function"===typeof Symbol&&Symbol.iterator;function C(a){for(var b=arguments.length-1,e="http://reactjs.org/docs/error-decoder.html?invariant\x3d"+a,c=0;c<b;c++)e+="\x26args[]\x3d"+encodeURIComponent(arguments[c+1]);n(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",e)}var D={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};
278
+ function E(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||D}E.prototype.isReactComponent={};E.prototype.setState=function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?C("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=p;this.updater=e||D}var H=G.prototype=new F;
279
+ H.constructor=G;m(H,E.prototype);H.isPureReactComponent=!0;var I={current:null},J=Object.prototype.hasOwnProperty,K={key:!0,ref:!0,__self:!0,__source:!0};
280
+ function L(a,b,e){var c=void 0,d={},g=null,h=null;if(null!=b)for(c in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(g=""+b.key),b)J.call(b,c)&&!K.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var k=Array(f),l=0;l<f;l++)k[l]=arguments[l+2];d.children=k}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:t,type:a,key:g,ref:h,props:d,_owner:I.current}}
281
+ function M(a){return"object"===typeof a&&null!==a&&a.$$typeof===t}function escape(a){var b={"\x3d":"\x3d0",":":"\x3d2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}var N=/\/+/g,O=[];function P(a,b,e,c){if(O.length){var d=O.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function Q(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>O.length&&O.push(a)}
282
+ function R(a,b,e,c){var d=typeof a;if("undefined"===d||"boolean"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case "string":case "number":g=!0;break;case "object":switch(a.$$typeof){case t:case u:g=!0}}if(g)return e(c,a,""===b?"."+S(a,0):b),1;g=0;b=""===b?".":b+":";if(Array.isArray(a))for(var h=0;h<a.length;h++){d=a[h];var f=b+S(d,h);g+=R(d,f,e,c)}else if(null===a||"undefined"===typeof a?f=null:(f=B&&a[B]||a["@@iterator"],f="function"===typeof f?f:null),"function"===typeof f)for(a=f.call(a),
283
+ h=0;!(d=a.next()).done;)d=d.value,f=b+S(d,h++),g+=R(d,f,e,c);else"object"===d&&(e=""+a,C("31","[object Object]"===e?"object with keys {"+Object.keys(a).join(", ")+"}":e,""));return g}function S(a,b){return"object"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function T(a,b){a.func.call(a.context,b,a.count++)}
284
+ function U(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?V(a,c,e,q.thatReturnsArgument):null!=a&&(M(a)&&(b=d+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(N,"$\x26/")+"/")+e,a={$$typeof:t,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function V(a,b,e,c,d){var g="";null!=e&&(g=(""+e).replace(N,"$\x26/")+"/");b=P(b,g,c,d);null==a||R(a,"",U,b);Q(b)}
285
+ var W={Children:{map:function(a,b,e){if(null==a)return a;var c=[];V(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=P(null,null,b,e);null==a||R(a,"",T,b);Q(b)},count:function(a){return null==a?0:R(a,"",q.thatReturnsNull,null)},toArray:function(a){var b=[];V(a,b,null,q.thatReturnsArgument);return b},only:function(a){M(a)?void 0:C("143");return a}},createRef:function(){return{current:null}},Component:E,PureComponent:G,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:y,
286
+ _calculateChangedBits:b,_defaultValue:a,_currentValue:a,_changedBits:0,Provider:null,Consumer:null};a.Provider={$$typeof:x,_context:a};return a.Consumer=a},forwardRef:function(a){return{$$typeof:A,render:a}},Fragment:v,StrictMode:w,unstable_AsyncMode:z,createElement:L,cloneElement:function(a,b,e){null===a||void 0===a?C("267",a):void 0;var c=void 0,d=m({},a.props),g=a.key,h=a.ref,f=a._owner;if(null!=b){void 0!==b.ref&&(h=b.ref,f=I.current);void 0!==b.key&&(g=""+b.key);var k=void 0;a.type&&a.type.defaultProps&&
287
+ (k=a.type.defaultProps);for(c in b)J.call(b,c)&&!K.hasOwnProperty(c)&&(d[c]=void 0===b[c]&&void 0!==k?k[c]:b[c])}c=arguments.length-2;if(1===c)d.children=e;else if(1<c){k=Array(c);for(var l=0;l<c;l++)k[l]=arguments[l+2];d.children=k}return{$$typeof:t,type:a.type,key:g,ref:h,props:d,_owner:f}},createFactory:function(a){var b=L.bind(null,a);b.type=a;return b},isValidElement:M,version:"16.3.2",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:I,assign:m}},X=Object.freeze({default:W}),
288
+ Y=X&&W||X;module.exports=Y["default"]?Y["default"]:Y;
288
289
 
289
290
 
290
291
  /***/ }),
@@ -397,6 +398,65 @@
397
398
 
398
399
  'use strict';
399
400
 
401
+ /**
402
+ * Use invariant() to assert state which your program assumes to be true.
403
+ *
404
+ * Provide sprintf-style format (only %s is supported) and arguments
405
+ * to provide information about what broke and what you were
406
+ * expecting.
407
+ *
408
+ * The invariant message will be stripped in production, but the invariant
409
+ * will remain to ensure logic does not differ in production.
410
+ */
411
+
412
+ var validateFormat = function validateFormat(format) {};
413
+
414
+ if (process.env.NODE_ENV !== 'production') {
415
+ validateFormat = function validateFormat(format) {
416
+ if (format === undefined) {
417
+ throw new Error('invariant requires an error message argument');
418
+ }
419
+ };
420
+ }
421
+
422
+ function invariant(condition, format, a, b, c, d, e, f) {
423
+ validateFormat(format);
424
+
425
+ if (!condition) {
426
+ var error;
427
+ if (format === undefined) {
428
+ error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
429
+ } else {
430
+ var args = [a, b, c, d, e, f];
431
+ var argIndex = 0;
432
+ error = new Error(format.replace(/%s/g, function () {
433
+ return args[argIndex++];
434
+ }));
435
+ error.name = 'Invariant Violation';
436
+ }
437
+
438
+ error.framesToPop = 1; // we don't care about invariant's own frame
439
+ throw error;
440
+ }
441
+ }
442
+
443
+ module.exports = invariant;
444
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
445
+
446
+ /***/ }),
447
+ /* 6 */
448
+ /***/ (function(module, exports, __webpack_require__) {
449
+
450
+ /* WEBPACK VAR INJECTION */(function(process) {/**
451
+ * Copyright (c) 2013-present, Facebook, Inc.
452
+ *
453
+ * This source code is licensed under the MIT license found in the
454
+ * LICENSE file in the root directory of this source tree.
455
+ *
456
+ */
457
+
458
+ 'use strict';
459
+
400
460
  var emptyObject = {};
401
461
 
402
462
  if (process.env.NODE_ENV !== 'production') {
@@ -407,7 +467,7 @@
407
467
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
408
468
 
409
469
  /***/ }),
410
- /* 6 */
470
+ /* 7 */
411
471
  /***/ (function(module, exports) {
412
472
 
413
473
  "use strict";
@@ -448,10 +508,10 @@
448
508
  module.exports = emptyFunction;
449
509
 
450
510
  /***/ }),
451
- /* 7 */
511
+ /* 8 */
452
512
  /***/ (function(module, exports, __webpack_require__) {
453
513
 
454
- /* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.2.0
514
+ /* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.3.2
455
515
  * react.development.js
456
516
  *
457
517
  * Copyright (c) 2013-present, Facebook, Inc.
@@ -469,15 +529,15 @@
469
529
  'use strict';
470
530
 
471
531
  var _assign = __webpack_require__(4);
472
- var emptyObject = __webpack_require__(5);
473
- var invariant = __webpack_require__(8);
532
+ var invariant = __webpack_require__(5);
533
+ var emptyObject = __webpack_require__(6);
474
534
  var warning = __webpack_require__(9);
475
- var emptyFunction = __webpack_require__(6);
535
+ var emptyFunction = __webpack_require__(7);
476
536
  var checkPropTypes = __webpack_require__(10);
477
537
 
478
538
  // TODO: this is special because it gets imported during build.
479
539
 
480
- var ReactVersion = '16.2.0';
540
+ var ReactVersion = '16.3.2';
481
541
 
482
542
  // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
483
543
  // nor polyfill, then a plain number is used for performance.
@@ -488,6 +548,11 @@
488
548
  var REACT_RETURN_TYPE = hasSymbol ? Symbol['for']('react.return') : 0xeac9;
489
549
  var REACT_PORTAL_TYPE = hasSymbol ? Symbol['for']('react.portal') : 0xeaca;
490
550
  var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol['for']('react.fragment') : 0xeacb;
551
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol['for']('react.strict_mode') : 0xeacc;
552
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol['for']('react.provider') : 0xeacd;
553
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol['for']('react.context') : 0xeace;
554
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol['for']('react.async_mode') : 0xeacf;
555
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol['for']('react.forward_ref') : 0xead0;
491
556
 
492
557
  var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
493
558
  var FAUX_ITERATOR_SYMBOL = '@@iterator';
@@ -503,12 +568,8 @@
503
568
  return null;
504
569
  }
505
570
 
506
- /**
507
- * WARNING: DO NOT manually require this module.
508
- * This is a replacement for `invariant(...)` used by the error code system
509
- * and will _only_ be required by the corresponding babel pass.
510
- * It always throws.
511
- */
571
+ // Relying on the `invariant()` implementation lets us
572
+ // have preserve the format and params in the www builds.
512
573
 
513
574
  /**
514
575
  * Forked from fbjs/warning:
@@ -567,13 +628,13 @@
567
628
 
568
629
  function warnNoop(publicInstance, callerName) {
569
630
  {
570
- var constructor = publicInstance.constructor;
571
- var componentName = constructor && (constructor.displayName || constructor.name) || 'ReactClass';
631
+ var _constructor = publicInstance.constructor;
632
+ var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';
572
633
  var warningKey = componentName + '.' + callerName;
573
634
  if (didWarnStateUpdateForUnmountedComponent[warningKey]) {
574
635
  return;
575
636
  }
576
- warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op.\n\nPlease check the code for the %s component.', callerName, callerName, componentName);
637
+ warning(false, "Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);
577
638
  didWarnStateUpdateForUnmountedComponent[warningKey] = true;
578
639
  }
579
640
  }
@@ -733,46 +794,36 @@
733
794
  }
734
795
  }
735
796
 
797
+ function ComponentDummy() {}
798
+ ComponentDummy.prototype = Component.prototype;
799
+
736
800
  /**
737
- * Base class helpers for the updating state of a component.
801
+ * Convenience component with default shallow equality check for sCU.
738
802
  */
739
803
  function PureComponent(props, context, updater) {
740
- // Duplicated from Component.
741
804
  this.props = props;
742
805
  this.context = context;
743
806
  this.refs = emptyObject;
744
- // We initialize the default updater but the real one gets injected by the
745
- // renderer.
746
807
  this.updater = updater || ReactNoopUpdateQueue;
747
808
  }
748
809
 
749
- function ComponentDummy() {}
750
- ComponentDummy.prototype = Component.prototype;
751
810
  var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();
752
811
  pureComponentPrototype.constructor = PureComponent;
753
812
  // Avoid an extra prototype jump for these methods.
754
813
  _assign(pureComponentPrototype, Component.prototype);
755
814
  pureComponentPrototype.isPureReactComponent = true;
756
815
 
757
- function AsyncComponent(props, context, updater) {
758
- // Duplicated from Component.
759
- this.props = props;
760
- this.context = context;
761
- this.refs = emptyObject;
762
- // We initialize the default updater but the real one gets injected by the
763
- // renderer.
764
- this.updater = updater || ReactNoopUpdateQueue;
816
+ // an immutable object with a single mutable value
817
+ function createRef() {
818
+ var refObject = {
819
+ current: null
820
+ };
821
+ {
822
+ Object.seal(refObject);
823
+ }
824
+ return refObject;
765
825
  }
766
826
 
767
- var asyncComponentPrototype = AsyncComponent.prototype = new ComponentDummy();
768
- asyncComponentPrototype.constructor = AsyncComponent;
769
- // Avoid an extra prototype jump for these methods.
770
- _assign(asyncComponentPrototype, Component.prototype);
771
- asyncComponentPrototype.unstable_isAsyncReactComponent = true;
772
- asyncComponentPrototype.render = function () {
773
- return this.props.children;
774
- };
775
-
776
827
  /**
777
828
  * Keeps track of the current owner.
778
829
  *
@@ -796,8 +847,8 @@
796
847
  __source: true
797
848
  };
798
849
 
799
- var specialPropKeyWarningShown;
800
- var specialPropRefWarningShown;
850
+ var specialPropKeyWarningShown = void 0;
851
+ var specialPropRefWarningShown = void 0;
801
852
 
802
853
  function hasValidRef(config) {
803
854
  {
@@ -873,7 +924,7 @@
873
924
  */
874
925
  var ReactElement = function (type, key, ref, self, source, owner, props) {
875
926
  var element = {
876
- // This tag allow us to uniquely identify this as a React Element
927
+ // This tag allows us to uniquely identify this as a React Element
877
928
  $$typeof: REACT_ELEMENT_TYPE,
878
929
 
879
930
  // Built-in properties that belong on the element
@@ -932,7 +983,7 @@
932
983
  * See https://reactjs.org/docs/react-api.html#createelement
933
984
  */
934
985
  function createElement(type, config, children) {
935
- var propName;
986
+ var propName = void 0;
936
987
 
937
988
  // Reserved names are extracted
938
989
  var props = {};
@@ -1020,7 +1071,9 @@
1020
1071
  * See https://reactjs.org/docs/react-api.html#cloneelement
1021
1072
  */
1022
1073
  function cloneElement(element, config, children) {
1023
- var propName;
1074
+ !!(element === null || element === undefined) ? invariant(false, 'React.cloneElement(...): The argument must be a React element, but you passed %s.', element) : void 0;
1075
+
1076
+ var propName = void 0;
1024
1077
 
1025
1078
  // Original props are copied
1026
1079
  var props = _assign({}, element.props);
@@ -1049,7 +1102,7 @@
1049
1102
  }
1050
1103
 
1051
1104
  // Remaining properties override existing props
1052
- var defaultProps;
1105
+ var defaultProps = void 0;
1053
1106
  if (element.type && element.type.defaultProps) {
1054
1107
  defaultProps = element.type.defaultProps;
1055
1108
  }
@@ -1203,8 +1256,6 @@
1203
1256
  case 'object':
1204
1257
  switch (children.$$typeof) {
1205
1258
  case REACT_ELEMENT_TYPE:
1206
- case REACT_CALL_TYPE:
1207
- case REACT_RETURN_TYPE:
1208
1259
  case REACT_PORTAL_TYPE:
1209
1260
  invokeCallback = true;
1210
1261
  }
@@ -1219,8 +1270,8 @@
1219
1270
  return 1;
1220
1271
  }
1221
1272
 
1222
- var child;
1223
- var nextName;
1273
+ var child = void 0;
1274
+ var nextName = void 0;
1224
1275
  var subtreeCount = 0; // Count of children found in the current subtree.
1225
1276
  var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
1226
1277
 
@@ -1236,13 +1287,13 @@
1236
1287
  {
1237
1288
  // Warn about using Maps as children
1238
1289
  if (iteratorFn === children.entries) {
1239
- warning(didWarnAboutMaps, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.%s', ReactDebugCurrentFrame.getStackAddendum());
1290
+ !didWarnAboutMaps ? warning(false, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.%s', ReactDebugCurrentFrame.getStackAddendum()) : void 0;
1240
1291
  didWarnAboutMaps = true;
1241
1292
  }
1242
1293
  }
1243
1294
 
1244
1295
  var iterator = iteratorFn.call(children);
1245
- var step;
1296
+ var step = void 0;
1246
1297
  var ii = 0;
1247
1298
  while (!(step = iterator.next()).done) {
1248
1299
  child = step.value;
@@ -1429,18 +1480,85 @@
1429
1480
  return children;
1430
1481
  }
1431
1482
 
1483
+ function createContext(defaultValue, calculateChangedBits) {
1484
+ if (calculateChangedBits === undefined) {
1485
+ calculateChangedBits = null;
1486
+ } else {
1487
+ {
1488
+ !(calculateChangedBits === null || typeof calculateChangedBits === 'function') ? warning(false, 'createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits) : void 0;
1489
+ }
1490
+ }
1491
+
1492
+ var context = {
1493
+ $$typeof: REACT_CONTEXT_TYPE,
1494
+ _calculateChangedBits: calculateChangedBits,
1495
+ _defaultValue: defaultValue,
1496
+ _currentValue: defaultValue,
1497
+ _changedBits: 0,
1498
+ // These are circular
1499
+ Provider: null,
1500
+ Consumer: null
1501
+ };
1502
+
1503
+ context.Provider = {
1504
+ $$typeof: REACT_PROVIDER_TYPE,
1505
+ _context: context
1506
+ };
1507
+ context.Consumer = context;
1508
+
1509
+ {
1510
+ context._currentRenderer = null;
1511
+ }
1512
+
1513
+ return context;
1514
+ }
1515
+
1516
+ function forwardRef(render) {
1517
+ {
1518
+ !(typeof render === 'function') ? warning(false, 'forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render) : void 0;
1519
+ }
1520
+
1521
+ return {
1522
+ $$typeof: REACT_FORWARD_REF_TYPE,
1523
+ render: render
1524
+ };
1525
+ }
1526
+
1432
1527
  var describeComponentFrame = function (name, source, ownerName) {
1433
1528
  return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');
1434
1529
  };
1435
1530
 
1531
+ function isValidElementType(type) {
1532
+ return typeof type === 'string' || typeof type === 'function' ||
1533
+ // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
1534
+ type === REACT_FRAGMENT_TYPE || type === REACT_ASYNC_MODE_TYPE || type === REACT_STRICT_MODE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);
1535
+ }
1536
+
1436
1537
  function getComponentName(fiber) {
1437
1538
  var type = fiber.type;
1438
1539
 
1540
+ if (typeof type === 'function') {
1541
+ return type.displayName || type.name;
1542
+ }
1439
1543
  if (typeof type === 'string') {
1440
1544
  return type;
1441
1545
  }
1442
- if (typeof type === 'function') {
1443
- return type.displayName || type.name;
1546
+ switch (type) {
1547
+ case REACT_FRAGMENT_TYPE:
1548
+ return 'ReactFragment';
1549
+ case REACT_PORTAL_TYPE:
1550
+ return 'ReactPortal';
1551
+ case REACT_CALL_TYPE:
1552
+ return 'ReactCall';
1553
+ case REACT_RETURN_TYPE:
1554
+ return 'ReactReturn';
1555
+ }
1556
+ if (typeof type === 'object' && type !== null) {
1557
+ switch (type.$$typeof) {
1558
+ case REACT_FORWARD_REF_TYPE:
1559
+ var functionName = type.render.displayName || type.render.name || '';
1560
+ return functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef';
1561
+ }
1444
1562
  }
1445
1563
  return null;
1446
1564
  }
@@ -1452,12 +1570,18 @@
1452
1570
  * that support it.
1453
1571
  */
1454
1572
 
1573
+ var currentlyValidatingElement = void 0;
1574
+ var propTypesMisspellWarningShown = void 0;
1575
+
1576
+ var getDisplayName = function () {};
1577
+ var getStackAddendum = function () {};
1578
+
1455
1579
  {
1456
- var currentlyValidatingElement = null;
1580
+ currentlyValidatingElement = null;
1457
1581
 
1458
- var propTypesMisspellWarningShown = false;
1582
+ propTypesMisspellWarningShown = false;
1459
1583
 
1460
- var getDisplayName = function (element) {
1584
+ getDisplayName = function (element) {
1461
1585
  if (element == null) {
1462
1586
  return '#empty';
1463
1587
  } else if (typeof element === 'string' || typeof element === 'number') {
@@ -1471,7 +1595,7 @@
1471
1595
  }
1472
1596
  };
1473
1597
 
1474
- var getStackAddendum = function () {
1598
+ getStackAddendum = function () {
1475
1599
  var stack = '';
1476
1600
  if (currentlyValidatingElement) {
1477
1601
  var name = getDisplayName(currentlyValidatingElement);
@@ -1481,8 +1605,6 @@
1481
1605
  stack += ReactDebugCurrentFrame.getStackAddendum() || '';
1482
1606
  return stack;
1483
1607
  };
1484
-
1485
- var VALID_FRAGMENT_PROPS = new Map([['children', true], ['key', true]]);
1486
1608
  }
1487
1609
 
1488
1610
  function getDeclarationErrorAddendum() {
@@ -1595,7 +1717,7 @@
1595
1717
  // but now we print a separate warning for them later.
1596
1718
  if (iteratorFn !== node.entries) {
1597
1719
  var iterator = iteratorFn.call(node);
1598
- var step;
1720
+ var step = void 0;
1599
1721
  while (!(step = iterator.next()).done) {
1600
1722
  if (isValidElement(step.value)) {
1601
1723
  validateExplicitKey(step.value, parentType);
@@ -1628,7 +1750,7 @@
1628
1750
  warning(false, 'Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');
1629
1751
  }
1630
1752
  if (typeof componentClass.getDefaultProps === 'function') {
1631
- warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');
1753
+ !componentClass.getDefaultProps.isReactClassApproved ? warning(false, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0;
1632
1754
  }
1633
1755
  }
1634
1756
 
@@ -1639,31 +1761,12 @@
1639
1761
  function validateFragmentProps(fragment) {
1640
1762
  currentlyValidatingElement = fragment;
1641
1763
 
1642
- var _iteratorNormalCompletion = true;
1643
- var _didIteratorError = false;
1644
- var _iteratorError = undefined;
1645
-
1646
- try {
1647
- for (var _iterator = Object.keys(fragment.props)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1648
- var key = _step.value;
1649
-
1650
- if (!VALID_FRAGMENT_PROPS.has(key)) {
1651
- warning(false, 'Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.%s', key, getStackAddendum());
1652
- break;
1653
- }
1654
- }
1655
- } catch (err) {
1656
- _didIteratorError = true;
1657
- _iteratorError = err;
1658
- } finally {
1659
- try {
1660
- if (!_iteratorNormalCompletion && _iterator['return']) {
1661
- _iterator['return']();
1662
- }
1663
- } finally {
1664
- if (_didIteratorError) {
1665
- throw _iteratorError;
1666
- }
1764
+ var keys = Object.keys(fragment.props);
1765
+ for (var i = 0; i < keys.length; i++) {
1766
+ var key = keys[i];
1767
+ if (key !== 'children' && key !== 'key') {
1768
+ warning(false, 'Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.%s', key, getStackAddendum());
1769
+ break;
1667
1770
  }
1668
1771
  }
1669
1772
 
@@ -1675,7 +1778,8 @@
1675
1778
  }
1676
1779
 
1677
1780
  function createElementWithValidation(type, props, children) {
1678
- var validType = typeof type === 'string' || typeof type === 'function' || typeof type === 'symbol' || typeof type === 'number';
1781
+ var validType = isValidElementType(type);
1782
+
1679
1783
  // We warn in this case but don't throw. We expect the element creation to
1680
1784
  // succeed and there will likely be errors in render.
1681
1785
  if (!validType) {
@@ -1693,7 +1797,16 @@
1693
1797
 
1694
1798
  info += getStackAddendum() || '';
1695
1799
 
1696
- warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', type == null ? type : typeof type, info);
1800
+ var typeString = void 0;
1801
+ if (type === null) {
1802
+ typeString = 'null';
1803
+ } else if (Array.isArray(type)) {
1804
+ typeString = 'array';
1805
+ } else {
1806
+ typeString = typeof type;
1807
+ }
1808
+
1809
+ warning(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);
1697
1810
  }
1698
1811
 
1699
1812
  var element = createElement.apply(this, arguments);
@@ -1715,7 +1828,7 @@
1715
1828
  }
1716
1829
  }
1717
1830
 
1718
- if (typeof type === 'symbol' && type === REACT_FRAGMENT_TYPE) {
1831
+ if (type === REACT_FRAGMENT_TYPE) {
1719
1832
  validateFragmentProps(element);
1720
1833
  } else {
1721
1834
  validatePropTypes(element);
@@ -1726,9 +1839,8 @@
1726
1839
 
1727
1840
  function createFactoryWithValidation(type) {
1728
1841
  var validatedFactory = createElementWithValidation.bind(null, type);
1729
- // Legacy hook TODO: Warn if this is accessed
1730
1842
  validatedFactory.type = type;
1731
-
1843
+ // Legacy hook: remove it
1732
1844
  {
1733
1845
  Object.defineProperty(validatedFactory, 'type', {
1734
1846
  enumerable: false,
@@ -1763,11 +1875,16 @@
1763
1875
  only: onlyChild
1764
1876
  },
1765
1877
 
1878
+ createRef: createRef,
1766
1879
  Component: Component,
1767
1880
  PureComponent: PureComponent,
1768
- unstable_AsyncComponent: AsyncComponent,
1881
+
1882
+ createContext: createContext,
1883
+ forwardRef: forwardRef,
1769
1884
 
1770
1885
  Fragment: REACT_FRAGMENT_TYPE,
1886
+ StrictMode: REACT_STRICT_MODE_TYPE,
1887
+ unstable_AsyncMode: REACT_ASYNC_MODE_TYPE,
1771
1888
 
1772
1889
  createElement: createElementWithValidation,
1773
1890
  cloneElement: cloneElementWithValidation,
@@ -1811,65 +1928,6 @@
1811
1928
 
1812
1929
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
1813
1930
 
1814
- /***/ }),
1815
- /* 8 */
1816
- /***/ (function(module, exports, __webpack_require__) {
1817
-
1818
- /* WEBPACK VAR INJECTION */(function(process) {/**
1819
- * Copyright (c) 2013-present, Facebook, Inc.
1820
- *
1821
- * This source code is licensed under the MIT license found in the
1822
- * LICENSE file in the root directory of this source tree.
1823
- *
1824
- */
1825
-
1826
- 'use strict';
1827
-
1828
- /**
1829
- * Use invariant() to assert state which your program assumes to be true.
1830
- *
1831
- * Provide sprintf-style format (only %s is supported) and arguments
1832
- * to provide information about what broke and what you were
1833
- * expecting.
1834
- *
1835
- * The invariant message will be stripped in production, but the invariant
1836
- * will remain to ensure logic does not differ in production.
1837
- */
1838
-
1839
- var validateFormat = function validateFormat(format) {};
1840
-
1841
- if (process.env.NODE_ENV !== 'production') {
1842
- validateFormat = function validateFormat(format) {
1843
- if (format === undefined) {
1844
- throw new Error('invariant requires an error message argument');
1845
- }
1846
- };
1847
- }
1848
-
1849
- function invariant(condition, format, a, b, c, d, e, f) {
1850
- validateFormat(format);
1851
-
1852
- if (!condition) {
1853
- var error;
1854
- if (format === undefined) {
1855
- error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
1856
- } else {
1857
- var args = [a, b, c, d, e, f];
1858
- var argIndex = 0;
1859
- error = new Error(format.replace(/%s/g, function () {
1860
- return args[argIndex++];
1861
- }));
1862
- error.name = 'Invariant Violation';
1863
- }
1864
-
1865
- error.framesToPop = 1; // we don't care about invariant's own frame
1866
- throw error;
1867
- }
1868
- }
1869
-
1870
- module.exports = invariant;
1871
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
1872
-
1873
1931
  /***/ }),
1874
1932
  /* 9 */
1875
1933
  /***/ (function(module, exports, __webpack_require__) {
@@ -1884,7 +1942,7 @@
1884
1942
 
1885
1943
  'use strict';
1886
1944
 
1887
- var emptyFunction = __webpack_require__(6);
1945
+ var emptyFunction = __webpack_require__(7);
1888
1946
 
1889
1947
  /**
1890
1948
  * Similar to invariant but only logs a warning if the condition is not met.
@@ -1951,11 +2009,24 @@
1951
2009
 
1952
2010
  'use strict';
1953
2011
 
2012
+ var printWarning = function() {};
2013
+
1954
2014
  if (process.env.NODE_ENV !== 'production') {
1955
- var invariant = __webpack_require__(8);
1956
- var warning = __webpack_require__(9);
1957
2015
  var ReactPropTypesSecret = __webpack_require__(11);
1958
2016
  var loggedTypeFailures = {};
2017
+
2018
+ printWarning = function(text) {
2019
+ var message = 'Warning: ' + text;
2020
+ if (typeof console !== 'undefined') {
2021
+ console.error(message);
2022
+ }
2023
+ try {
2024
+ // --- Welcome to debugging React ---
2025
+ // This error was thrown as a convenience so that you can use this stack
2026
+ // to find the callsite that caused this warning to fire.
2027
+ throw new Error(message);
2028
+ } catch (x) {}
2029
+ };
1959
2030
  }
1960
2031
 
1961
2032
  /**
@@ -1980,12 +2051,29 @@
1980
2051
  try {
1981
2052
  // This is intentionally an invariant that gets caught. It's the same
1982
2053
  // behavior as without this statement except with a better message.
1983
- 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]);
2054
+ if (typeof typeSpecs[typeSpecName] !== 'function') {
2055
+ var err = Error(
2056
+ (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
2057
+ 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
2058
+ );
2059
+ err.name = 'Invariant Violation';
2060
+ throw err;
2061
+ }
1984
2062
  error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
1985
2063
  } catch (ex) {
1986
2064
  error = ex;
1987
2065
  }
1988
- 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);
2066
+ if (error && !(error instanceof Error)) {
2067
+ printWarning(
2068
+ (componentName || 'React class') + ': type specification of ' +
2069
+ location + ' `' + typeSpecName + '` is invalid; the type checker ' +
2070
+ 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
2071
+ 'You may have forgotten to pass an argument to the type checker ' +
2072
+ 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
2073
+ 'shape all require an argument).'
2074
+ )
2075
+
2076
+ }
1989
2077
  if (error instanceof Error && !(error.message in loggedTypeFailures)) {
1990
2078
  // Only monitor this failure once because there tends to be a lot of the
1991
2079
  // same error.
@@ -1993,7 +2081,9 @@
1993
2081
 
1994
2082
  var stack = getStack ? getStack() : '';
1995
2083
 
1996
- warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
2084
+ printWarning(
2085
+ 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
2086
+ );
1997
2087
  }
1998
2088
  }
1999
2089
  }
@@ -2032,9 +2122,7 @@
2032
2122
  /* 18 */,
2033
2123
  /* 19 */,
2034
2124
  /* 20 */,
2035
- /* 21 */,
2036
- /* 22 */,
2037
- /* 23 */
2125
+ /* 21 */
2038
2126
  /***/ (function(module, exports, __webpack_require__) {
2039
2127
 
2040
2128
  /**
@@ -2048,7 +2136,7 @@
2048
2136
 
2049
2137
  'use strict';
2050
2138
 
2051
- var hyphenate = __webpack_require__(24);
2139
+ var hyphenate = __webpack_require__(22);
2052
2140
 
2053
2141
  var msPattern = /^ms-/;
2054
2142
 
@@ -2075,7 +2163,7 @@
2075
2163
  module.exports = hyphenateStyleName;
2076
2164
 
2077
2165
  /***/ }),
2078
- /* 24 */
2166
+ /* 22 */
2079
2167
  /***/ (function(module, exports) {
2080
2168
 
2081
2169
  'use strict';
@@ -2110,7 +2198,7 @@
2110
2198
  module.exports = hyphenate;
2111
2199
 
2112
2200
  /***/ }),
2113
- /* 25 */
2201
+ /* 23 */
2114
2202
  /***/ (function(module, exports, __webpack_require__) {
2115
2203
 
2116
2204
  /**
@@ -2124,7 +2212,7 @@
2124
2212
 
2125
2213
  'use strict';
2126
2214
 
2127
- var camelize = __webpack_require__(26);
2215
+ var camelize = __webpack_require__(24);
2128
2216
 
2129
2217
  var msPattern = /^-ms-/;
2130
2218
 
@@ -2152,7 +2240,7 @@
2152
2240
  module.exports = camelizeStyleName;
2153
2241
 
2154
2242
  /***/ }),
2155
- /* 26 */
2243
+ /* 24 */
2156
2244
  /***/ (function(module, exports) {
2157
2245
 
2158
2246
  "use strict";
@@ -2186,7 +2274,7 @@
2186
2274
  module.exports = camelize;
2187
2275
 
2188
2276
  /***/ }),
2189
- /* 27 */
2277
+ /* 25 */
2190
2278
  /***/ (function(module, exports, __webpack_require__) {
2191
2279
 
2192
2280
  /**
@@ -2200,7 +2288,7 @@
2200
2288
  'use strict';
2201
2289
 
2202
2290
  var React = __webpack_require__(1);
2203
- var factory = __webpack_require__(28);
2291
+ var factory = __webpack_require__(26);
2204
2292
 
2205
2293
  if (typeof React === 'undefined') {
2206
2294
  throw Error(
@@ -2220,7 +2308,7 @@
2220
2308
 
2221
2309
 
2222
2310
  /***/ }),
2223
- /* 28 */
2311
+ /* 26 */
2224
2312
  /***/ (function(module, exports, __webpack_require__) {
2225
2313
 
2226
2314
  /* WEBPACK VAR INJECTION */(function(process) {/**
@@ -2235,8 +2323,8 @@
2235
2323
 
2236
2324
  var _assign = __webpack_require__(4);
2237
2325
 
2238
- var emptyObject = __webpack_require__(5);
2239
- var _invariant = __webpack_require__(8);
2326
+ var emptyObject = __webpack_require__(6);
2327
+ var _invariant = __webpack_require__(5);
2240
2328
 
2241
2329
  if (process.env.NODE_ENV !== 'production') {
2242
2330
  var warning = __webpack_require__(9);
@@ -3153,7 +3241,7 @@
3153
3241
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
3154
3242
 
3155
3243
  /***/ }),
3156
- /* 29 */
3244
+ /* 27 */
3157
3245
  /***/ (function(module, exports, __webpack_require__) {
3158
3246
 
3159
3247
  /* WEBPACK VAR INJECTION */(function(process) {/**
@@ -3178,17 +3266,17 @@
3178
3266
  // By explicitly using `prop-types` you are opting into new development behavior.
3179
3267
  // http://fb.me/prop-types-in-prod
3180
3268
  var throwOnDirectAccess = true;
3181
- module.exports = __webpack_require__(30)(isValidElement, throwOnDirectAccess);
3269
+ module.exports = __webpack_require__(28)(isValidElement, throwOnDirectAccess);
3182
3270
  } else {
3183
3271
  // By explicitly using `prop-types` you are opting into new production behavior.
3184
3272
  // http://fb.me/prop-types-in-prod
3185
- module.exports = __webpack_require__(31)();
3273
+ module.exports = __webpack_require__(29)();
3186
3274
  }
3187
3275
 
3188
3276
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
3189
3277
 
3190
3278
  /***/ }),
3191
- /* 30 */
3279
+ /* 28 */
3192
3280
  /***/ (function(module, exports, __webpack_require__) {
3193
3281
 
3194
3282
  /* WEBPACK VAR INJECTION */(function(process) {/**
@@ -3200,14 +3288,32 @@
3200
3288
 
3201
3289
  'use strict';
3202
3290
 
3203
- var emptyFunction = __webpack_require__(6);
3204
- var invariant = __webpack_require__(8);
3205
- var warning = __webpack_require__(9);
3206
3291
  var assign = __webpack_require__(4);
3207
3292
 
3208
3293
  var ReactPropTypesSecret = __webpack_require__(11);
3209
3294
  var checkPropTypes = __webpack_require__(10);
3210
3295
 
3296
+ var printWarning = function() {};
3297
+
3298
+ if (process.env.NODE_ENV !== 'production') {
3299
+ printWarning = function(text) {
3300
+ var message = 'Warning: ' + text;
3301
+ if (typeof console !== 'undefined') {
3302
+ console.error(message);
3303
+ }
3304
+ try {
3305
+ // --- Welcome to debugging React ---
3306
+ // This error was thrown as a convenience so that you can use this stack
3307
+ // to find the callsite that caused this warning to fire.
3308
+ throw new Error(message);
3309
+ } catch (x) {}
3310
+ };
3311
+ }
3312
+
3313
+ function emptyFunctionThatReturnsNull() {
3314
+ return null;
3315
+ }
3316
+
3211
3317
  module.exports = function(isValidElement, throwOnDirectAccess) {
3212
3318
  /* global Symbol */
3213
3319
  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
@@ -3350,12 +3456,13 @@
3350
3456
  if (secret !== ReactPropTypesSecret) {
3351
3457
  if (throwOnDirectAccess) {
3352
3458
  // New behavior only for users of `prop-types` package
3353
- invariant(
3354
- false,
3459
+ var err = new Error(
3355
3460
  'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
3356
3461
  'Use `PropTypes.checkPropTypes()` to call them. ' +
3357
3462
  'Read more at http://fb.me/use-check-prop-types'
3358
3463
  );
3464
+ err.name = 'Invariant Violation';
3465
+ throw err;
3359
3466
  } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {
3360
3467
  // Old behavior for people using React.PropTypes
3361
3468
  var cacheKey = componentName + ':' + propName;
@@ -3364,15 +3471,12 @@
3364
3471
  // Avoid spamming the console because they are often not actionable except for lib authors
3365
3472
  manualPropTypeWarningCount < 3
3366
3473
  ) {
3367
- warning(
3368
- false,
3474
+ printWarning(
3369
3475
  'You are manually calling a React.PropTypes validation ' +
3370
- 'function for the `%s` prop on `%s`. This is deprecated ' +
3476
+ 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
3371
3477
  'and will throw in the standalone `prop-types` package. ' +
3372
3478
  'You may be seeing this warning due to a third-party PropTypes ' +
3373
- 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
3374
- propFullName,
3375
- componentName
3479
+ 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
3376
3480
  );
3377
3481
  manualPropTypeCallCache[cacheKey] = true;
3378
3482
  manualPropTypeWarningCount++;
@@ -3416,7 +3520,7 @@
3416
3520
  }
3417
3521
 
3418
3522
  function createAnyTypeChecker() {
3419
- return createChainableTypeChecker(emptyFunction.thatReturnsNull);
3523
+ return createChainableTypeChecker(emptyFunctionThatReturnsNull);
3420
3524
  }
3421
3525
 
3422
3526
  function createArrayOfTypeChecker(typeChecker) {
@@ -3466,8 +3570,8 @@
3466
3570
 
3467
3571
  function createEnumTypeChecker(expectedValues) {
3468
3572
  if (!Array.isArray(expectedValues)) {
3469
- process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
3470
- return emptyFunction.thatReturnsNull;
3573
+ process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : void 0;
3574
+ return emptyFunctionThatReturnsNull;
3471
3575
  }
3472
3576
 
3473
3577
  function validate(props, propName, componentName, location, propFullName) {
@@ -3509,21 +3613,18 @@
3509
3613
 
3510
3614
  function createUnionTypeChecker(arrayOfTypeCheckers) {
3511
3615
  if (!Array.isArray(arrayOfTypeCheckers)) {
3512
- process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
3513
- return emptyFunction.thatReturnsNull;
3616
+ process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;
3617
+ return emptyFunctionThatReturnsNull;
3514
3618
  }
3515
3619
 
3516
3620
  for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
3517
3621
  var checker = arrayOfTypeCheckers[i];
3518
3622
  if (typeof checker !== 'function') {
3519
- warning(
3520
- false,
3623
+ printWarning(
3521
3624
  'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
3522
- 'received %s at index %s.',
3523
- getPostfixForTypeWarning(checker),
3524
- i
3625
+ 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
3525
3626
  );
3526
- return emptyFunction.thatReturnsNull;
3627
+ return emptyFunctionThatReturnsNull;
3527
3628
  }
3528
3629
  }
3529
3630
 
@@ -3737,7 +3838,7 @@
3737
3838
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
3738
3839
 
3739
3840
  /***/ }),
3740
- /* 31 */
3841
+ /* 29 */
3741
3842
  /***/ (function(module, exports, __webpack_require__) {
3742
3843
 
3743
3844
  /**
@@ -3749,22 +3850,23 @@
3749
3850
 
3750
3851
  'use strict';
3751
3852
 
3752
- var emptyFunction = __webpack_require__(6);
3753
- var invariant = __webpack_require__(8);
3754
3853
  var ReactPropTypesSecret = __webpack_require__(11);
3755
3854
 
3855
+ function emptyFunction() {}
3856
+
3756
3857
  module.exports = function() {
3757
3858
  function shim(props, propName, componentName, location, propFullName, secret) {
3758
3859
  if (secret === ReactPropTypesSecret) {
3759
3860
  // It is still safe when called from React.
3760
3861
  return;
3761
3862
  }
3762
- invariant(
3763
- false,
3863
+ var err = new Error(
3764
3864
  'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
3765
3865
  'Use PropTypes.checkPropTypes() to call them. ' +
3766
3866
  'Read more at http://fb.me/use-check-prop-types'
3767
3867
  );
3868
+ err.name = 'Invariant Violation';
3869
+ throw err;
3768
3870
  };
3769
3871
  shim.isRequired = shim;
3770
3872
  function getShim() {
@@ -3801,24 +3903,24 @@
3801
3903
 
3802
3904
 
3803
3905
  /***/ }),
3804
- /* 32 */
3906
+ /* 30 */
3805
3907
  /***/ (function(module, exports, __webpack_require__) {
3806
3908
 
3807
3909
  /* WEBPACK VAR INJECTION */(function(process) {'use strict';
3808
3910
 
3809
3911
  if (process.env.NODE_ENV === 'production') {
3810
- module.exports = __webpack_require__(33);
3912
+ module.exports = __webpack_require__(31);
3811
3913
  } else {
3812
- module.exports = __webpack_require__(35);
3914
+ module.exports = __webpack_require__(33);
3813
3915
  }
3814
3916
 
3815
3917
  /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(2)))
3816
3918
 
3817
3919
  /***/ }),
3818
- /* 33 */
3920
+ /* 31 */
3819
3921
  /***/ (function(module, exports, __webpack_require__) {
3820
3922
 
3821
- /** @license React v16.2.0
3923
+ /** @license React v16.3.2
3822
3924
  * react-dom-server.browser.production.min.js
3823
3925
  *
3824
3926
  * Copyright (c) 2013-present, Facebook, Inc.
@@ -3827,43 +3929,42 @@
3827
3929
  * LICENSE file in the root directory of this source tree.
3828
3930
  */
3829
3931
 
3830
- 'use strict';var h=__webpack_require__(4),n=__webpack_require__(1),aa=__webpack_require__(6),t=__webpack_require__(5),ba=__webpack_require__(23),ca=__webpack_require__(34);
3831
- function w(a){for(var b=arguments.length-1,g="Minified React error #"+a+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\x3d"+a,c=0;c<b;c++)g+="\x26args[]\x3d"+encodeURIComponent(arguments[c+1]);b=Error(g+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.");b.name="Invariant Violation";b.framesToPop=1;throw b;}
3832
- var x={children:!0,dangerouslySetInnerHTML:!0,defaultValue:!0,defaultChecked:!0,innerHTML:!0,suppressContentEditableWarning:!0,suppressHydrationWarning:!0,style:!0};function z(a,b){return(a&b)===b}
3833
- var B={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,HAS_STRING_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(a){var b=B,g=a.Properties||{},c=a.DOMAttributeNamespaces||{},k=a.DOMAttributeNames||{};a=a.DOMMutationMethods||{};for(var f in g){C.hasOwnProperty(f)?w("48",f):void 0;var e=f.toLowerCase(),d=g[f];e={attributeName:e,attributeNamespace:null,propertyName:f,mutationMethod:null,mustUseProperty:z(d,b.MUST_USE_PROPERTY),
3834
- hasBooleanValue:z(d,b.HAS_BOOLEAN_VALUE),hasNumericValue:z(d,b.HAS_NUMERIC_VALUE),hasPositiveNumericValue:z(d,b.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:z(d,b.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:z(d,b.HAS_STRING_BOOLEAN_VALUE)};1>=e.hasBooleanValue+e.hasNumericValue+e.hasOverloadedBooleanValue?void 0:w("50",f);k.hasOwnProperty(f)&&(e.attributeName=k[f]);c.hasOwnProperty(f)&&(e.attributeNamespace=c[f]);a.hasOwnProperty(f)&&(e.mutationMethod=a[f]);C[f]=e}}},C={};
3835
- function da(a,b){if(x.hasOwnProperty(a)||2<a.length&&("o"===a[0]||"O"===a[0])&&("n"===a[1]||"N"===a[1]))return!1;if(null===b)return!0;switch(typeof b){case "boolean":return D(a);case "undefined":case "number":case "string":case "object":return!0;default:return!1}}function E(a){return C.hasOwnProperty(a)?C[a]:null}
3836
- function D(a){if(x.hasOwnProperty(a))return!0;var b=E(a);if(b)return b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue;a=a.toLowerCase().slice(0,5);return"data-"===a||"aria-"===a}
3837
- var F=B,G=F.MUST_USE_PROPERTY,H=F.HAS_BOOLEAN_VALUE,I=F.HAS_NUMERIC_VALUE,J=F.HAS_POSITIVE_NUMERIC_VALUE,K=F.HAS_OVERLOADED_BOOLEAN_VALUE,L=F.HAS_STRING_BOOLEAN_VALUE,ea={Properties:{allowFullScreen:H,async:H,autoFocus:H,autoPlay:H,capture:K,checked:G|H,cols:J,contentEditable:L,controls:H,"default":H,defer:H,disabled:H,download:K,draggable:L,formNoValidate:H,hidden:H,loop:H,multiple:G|H,muted:G|H,noValidate:H,open:H,playsInline:H,readOnly:H,required:H,reversed:H,rows:J,rowSpan:I,scoped:H,seamless:H,
3838
- selected:G|H,size:J,start:I,span:J,spellCheck:L,style:0,tabIndex:0,itemScope:H,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:L},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMMutationMethods:{value:function(a,b){if(null==b)return a.removeAttribute("value");"number"!==a.type||!1===a.hasAttribute("value")?a.setAttribute("value",""+b):a.validity&&!a.validity.badInput&&a.ownerDocument.activeElement!==a&&a.setAttribute("value",""+
3839
- b)}}},M=F.HAS_STRING_BOOLEAN_VALUE,N={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},O={Properties:{autoReverse:M,externalResourcesRequired:M,preserveAlpha:M},DOMAttributeNames:{autoReverse:"autoReverse",externalResourcesRequired:"externalResourcesRequired",preserveAlpha:"preserveAlpha"},DOMAttributeNamespaces:{xlinkActuate:N.xlink,xlinkArcrole:N.xlink,xlinkHref:N.xlink,xlinkRole:N.xlink,xlinkShow:N.xlink,xlinkTitle:N.xlink,xlinkType:N.xlink,xmlBase:N.xml,xmlLang:N.xml,
3840
- xmlSpace:N.xml}},fa=/[\-\:]([a-z])/g;function ha(a){return a[1].toUpperCase()}
3841
- "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space".split(" ").forEach(function(a){var b=a.replace(fa,
3842
- ha);O.Properties[b]=0;O.DOMAttributeNames[b]=a});F.injectDOMPropertyConfig(ea);F.injectDOMPropertyConfig(O);var P="function"===typeof Symbol&&Symbol["for"]?Symbol["for"]("react.fragment"):60107,ia=/["'&<>]/;
3843
- function Q(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=ia.exec(a);if(b){var g="",c,k=0;for(c=b.index;c<a.length;c++){switch(a.charCodeAt(c)){case 34:b="\x26quot;";break;case 38:b="\x26amp;";break;case 39:b="\x26#x27;";break;case 60:b="\x26lt;";break;case 62:b="\x26gt;";break;default:continue}k!==c&&(g+=a.substring(k,c));k=c+1;g+=b}a=k!==c?g+a.substring(k,c):g}return a}
3844
- var ja=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,R={},S={};function ka(a){if(S.hasOwnProperty(a))return!0;if(R.hasOwnProperty(a))return!1;if(ja.test(a))return S[a]=!0;R[a]=!0;return!1}
3845
- function la(a,b){var g=E(a);if(g){if(null==b||g.hasBooleanValue&&!b||g.hasNumericValue&&isNaN(b)||g.hasPositiveNumericValue&&1>b||g.hasOverloadedBooleanValue&&!1===b)return"";var c=g.attributeName;if(g.hasBooleanValue||g.hasOverloadedBooleanValue&&!0===b)return c+'\x3d""';if("boolean"!==typeof b||D(a))return c+"\x3d"+('"'+Q(b)+'"')}else if(da(a,b))return null==b?"":a+"\x3d"+('"'+Q(b)+'"');return null}var T={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};
3846
- function U(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}
3847
- var V={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},ma=h({menuitem:!0},V),W={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,
3848
- fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},na=["Webkit","ms","Moz","O"];Object.keys(W).forEach(function(a){na.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);W[b]=W[a]})});var X=n.Children.toArray,Y=aa.thatReturns(""),oa={listing:!0,pre:!0,textarea:!0};
3849
- function pa(a){return"string"===typeof a?a:"function"===typeof a?a.displayName||a.name:null}var qa=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,ra={},sa=ca(function(a){return ba(a)});function ta(a){var b="";n.Children.forEach(a,function(a){null==a||"string"!==typeof a&&"number"!==typeof a||(b+=a)});return b}function ua(a,b){if(a=a.contextTypes){var g={},c;for(c in a)g[c]=b[c];b=g}else b=t;return b}var va={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null,suppressHydrationWarning:null};
3850
- function wa(a,b){void 0===a&&w("152",pa(b)||"Component")}
3851
- function xa(a,b){for(;n.isValidElement(a);){var g=a,c=g.type;if("function"!==typeof c)break;a=ua(c,b);var k=[],f=!1,e={isMounted:function(){return!1},enqueueForceUpdate:function(){if(null===k)return null},enqueueReplaceState:function(a,b){f=!0;k=[b]},enqueueSetState:function(a,b){if(null===k)return null;k.push(b)}};if(c.prototype&&c.prototype.isReactComponent)var d=new c(g.props,a,e);else if(d=c(g.props,a,e),null==d||null==d.render){a=d;wa(a,c);continue}d.props=g.props;d.context=a;d.updater=e;e=d.state;
3852
- void 0===e&&(d.state=e=null);if(d.componentWillMount)if(d.componentWillMount(),k.length){e=k;var p=f;k=null;f=!1;if(p&&1===e.length)d.state=e[0];else{var q=p?e[0]:d.state,l=!0;for(p=p?1:0;p<e.length;p++){var m=e[p];if(m="function"===typeof m?m.call(d,q,g.props,a):m)l?(l=!1,q=h({},q,m)):h(q,m)}d.state=q}}else k=null;a=d.render();wa(a,c);if("function"===typeof d.getChildContext&&(g=c.childContextTypes,"object"===typeof g)){var A=d.getChildContext();for(var y in A)y in g?void 0:w("108",pa(c)||"Unknown",
3853
- y)}A&&(b=h({},b,A))}return{child:a,context:b}}
3854
- var ya=function(){function a(b,g){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");n.isValidElement(b)?b.type!==P?b=[b]:(b=b.props.children,b=n.isValidElement(b)?[b]:X(b)):b=X(b);this.stack=[{domNamespace:T.html,children:b,childIndex:0,context:t,footer:""}];this.exhausted=!1;this.currentSelectValue=null;this.previousWasTextNode=!1;this.makeStaticMarkup=g}a.prototype.read=function(a){if(this.exhausted)return null;for(var b="";b.length<a;){if(0===this.stack.length){this.exhausted=
3855
- !0;break}var c=this.stack[this.stack.length-1];if(c.childIndex>=c.children.length){var k=c.footer;b+=k;""!==k&&(this.previousWasTextNode=!1);this.stack.pop();"select"===c.tag&&(this.currentSelectValue=null)}else k=c.children[c.childIndex++],b+=this.render(k,c.context,c.domNamespace)}return b};a.prototype.render=function(a,g,c){if("string"===typeof a||"number"===typeof a){c=""+a;if(""===c)return"";if(this.makeStaticMarkup)return Q(c);if(this.previousWasTextNode)return"\x3c!-- --\x3e"+Q(c);this.previousWasTextNode=
3856
- !0;return Q(c)}g=xa(a,g);a=g.child;g=g.context;if(null===a||!1===a)return"";if(n.isValidElement(a))return a.type===P?(a=X(a.props.children),this.stack.push({domNamespace:c,children:a,childIndex:0,context:g,footer:""}),""):this.renderDOM(a,g,c);a=X(a);this.stack.push({domNamespace:c,children:a,childIndex:0,context:g,footer:""});return""};a.prototype.renderDOM=function(a,g,c){var b=a.type.toLowerCase();c===T.html&&U(b);ra.hasOwnProperty(b)||(qa.test(b)?void 0:w("65",b),ra[b]=!0);var f=a.props;if("input"===
3857
- b)f=h({type:void 0},f,{defaultChecked:void 0,defaultValue:void 0,value:null!=f.value?f.value:f.defaultValue,checked:null!=f.checked?f.checked:f.defaultChecked});else if("textarea"===b){var e=f.value;if(null==e){e=f.defaultValue;var d=f.children;null!=d&&(null!=e?w("92"):void 0,Array.isArray(d)&&(1>=d.length?void 0:w("93"),d=d[0]),e=""+d);null==e&&(e="")}f=h({},f,{value:void 0,children:""+e})}else if("select"===b)this.currentSelectValue=null!=f.value?f.value:f.defaultValue,f=h({},f,{value:void 0});
3858
- else if("option"===b){d=this.currentSelectValue;var p=ta(f.children);if(null!=d){var q=null!=f.value?f.value+"":p;e=!1;if(Array.isArray(d))for(var l=0;l<d.length;l++){if(""+d[l]===q){e=!0;break}}else e=""+d===q;f=h({selected:void 0,children:void 0},f,{selected:e,children:p})}}if(e=f)ma[b]&&(null!=e.children||null!=e.dangerouslySetInnerHTML?w("137",b,Y()):void 0),null!=e.dangerouslySetInnerHTML&&(null!=e.children?w("60"):void 0,"object"===typeof e.dangerouslySetInnerHTML&&"__html"in e.dangerouslySetInnerHTML?
3859
- void 0:w("61")),null!=e.style&&"object"!==typeof e.style?w("62",Y()):void 0;e=f;d=this.makeStaticMarkup;p=1===this.stack.length;q="\x3c"+a.type;for(r in e)if(e.hasOwnProperty(r)){var m=e[r];if(null!=m){if("style"===r){l=void 0;var A="",y="";for(l in m)if(m.hasOwnProperty(l)){var u=0===l.indexOf("--"),v=m[l];null!=v&&(A+=y+sa(l)+":",y=l,u=null==v||"boolean"===typeof v||""===v?"":u||"number"!==typeof v||0===v||W.hasOwnProperty(y)&&W[y]?(""+v).trim():v+"px",A+=u,y=";")}m=A||null}l=null;b:if(u=b,v=e,
3860
- -1===u.indexOf("-"))u="string"===typeof v.is;else switch(u){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":u=!1;break b;default:u=!0}u?va.hasOwnProperty(r)||(l=r,l=ka(l)&&null!=m?l+"\x3d"+('"'+Q(m)+'"'):""):l=la(r,m);l&&(q+=" "+l)}}d||p&&(q+=' data-reactroot\x3d""');var r=q;e="";V.hasOwnProperty(b)?r+="/\x3e":(r+="\x3e",e="\x3c/"+a.type+"\x3e");a:{d=f.dangerouslySetInnerHTML;if(null!=
3861
- d){if(null!=d.__html){d=d.__html;break a}}else if(d=f.children,"string"===typeof d||"number"===typeof d){d=Q(d);break a}d=null}null!=d?(f=[],oa[b]&&"\n"===d.charAt(0)&&(r+="\n"),r+=d):f=X(f.children);a=a.type;c=null==c||"http://www.w3.org/1999/xhtml"===c?U(a):"http://www.w3.org/2000/svg"===c&&"foreignObject"===a?"http://www.w3.org/1999/xhtml":c;this.stack.push({domNamespace:c,tag:b,children:f,childIndex:0,context:g,footer:e});this.previousWasTextNode=!1;return r};return a}(),za={renderToString:function(a){return(new ya(a,
3862
- !1)).read(Infinity)},renderToStaticMarkup:function(a){return(new ya(a,!0)).read(Infinity)},renderToNodeStream:function(){w("207")},renderToStaticNodeStream:function(){w("208")},version:"16.2.0"},Aa=Object.freeze({default:za}),Z=Aa&&za||Aa;module.exports=Z["default"]?Z["default"]:Z;
3932
+ 'use strict';var p=__webpack_require__(5),q=__webpack_require__(4),t=__webpack_require__(1),w=__webpack_require__(7),x=__webpack_require__(6),y=__webpack_require__(21),z=__webpack_require__(32);
3933
+ function A(a){for(var b=arguments.length-1,d="http://reactjs.org/docs/error-decoder.html?invariant\x3d"+a,c=0;c<b;c++)d+="\x26args[]\x3d"+encodeURIComponent(arguments[c+1]);p(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",d)}
3934
+ var C="function"===typeof Symbol&&Symbol["for"],aa=C?Symbol["for"]("react.call"):60104,ba=C?Symbol["for"]("react.return"):60105,ca=C?Symbol["for"]("react.portal"):60106,E=C?Symbol["for"]("react.fragment"):60107,da=C?Symbol["for"]("react.strict_mode"):60108,F=C?Symbol["for"]("react.provider"):60109,ea=C?Symbol["for"]("react.context"):60110,fa=C?Symbol["for"]("react.async_mode"):60111,ha=C?Symbol["for"]("react.forward_ref"):60112,ia=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,
3935
+ G={},H={};function ja(a){if(H.hasOwnProperty(a))return!0;if(G.hasOwnProperty(a))return!1;if(ia.test(a))return H[a]=!0;G[a]=!0;return!1}function ka(a,b,d,c){if(null!==d&&0===d.type)return!1;switch(typeof b){case "function":case "symbol":return!0;case "boolean":if(c)return!1;if(null!==d)return!d.acceptsBooleans;a=a.toLowerCase().slice(0,5);return"data-"!==a&&"aria-"!==a;default:return!1}}
3936
+ function la(a,b,d,c){if(null===b||"undefined"===typeof b||ka(a,b,d,c))return!0;if(null!==d)switch(d.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function I(a,b,d,c,k){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=c;this.attributeNamespace=k;this.mustUseProperty=d;this.propertyName=a;this.type=b}var J={};
3937
+ "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){J[a]=new I(a,0,!1,a,null)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];J[b]=new I(b,1,!1,a[1],null)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){J[a]=new I(a,2,!1,a.toLowerCase(),null)});
3938
+ ["autoReverse","externalResourcesRequired","preserveAlpha"].forEach(function(a){J[a]=new I(a,2,!1,a,null)});"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(a){J[a]=new I(a,3,!1,a.toLowerCase(),null)});["checked","multiple","muted","selected"].forEach(function(a){J[a]=new I(a,3,!0,a.toLowerCase(),null)});
3939
+ ["capture","download"].forEach(function(a){J[a]=new I(a,4,!1,a.toLowerCase(),null)});["cols","rows","size","span"].forEach(function(a){J[a]=new I(a,6,!1,a.toLowerCase(),null)});["rowSpan","start"].forEach(function(a){J[a]=new I(a,5,!1,a.toLowerCase(),null)});var K=/[\-:]([a-z])/g;function L(a){return a[1].toUpperCase()}
3940
+ "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(a){var b=a.replace(K,
3941
+ L);J[b]=new I(b,1,!1,a,null)});"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(a){var b=a.replace(K,L);J[b]=new I(b,1,!1,a,"http://www.w3.org/1999/xlink")});["xml:base","xml:lang","xml:space"].forEach(function(a){var b=a.replace(K,L);J[b]=new I(b,1,!1,a,"http://www.w3.org/XML/1998/namespace")});J.tabIndex=new I("tabIndex",1,!1,"tabindex",null);var ma=/["'&<>]/;
3942
+ function M(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=ma.exec(a);if(b){var d="",c,k=0;for(c=b.index;c<a.length;c++){switch(a.charCodeAt(c)){case 34:b="\x26quot;";break;case 38:b="\x26amp;";break;case 39:b="\x26#x27;";break;case 60:b="\x26lt;";break;case 62:b="\x26gt;";break;default:continue}k!==c&&(d+=a.substring(k,c));k=c+1;d+=b}a=k!==c?d+a.substring(k,c):d}return a}var N={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};
3943
+ function O(a){switch(a){case "svg":return"http://www.w3.org/2000/svg";case "math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}
3944
+ var P={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},na=q({menuitem:!0},P),Q={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,
3945
+ fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},oa=["Webkit","ms","Moz","O"];Object.keys(Q).forEach(function(a){oa.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);Q[b]=Q[a]})});var R=t.Children.toArray,S=w.thatReturns("");w.thatReturns("");var pa={listing:!0,pre:!0,textarea:!0};
3946
+ function T(a){return"string"===typeof a?a:"function"===typeof a?a.displayName||a.name:null}var qa=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,U={},ra=z(function(a){return y(a)});function sa(a){var b="";t.Children.forEach(a,function(a){null==a||"string"!==typeof a&&"number"!==typeof a||(b+=a)});return b}function ta(a,b){if(a=a.contextTypes){var d={},c;for(c in a)d[c]=b[c];b=d}else b=x;return b}var ua={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null,suppressHydrationWarning:null};
3947
+ function V(a,b){void 0===a&&A("152",T(b)||"Component")}
3948
+ function va(a,b){function d(c,k){var d=ta(k,b),f=[],h=!1,g={isMounted:function(){return!1},enqueueForceUpdate:function(){if(null===f)return null},enqueueReplaceState:function(a,b){h=!0;f=[b]},enqueueSetState:function(a,b){if(null===f)return null;f.push(b)}},e=void 0;if(k.prototype&&k.prototype.isReactComponent){if(e=new k(c.props,d,g),"function"===typeof k.getDerivedStateFromProps){var v=k.getDerivedStateFromProps.call(null,c.props,e.state);null!=v&&(e.state=q({},e.state,v))}}else if(e=k(c.props,
3949
+ d,g),null==e||null==e.render){a=e;V(a,k);return}e.props=c.props;e.context=d;e.updater=g;g=e.state;void 0===g&&(e.state=g=null);if("function"===typeof e.UNSAFE_componentWillMount||"function"===typeof e.componentWillMount)if("function"===typeof e.componentWillMount&&"function"!==typeof k.getDerivedStateFromProps&&e.componentWillMount(),"function"===typeof e.UNSAFE_componentWillMount&&"function"!==typeof k.getDerivedStateFromProps&&e.UNSAFE_componentWillMount(),f.length){g=f;var u=h;f=null;h=!1;if(u&&
3950
+ 1===g.length)e.state=g[0];else{v=u?g[0]:e.state;var m=!0;for(u=u?1:0;u<g.length;u++){var n=g[u];n="function"===typeof n?n.call(e,v,c.props,d):n;null!=n&&(m?(m=!1,v=q({},v,n)):q(v,n))}e.state=v}}else f=null;a=e.render();V(a,k);c=void 0;if("function"===typeof e.getChildContext&&(d=k.childContextTypes,"object"===typeof d)){c=e.getChildContext();for(var r in c)r in d?void 0:A("108",T(k)||"Unknown",r)}c&&(b=q({},b,c))}for(;t.isValidElement(a);){var c=a,k=c.type;if("function"!==typeof k)break;d(c,k)}return{child:a,
3951
+ context:b}}
3952
+ var W=function(){function a(b,d){if(!(this instanceof a))throw new TypeError("Cannot call a class as a function");t.isValidElement(b)?b.type!==E?b=[b]:(b=b.props.children,b=t.isValidElement(b)?[b]:R(b)):b=R(b);this.stack=[{type:null,domNamespace:N.html,children:b,childIndex:0,context:x,footer:""}];this.exhausted=!1;this.currentSelectValue=null;this.previousWasTextNode=!1;this.makeStaticMarkup=d;this.providerStack=[];this.providerIndex=-1}a.prototype.pushProvider=function(a){this.providerIndex+=1;
3953
+ this.providerStack[this.providerIndex]=a;a.type._context._currentValue=a.props.value};a.prototype.popProvider=function(a){this.providerStack[this.providerIndex]=null;--this.providerIndex;a=a.type._context;a._currentValue=0>this.providerIndex?a._defaultValue:this.providerStack[this.providerIndex].props.value};a.prototype.read=function(a){if(this.exhausted)return null;for(var b="";b.length<a;){if(0===this.stack.length){this.exhausted=!0;break}var c=this.stack[this.stack.length-1];if(c.childIndex>=c.children.length){var k=
3954
+ c.footer;b+=k;""!==k&&(this.previousWasTextNode=!1);this.stack.pop();"select"===c.type?this.currentSelectValue=null:null!=c.type&&null!=c.type.type&&c.type.type.$$typeof===F&&this.popProvider(c.type)}else k=c.children[c.childIndex++],b+=this.render(k,c.context,c.domNamespace)}return b};a.prototype.render=function(a,d,c){if("string"===typeof a||"number"===typeof a){c=""+a;if(""===c)return"";if(this.makeStaticMarkup)return M(c);if(this.previousWasTextNode)return"\x3c!-- --\x3e"+M(c);this.previousWasTextNode=
3955
+ !0;return M(c)}d=va(a,d);a=d.child;d=d.context;if(null===a||!1===a)return"";if(!t.isValidElement(a)){if(null!=a&&null!=a.$$typeof){var b=a.$$typeof;b===ca?A("257"):void 0;A("258",b.toString())}a=R(a);this.stack.push({type:null,domNamespace:c,children:a,childIndex:0,context:d,footer:""});return""}b=a.type;if("string"===typeof b)return this.renderDOM(a,d,c);switch(b){case da:case fa:case E:return a=R(a.props.children),this.stack.push({type:null,domNamespace:c,children:a,childIndex:0,context:d,footer:""}),
3956
+ "";case aa:case ba:A("259")}if("object"===typeof b&&null!==b)switch(b.$$typeof){case ha:return a=R(b.render(a.props,a.ref)),this.stack.push({type:null,domNamespace:c,children:a,childIndex:0,context:d,footer:""}),"";case F:return b=R(a.props.children),c={type:a,domNamespace:c,children:b,childIndex:0,context:d,footer:""},this.pushProvider(a),this.stack.push(c),"";case ea:return b=R(a.props.children(a.type._currentValue)),this.stack.push({type:a,domNamespace:c,children:b,childIndex:0,context:d,footer:""}),
3957
+ ""}A("130",null==b?b:typeof b,"")};a.prototype.renderDOM=function(a,d,c){var b=a.type.toLowerCase();c===N.html&&O(b);U.hasOwnProperty(b)||(qa.test(b)?void 0:A("65",b),U[b]=!0);var f=a.props;if("input"===b)f=q({type:void 0},f,{defaultChecked:void 0,defaultValue:void 0,value:null!=f.value?f.value:f.defaultValue,checked:null!=f.checked?f.checked:f.defaultChecked});else if("textarea"===b){var h=f.value;if(null==h){h=f.defaultValue;var l=f.children;null!=l&&(null!=h?A("92"):void 0,Array.isArray(l)&&(1>=
3958
+ l.length?void 0:A("93"),l=l[0]),h=""+l);null==h&&(h="")}f=q({},f,{value:void 0,children:""+h})}else if("select"===b)this.currentSelectValue=null!=f.value?f.value:f.defaultValue,f=q({},f,{value:void 0});else if("option"===b){l=this.currentSelectValue;var D=sa(f.children);if(null!=l){var B=null!=f.value?f.value+"":D;h=!1;if(Array.isArray(l))for(var g=0;g<l.length;g++){if(""+l[g]===B){h=!0;break}}else h=""+l===B;f=q({selected:void 0,children:void 0},f,{selected:h,children:D})}}if(h=f)na[b]&&(null!=h.children||
3959
+ null!=h.dangerouslySetInnerHTML?A("137",b,S()):void 0),null!=h.dangerouslySetInnerHTML&&(null!=h.children?A("60"):void 0,"object"===typeof h.dangerouslySetInnerHTML&&"__html"in h.dangerouslySetInnerHTML?void 0:A("61")),null!=h.style&&"object"!==typeof h.style?A("62",S()):void 0;h=f;l=this.makeStaticMarkup;D=1===this.stack.length;B="\x3c"+a.type;for(r in h)if(h.hasOwnProperty(r)){var e=h[r];if(null!=e){if("style"===r){g=void 0;var v="",u="";for(g in e)if(e.hasOwnProperty(g)){var m=0===g.indexOf("--"),
3960
+ n=e[g];null!=n&&(v+=u+ra(g)+":",u=g,m=null==n||"boolean"===typeof n||""===n?"":m||"number"!==typeof n||0===n||Q.hasOwnProperty(u)&&Q[u]?(""+n).trim():n+"px",v+=m,u=";")}e=v||null}g=null;b:if(m=b,n=h,-1===m.indexOf("-"))m="string"===typeof n.is;else switch(m){case "annotation-xml":case "color-profile":case "font-face":case "font-face-src":case "font-face-uri":case "font-face-format":case "font-face-name":case "missing-glyph":m=!1;break b;default:m=!0}if(m)ua.hasOwnProperty(r)||(g=r,g=ja(g)&&null!=
3961
+ e?g+"\x3d"+('"'+M(e)+'"'):"");else{m=r;g=e;e=J.hasOwnProperty(m)?J[m]:null;if(n="style"!==m)n=null!==e?0===e.type:!(2<m.length)||"o"!==m[0]&&"O"!==m[0]||"n"!==m[1]&&"N"!==m[1]?!1:!0;n||la(m,g,e,!1)?g="":null!==e?(m=e.attributeName,e=e.type,g=3===e||4===e&&!0===g?m+'\x3d""':m+"\x3d"+('"'+M(g)+'"')):g=m+"\x3d"+('"'+M(g)+'"')}g&&(B+=" "+g)}}l||D&&(B+=' data-reactroot\x3d""');var r=B;h="";P.hasOwnProperty(b)?r+="/\x3e":(r+="\x3e",h="\x3c/"+a.type+"\x3e");a:{l=f.dangerouslySetInnerHTML;if(null!=l){if(null!=
3962
+ l.__html){l=l.__html;break a}}else if(l=f.children,"string"===typeof l||"number"===typeof l){l=M(l);break a}l=null}null!=l?(f=[],pa[b]&&"\n"===l.charAt(0)&&(r+="\n"),r+=l):f=R(f.children);a=a.type;c=null==c||"http://www.w3.org/1999/xhtml"===c?O(a):"http://www.w3.org/2000/svg"===c&&"foreignObject"===a?"http://www.w3.org/1999/xhtml":c;this.stack.push({domNamespace:c,type:b,children:f,childIndex:0,context:d,footer:h});this.previousWasTextNode=!1;return r};return a}(),X={renderToString:function(a){return(new W(a,
3963
+ !1)).read(Infinity)},renderToStaticMarkup:function(a){return(new W(a,!0)).read(Infinity)},renderToNodeStream:function(){A("207")},renderToStaticNodeStream:function(){A("208")},version:"16.3.2"},Y=Object.freeze({default:X}),Z=Y&&X||Y;module.exports=Z["default"]?Z["default"]:Z;
3863
3964
 
3864
3965
 
3865
3966
  /***/ }),
3866
- /* 34 */
3967
+ /* 32 */
3867
3968
  /***/ (function(module, exports) {
3868
3969
 
3869
3970
  /**
@@ -3895,10 +3996,10 @@
3895
3996
  module.exports = memoizeStringOnly;
3896
3997
 
3897
3998
  /***/ }),
3898
- /* 35 */
3999
+ /* 33 */
3899
4000
  /***/ (function(module, exports, __webpack_require__) {
3900
4001
 
3901
- /* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.2.0
4002
+ /* WEBPACK VAR INJECTION */(function(process) {/** @license React v16.3.2
3902
4003
  * react-dom-server.browser.development.js
3903
4004
  *
3904
4005
  * Copyright (c) 2013-present, Facebook, Inc.
@@ -3915,411 +4016,398 @@
3915
4016
  (function() {
3916
4017
  'use strict';
3917
4018
 
3918
- var invariant = __webpack_require__(8);
4019
+ var invariant = __webpack_require__(5);
3919
4020
  var _assign = __webpack_require__(4);
3920
4021
  var React = __webpack_require__(1);
3921
- var emptyFunction = __webpack_require__(6);
3922
- var emptyObject = __webpack_require__(5);
3923
- var hyphenateStyleName = __webpack_require__(23);
3924
- var memoizeStringOnly = __webpack_require__(34);
4022
+ var emptyFunction = __webpack_require__(7);
4023
+ var emptyObject = __webpack_require__(6);
4024
+ var hyphenateStyleName = __webpack_require__(21);
4025
+ var memoizeStringOnly = __webpack_require__(32);
3925
4026
  var warning = __webpack_require__(9);
3926
4027
  var checkPropTypes = __webpack_require__(10);
3927
- var camelizeStyleName = __webpack_require__(25);
4028
+ var camelizeStyleName = __webpack_require__(23);
4029
+
4030
+ // Relying on the `invariant()` implementation lets us
4031
+ // have preserve the format and params in the www builds.
4032
+
4033
+ // TODO: this is special because it gets imported during build.
4034
+
4035
+ var ReactVersion = '16.3.2';
3928
4036
 
3929
4037
  /**
3930
- * WARNING: DO NOT manually require this module.
3931
- * This is a replacement for `invariant(...)` used by the error code system
3932
- * and will _only_ be required by the corresponding babel pass.
3933
- * It always throws.
4038
+ * Forked from fbjs/warning:
4039
+ * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
4040
+ *
4041
+ * Only change is we use console.warn instead of console.error,
4042
+ * and do nothing when 'console' is not supported.
4043
+ * This really simplifies the code.
4044
+ * ---
4045
+ * Similar to invariant but only logs a warning if the condition is not met.
4046
+ * This can be used to log issues in development environments in critical
4047
+ * paths. Removing the logging code for production environments will keep the
4048
+ * same logic and follow the same code paths.
3934
4049
  */
3935
4050
 
3936
- // These attributes should be all lowercase to allow for
3937
- // case insensitive checks
3938
- var RESERVED_PROPS = {
3939
- children: true,
3940
- dangerouslySetInnerHTML: true,
3941
- defaultValue: true,
3942
- defaultChecked: true,
3943
- innerHTML: true,
3944
- suppressContentEditableWarning: true,
3945
- suppressHydrationWarning: true,
3946
- style: true
3947
- };
4051
+ var lowPriorityWarning = function () {};
3948
4052
 
3949
- function checkMask(value, bitmask) {
3950
- return (value & bitmask) === bitmask;
4053
+ {
4054
+ var printWarning = function (format) {
4055
+ for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
4056
+ args[_key - 1] = arguments[_key];
4057
+ }
4058
+
4059
+ var argIndex = 0;
4060
+ var message = 'Warning: ' + format.replace(/%s/g, function () {
4061
+ return args[argIndex++];
4062
+ });
4063
+ if (typeof console !== 'undefined') {
4064
+ console.warn(message);
4065
+ }
4066
+ try {
4067
+ // --- Welcome to debugging React ---
4068
+ // This error was thrown as a convenience so that you can use this stack
4069
+ // to find the callsite that caused this warning to fire.
4070
+ throw new Error(message);
4071
+ } catch (x) {}
4072
+ };
4073
+
4074
+ lowPriorityWarning = function (condition, format) {
4075
+ if (format === undefined) {
4076
+ throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
4077
+ }
4078
+ if (!condition) {
4079
+ for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
4080
+ args[_key2 - 2] = arguments[_key2];
4081
+ }
4082
+
4083
+ printWarning.apply(undefined, [format].concat(args));
4084
+ }
4085
+ };
3951
4086
  }
3952
4087
 
3953
- var DOMPropertyInjection = {
3954
- /**
3955
- * Mapping from normalized, camelcased property names to a configuration that
3956
- * specifies how the associated DOM property should be accessed or rendered.
3957
- */
3958
- MUST_USE_PROPERTY: 0x1,
3959
- HAS_BOOLEAN_VALUE: 0x4,
3960
- HAS_NUMERIC_VALUE: 0x8,
3961
- HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,
3962
- HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,
3963
- HAS_STRING_BOOLEAN_VALUE: 0x40,
4088
+ var lowPriorityWarning$1 = lowPriorityWarning;
3964
4089
 
3965
- /**
3966
- * Inject some specialized knowledge about the DOM. This takes a config object
3967
- * with the following properties:
3968
- *
3969
- * Properties: object mapping DOM property name to one of the
3970
- * DOMPropertyInjection constants or null. If your attribute isn't in here,
3971
- * it won't get written to the DOM.
3972
- *
3973
- * DOMAttributeNames: object mapping React attribute name to the DOM
3974
- * attribute name. Attribute names not specified use the **lowercase**
3975
- * normalized name.
3976
- *
3977
- * DOMAttributeNamespaces: object mapping React attribute name to the DOM
3978
- * attribute namespace URL. (Attribute names not specified use no namespace.)
3979
- *
3980
- * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.
3981
- * Property names not specified use the normalized name.
3982
- *
3983
- * DOMMutationMethods: Properties that require special mutation methods. If
3984
- * `value` is undefined, the mutation method should unset the property.
3985
- *
3986
- * @param {object} domPropertyConfig the config as described above.
3987
- */
3988
- injectDOMPropertyConfig: function (domPropertyConfig) {
3989
- var Injection = DOMPropertyInjection;
3990
- var Properties = domPropertyConfig.Properties || {};
3991
- var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};
3992
- var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};
3993
- var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};
3994
-
3995
- for (var propName in Properties) {
3996
- !!properties.hasOwnProperty(propName) ? invariant(false, "injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.", propName) : void 0;
3997
-
3998
- var lowerCased = propName.toLowerCase();
3999
- var propConfig = Properties[propName];
4000
-
4001
- var propertyInfo = {
4002
- attributeName: lowerCased,
4003
- attributeNamespace: null,
4004
- propertyName: propName,
4005
- mutationMethod: null,
4006
-
4007
- mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),
4008
- hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),
4009
- hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),
4010
- hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),
4011
- hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE),
4012
- hasStringBooleanValue: checkMask(propConfig, Injection.HAS_STRING_BOOLEAN_VALUE)
4013
- };
4014
- !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? invariant(false, "DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s", propName) : void 0;
4090
+ var describeComponentFrame = function (name, source, ownerName) {
4091
+ return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');
4092
+ };
4015
4093
 
4016
- if (DOMAttributeNames.hasOwnProperty(propName)) {
4017
- var attributeName = DOMAttributeNames[propName];
4094
+ var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
4018
4095
 
4019
- propertyInfo.attributeName = attributeName;
4020
- }
4096
+ var ReactCurrentOwner = ReactInternals.ReactCurrentOwner;
4097
+ var ReactDebugCurrentFrame = ReactInternals.ReactDebugCurrentFrame;
4021
4098
 
4022
- if (DOMAttributeNamespaces.hasOwnProperty(propName)) {
4023
- propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];
4024
- }
4099
+ // Exports ReactDOM.createRoot
4025
4100
 
4026
- if (DOMMutationMethods.hasOwnProperty(propName)) {
4027
- propertyInfo.mutationMethod = DOMMutationMethods[propName];
4028
- }
4029
4101
 
4030
- // Downcase references to whitelist properties to check for membership
4031
- // without case-sensitivity. This allows the whitelist to pick up
4032
- // `allowfullscreen`, which should be written using the property configuration
4033
- // for `allowFullscreen`
4034
- properties[propName] = propertyInfo;
4035
- }
4036
- }
4037
- };
4102
+ // Mutating mode (React DOM, React ART, React Native):
4103
+
4104
+ // Experimental noop mode (currently unused):
4105
+
4106
+ // Experimental persistent mode (Fabric):
4107
+
4108
+ // Experimental error-boundary API that can recover from errors within a single
4109
+ // render phase
4110
+
4111
+ // Helps identify side effects in begin-phase lifecycle hooks and setState reducers:
4112
+
4113
+
4114
+ // In some cases, StrictMode should also double-render lifecycles.
4115
+ // This can be confusing for tests though,
4116
+ // And it can be bad for performance in production.
4117
+ // This feature flag can be used to control the behavior:
4118
+
4119
+
4120
+ // To preserve the "Pause on caught exceptions" behavior of the debugger, we
4121
+ // replay the begin phase of a failed component inside invokeGuardedCallback.
4122
+
4123
+
4124
+ // Warn about deprecated, async-unsafe lifecycles; relates to RFC #6:
4125
+ var warnAboutDeprecatedLifecycles = false;
4126
+
4127
+
4128
+
4129
+ // Only used in www builds.
4130
+
4131
+ // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
4132
+ // nor polyfill, then a plain number is used for performance.
4133
+ var hasSymbol = typeof Symbol === 'function' && Symbol['for'];
4134
+
4135
+
4136
+ var REACT_CALL_TYPE = hasSymbol ? Symbol['for']('react.call') : 0xeac8;
4137
+ var REACT_RETURN_TYPE = hasSymbol ? Symbol['for']('react.return') : 0xeac9;
4138
+ var REACT_PORTAL_TYPE = hasSymbol ? Symbol['for']('react.portal') : 0xeaca;
4139
+ var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol['for']('react.fragment') : 0xeacb;
4140
+ var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol['for']('react.strict_mode') : 0xeacc;
4141
+ var REACT_PROVIDER_TYPE = hasSymbol ? Symbol['for']('react.provider') : 0xeacd;
4142
+ var REACT_CONTEXT_TYPE = hasSymbol ? Symbol['for']('react.context') : 0xeace;
4143
+ var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol['for']('react.async_mode') : 0xeacf;
4144
+ var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol['for']('react.forward_ref') : 0xead0;
4145
+
4146
+ // A reserved attribute.
4147
+ // It is handled by React separately and shouldn't be written to the DOM.
4148
+ var RESERVED = 0;
4149
+
4150
+ // A simple string attribute.
4151
+ // Attributes that aren't in the whitelist are presumed to have this type.
4152
+ var STRING = 1;
4153
+
4154
+ // A string attribute that accepts booleans in React. In HTML, these are called
4155
+ // "enumerated" attributes with "true" and "false" as possible values.
4156
+ // When true, it should be set to a "true" string.
4157
+ // When false, it should be set to a "false" string.
4158
+ var BOOLEANISH_STRING = 2;
4159
+
4160
+ // A real boolean attribute.
4161
+ // When true, it should be present (set either to an empty string or its name).
4162
+ // When false, it should be omitted.
4163
+ var BOOLEAN = 3;
4164
+
4165
+ // An attribute that can be used as a flag as well as with a value.
4166
+ // When true, it should be present (set either to an empty string or its name).
4167
+ // When false, it should be omitted.
4168
+ // For any other value, should be present with that value.
4169
+ var OVERLOADED_BOOLEAN = 4;
4170
+
4171
+ // An attribute that must be numeric or parse as a numeric.
4172
+ // When falsy, it should be removed.
4173
+ var NUMERIC = 5;
4174
+
4175
+ // An attribute that must be positive numeric or parse as a positive numeric.
4176
+ // When falsy, it should be removed.
4177
+ var POSITIVE_NUMERIC = 6;
4038
4178
 
4039
4179
  /* eslint-disable max-len */
4040
- var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD";
4180
+ var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD';
4041
4181
  /* eslint-enable max-len */
4042
- var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
4182
+ var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040';
4043
4183
 
4044
4184
 
4045
4185
  var ROOT_ATTRIBUTE_NAME = 'data-reactroot';
4186
+ var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');
4046
4187
 
4047
- /**
4048
- * Map from property "standard name" to an object with info about how to set
4049
- * the property in the DOM. Each object contains:
4050
- *
4051
- * attributeName:
4052
- * Used when rendering markup or with `*Attribute()`.
4053
- * attributeNamespace
4054
- * propertyName:
4055
- * Used on DOM node instances. (This includes properties that mutate due to
4056
- * external factors.)
4057
- * mutationMethod:
4058
- * If non-null, used instead of the property or `setAttribute()` after
4059
- * initial render.
4060
- * mustUseProperty:
4061
- * Whether the property must be accessed and mutated as an object property.
4062
- * hasBooleanValue:
4063
- * Whether the property should be removed when set to a falsey value.
4064
- * hasNumericValue:
4065
- * Whether the property must be numeric or parse as a numeric and should be
4066
- * removed when set to a falsey value.
4067
- * hasPositiveNumericValue:
4068
- * Whether the property must be positive numeric or parse as a positive
4069
- * numeric and should be removed when set to a falsey value.
4070
- * hasOverloadedBooleanValue:
4071
- * Whether the property can be used as a flag as well as with a value.
4072
- * Removed when strictly equal to false; present without a value when
4073
- * strictly equal to true; present with a value otherwise.
4074
- */
4075
- var properties = {};
4188
+ var illegalAttributeNameCache = {};
4189
+ var validatedAttributeNameCache = {};
4076
4190
 
4077
- /**
4078
- * Checks whether a property name is a writeable attribute.
4079
- * @method
4080
- */
4081
- function shouldSetAttribute(name, value) {
4082
- if (isReservedProp(name)) {
4191
+ function isAttributeNameSafe(attributeName) {
4192
+ if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {
4193
+ return true;
4194
+ }
4195
+ if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {
4083
4196
  return false;
4084
4197
  }
4085
- if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {
4198
+ if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
4199
+ validatedAttributeNameCache[attributeName] = true;
4200
+ return true;
4201
+ }
4202
+ illegalAttributeNameCache[attributeName] = true;
4203
+ {
4204
+ warning(false, 'Invalid attribute name: `%s`', attributeName);
4205
+ }
4206
+ return false;
4207
+ }
4208
+
4209
+ function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag) {
4210
+ if (propertyInfo !== null) {
4211
+ return propertyInfo.type === RESERVED;
4212
+ }
4213
+ if (isCustomComponentTag) {
4086
4214
  return false;
4087
4215
  }
4088
- if (value === null) {
4216
+ if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {
4089
4217
  return true;
4090
4218
  }
4219
+ return false;
4220
+ }
4221
+
4222
+ function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {
4223
+ if (propertyInfo !== null && propertyInfo.type === RESERVED) {
4224
+ return false;
4225
+ }
4091
4226
  switch (typeof value) {
4092
- case 'boolean':
4093
- return shouldAttributeAcceptBooleanValue(name);
4094
- case 'undefined':
4095
- case 'number':
4096
- case 'string':
4097
- case 'object':
4227
+ case 'function':
4228
+ // $FlowIssue symbol is perfectly valid here
4229
+ case 'symbol':
4230
+ // eslint-disable-line
4098
4231
  return true;
4232
+ case 'boolean':
4233
+ {
4234
+ if (isCustomComponentTag) {
4235
+ return false;
4236
+ }
4237
+ if (propertyInfo !== null) {
4238
+ return !propertyInfo.acceptsBooleans;
4239
+ } else {
4240
+ var prefix = name.toLowerCase().slice(0, 5);
4241
+ return prefix !== 'data-' && prefix !== 'aria-';
4242
+ }
4243
+ }
4099
4244
  default:
4100
- // function, symbol
4101
4245
  return false;
4102
4246
  }
4103
4247
  }
4104
4248
 
4105
- function getPropertyInfo(name) {
4106
- return properties.hasOwnProperty(name) ? properties[name] : null;
4107
- }
4108
-
4109
- function shouldAttributeAcceptBooleanValue(name) {
4110
- if (isReservedProp(name)) {
4249
+ function shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag) {
4250
+ if (value === null || typeof value === 'undefined') {
4111
4251
  return true;
4112
4252
  }
4113
- var propertyInfo = getPropertyInfo(name);
4114
- if (propertyInfo) {
4115
- return propertyInfo.hasBooleanValue || propertyInfo.hasStringBooleanValue || propertyInfo.hasOverloadedBooleanValue;
4253
+ if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {
4254
+ return true;
4116
4255
  }
4117
- var prefix = name.toLowerCase().slice(0, 5);
4118
- return prefix === 'data-' || prefix === 'aria-';
4119
- }
4120
-
4121
- /**
4122
- * Checks to see if a property name is within the list of properties
4123
- * reserved for internal React operations. These properties should
4124
- * not be set on an HTML element.
4125
- *
4126
- * @private
4127
- * @param {string} name
4128
- * @return {boolean} If the name is within reserved props
4129
- */
4130
- function isReservedProp(name) {
4131
- return RESERVED_PROPS.hasOwnProperty(name);
4132
- }
4133
-
4134
- var injection = DOMPropertyInjection;
4135
-
4136
- var MUST_USE_PROPERTY = injection.MUST_USE_PROPERTY;
4137
- var HAS_BOOLEAN_VALUE = injection.HAS_BOOLEAN_VALUE;
4138
- var HAS_NUMERIC_VALUE = injection.HAS_NUMERIC_VALUE;
4139
- var HAS_POSITIVE_NUMERIC_VALUE = injection.HAS_POSITIVE_NUMERIC_VALUE;
4140
- var HAS_OVERLOADED_BOOLEAN_VALUE = injection.HAS_OVERLOADED_BOOLEAN_VALUE;
4141
- var HAS_STRING_BOOLEAN_VALUE = injection.HAS_STRING_BOOLEAN_VALUE;
4142
-
4143
- var HTMLDOMPropertyConfig = {
4144
- // When adding attributes to this list, be sure to also add them to
4145
- // the `possibleStandardNames` module to ensure casing and incorrect
4146
- // name warnings.
4147
- Properties: {
4148
- allowFullScreen: HAS_BOOLEAN_VALUE,
4149
- // specifies target context for links with `preload` type
4150
- async: HAS_BOOLEAN_VALUE,
4151
- // Note: there is a special case that prevents it from being written to the DOM
4152
- // on the client side because the browsers are inconsistent. Instead we call focus().
4153
- autoFocus: HAS_BOOLEAN_VALUE,
4154
- autoPlay: HAS_BOOLEAN_VALUE,
4155
- capture: HAS_OVERLOADED_BOOLEAN_VALUE,
4156
- checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
4157
- cols: HAS_POSITIVE_NUMERIC_VALUE,
4158
- contentEditable: HAS_STRING_BOOLEAN_VALUE,
4159
- controls: HAS_BOOLEAN_VALUE,
4160
- 'default': HAS_BOOLEAN_VALUE,
4161
- defer: HAS_BOOLEAN_VALUE,
4162
- disabled: HAS_BOOLEAN_VALUE,
4163
- download: HAS_OVERLOADED_BOOLEAN_VALUE,
4164
- draggable: HAS_STRING_BOOLEAN_VALUE,
4165
- formNoValidate: HAS_BOOLEAN_VALUE,
4166
- hidden: HAS_BOOLEAN_VALUE,
4167
- loop: HAS_BOOLEAN_VALUE,
4168
- // Caution; `option.selected` is not updated if `select.multiple` is
4169
- // disabled with `removeAttribute`.
4170
- multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
4171
- muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
4172
- noValidate: HAS_BOOLEAN_VALUE,
4173
- open: HAS_BOOLEAN_VALUE,
4174
- playsInline: HAS_BOOLEAN_VALUE,
4175
- readOnly: HAS_BOOLEAN_VALUE,
4176
- required: HAS_BOOLEAN_VALUE,
4177
- reversed: HAS_BOOLEAN_VALUE,
4178
- rows: HAS_POSITIVE_NUMERIC_VALUE,
4179
- rowSpan: HAS_NUMERIC_VALUE,
4180
- scoped: HAS_BOOLEAN_VALUE,
4181
- seamless: HAS_BOOLEAN_VALUE,
4182
- selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
4183
- size: HAS_POSITIVE_NUMERIC_VALUE,
4184
- start: HAS_NUMERIC_VALUE,
4185
- // support for projecting regular DOM Elements via V1 named slots ( shadow dom )
4186
- span: HAS_POSITIVE_NUMERIC_VALUE,
4187
- spellCheck: HAS_STRING_BOOLEAN_VALUE,
4188
- // Style must be explicitly set in the attribute list. React components
4189
- // expect a style object
4190
- style: 0,
4191
- // Keep it in the whitelist because it is case-sensitive for SVG.
4192
- tabIndex: 0,
4193
- // itemScope is for for Microdata support.
4194
- // See http://schema.org/docs/gs.html
4195
- itemScope: HAS_BOOLEAN_VALUE,
4196
- // These attributes must stay in the white-list because they have
4197
- // different attribute names (see DOMAttributeNames below)
4198
- acceptCharset: 0,
4199
- className: 0,
4200
- htmlFor: 0,
4201
- httpEquiv: 0,
4202
- // Attributes with mutation methods must be specified in the whitelist
4203
- // Set the string boolean flag to allow the behavior
4204
- value: HAS_STRING_BOOLEAN_VALUE
4205
- },
4206
- DOMAttributeNames: {
4207
- acceptCharset: 'accept-charset',
4208
- className: 'class',
4209
- htmlFor: 'for',
4210
- httpEquiv: 'http-equiv'
4211
- },
4212
- DOMMutationMethods: {
4213
- value: function (node, value) {
4214
- if (value == null) {
4215
- return node.removeAttribute('value');
4216
- }
4217
-
4218
- // Number inputs get special treatment due to some edge cases in
4219
- // Chrome. Let everything else assign the value attribute as normal.
4220
- // https://github.com/facebook/react/issues/7253#issuecomment-236074326
4221
- if (node.type !== 'number' || node.hasAttribute('value') === false) {
4222
- node.setAttribute('value', '' + value);
4223
- } else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) {
4224
- // Don't assign an attribute if validation reports bad
4225
- // input. Chrome will clear the value. Additionally, don't
4226
- // operate on inputs that have focus, otherwise Chrome might
4227
- // strip off trailing decimal places and cause the user's
4228
- // cursor position to jump to the beginning of the input.
4229
- //
4230
- // In ReactDOMInput, we have an onBlur event that will trigger
4231
- // this function again when focus is lost.
4232
- node.setAttribute('value', '' + value);
4233
- }
4256
+ if (propertyInfo !== null) {
4257
+ switch (propertyInfo.type) {
4258
+ case BOOLEAN:
4259
+ return !value;
4260
+ case OVERLOADED_BOOLEAN:
4261
+ return value === false;
4262
+ case NUMERIC:
4263
+ return isNaN(value);
4264
+ case POSITIVE_NUMERIC:
4265
+ return isNaN(value) || value < 1;
4234
4266
  }
4235
4267
  }
4236
- };
4237
-
4238
- var HAS_STRING_BOOLEAN_VALUE$1 = injection.HAS_STRING_BOOLEAN_VALUE;
4239
-
4268
+ return false;
4269
+ }
4240
4270
 
4241
- var NS = {
4242
- xlink: 'http://www.w3.org/1999/xlink',
4243
- xml: 'http://www.w3.org/XML/1998/namespace'
4244
- };
4271
+ function getPropertyInfo(name) {
4272
+ return properties.hasOwnProperty(name) ? properties[name] : null;
4273
+ }
4245
4274
 
4246
- /**
4247
- * This is a list of all SVG attributes that need special casing,
4248
- * namespacing, or boolean value assignment.
4249
- *
4250
- * When adding attributes to this list, be sure to also add them to
4251
- * the `possibleStandardNames` module to ensure casing and incorrect
4252
- * name warnings.
4253
- *
4254
- * SVG Attributes List:
4255
- * https://www.w3.org/TR/SVG/attindex.html
4256
- * SMIL Spec:
4257
- * https://www.w3.org/TR/smil
4258
- */
4259
- var ATTRS = ['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'x-height', 'xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type', 'xml:base', 'xmlns:xlink', 'xml:lang', 'xml:space'];
4275
+ function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attributeNamespace) {
4276
+ this.acceptsBooleans = type === BOOLEANISH_STRING || type === BOOLEAN || type === OVERLOADED_BOOLEAN;
4277
+ this.attributeName = attributeName;
4278
+ this.attributeNamespace = attributeNamespace;
4279
+ this.mustUseProperty = mustUseProperty;
4280
+ this.propertyName = name;
4281
+ this.type = type;
4282
+ }
4260
4283
 
4261
- var SVGDOMPropertyConfig = {
4262
- Properties: {
4263
- autoReverse: HAS_STRING_BOOLEAN_VALUE$1,
4264
- externalResourcesRequired: HAS_STRING_BOOLEAN_VALUE$1,
4265
- preserveAlpha: HAS_STRING_BOOLEAN_VALUE$1
4266
- },
4267
- DOMAttributeNames: {
4268
- autoReverse: 'autoReverse',
4269
- externalResourcesRequired: 'externalResourcesRequired',
4270
- preserveAlpha: 'preserveAlpha'
4271
- },
4272
- DOMAttributeNamespaces: {
4273
- xlinkActuate: NS.xlink,
4274
- xlinkArcrole: NS.xlink,
4275
- xlinkHref: NS.xlink,
4276
- xlinkRole: NS.xlink,
4277
- xlinkShow: NS.xlink,
4278
- xlinkTitle: NS.xlink,
4279
- xlinkType: NS.xlink,
4280
- xmlBase: NS.xml,
4281
- xmlLang: NS.xml,
4282
- xmlSpace: NS.xml
4283
- }
4284
- };
4284
+ // When adding attributes to this list, be sure to also add them to
4285
+ // the `possibleStandardNames` module to ensure casing and incorrect
4286
+ // name warnings.
4287
+ var properties = {};
4285
4288
 
4286
- var CAMELIZE = /[\-\:]([a-z])/g;
4287
- var capitalize = function (token) {
4288
- return token[1].toUpperCase();
4289
- };
4289
+ // These props are reserved by React. They shouldn't be written to the DOM.
4290
+ ['children', 'dangerouslySetInnerHTML',
4291
+ // TODO: This prevents the assignment of defaultValue to regular
4292
+ // elements (not just inputs). Now that ReactDOMInput assigns to the
4293
+ // defaultValue property -- do we need this?
4294
+ 'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'].forEach(function (name) {
4295
+ properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty
4296
+ name, // attributeName
4297
+ null);
4298
+ });
4290
4299
 
4291
- ATTRS.forEach(function (original) {
4292
- var reactName = original.replace(CAMELIZE, capitalize);
4300
+ // A few React string attributes have a different name.
4301
+ // This is a mapping from React prop names to the attribute names.
4302
+ [['acceptCharset', 'accept-charset'], ['className', 'class'], ['htmlFor', 'for'], ['httpEquiv', 'http-equiv']].forEach(function (_ref) {
4303
+ var name = _ref[0],
4304
+ attributeName = _ref[1];
4293
4305
 
4294
- SVGDOMPropertyConfig.Properties[reactName] = 0;
4295
- SVGDOMPropertyConfig.DOMAttributeNames[reactName] = original;
4306
+ properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
4307
+ attributeName, // attributeName
4308
+ null);
4296
4309
  });
4297
4310
 
4298
- injection.injectDOMPropertyConfig(HTMLDOMPropertyConfig);
4299
- injection.injectDOMPropertyConfig(SVGDOMPropertyConfig);
4311
+ // These are "enumerated" HTML attributes that accept "true" and "false".
4312
+ // In React, we let users pass `true` and `false` even though technically
4313
+ // these aren't boolean attributes (they are coerced to strings).
4314
+ ['contentEditable', 'draggable', 'spellCheck', 'value'].forEach(function (name) {
4315
+ properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
4316
+ name.toLowerCase(), // attributeName
4317
+ null);
4318
+ });
4300
4319
 
4301
- // TODO: this is special because it gets imported during build.
4320
+ // These are "enumerated" SVG attributes that accept "true" and "false".
4321
+ // In React, we let users pass `true` and `false` even though technically
4322
+ // these aren't boolean attributes (they are coerced to strings).
4323
+ // Since these are SVG attributes, their attribute names are case-sensitive.
4324
+ ['autoReverse', 'externalResourcesRequired', 'preserveAlpha'].forEach(function (name) {
4325
+ properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
4326
+ name, // attributeName
4327
+ null);
4328
+ });
4302
4329
 
4303
- var ReactVersion = '16.2.0';
4330
+ // These are HTML boolean attributes.
4331
+ ['allowFullScreen', 'async',
4332
+ // Note: there is a special case that prevents it from being written to the DOM
4333
+ // on the client side because the browsers are inconsistent. Instead we call focus().
4334
+ 'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'formNoValidate', 'hidden', 'loop', 'noModule', 'noValidate', 'open', 'playsInline', 'readOnly', 'required', 'reversed', 'scoped', 'seamless',
4335
+ // Microdata
4336
+ 'itemScope'].forEach(function (name) {
4337
+ properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty
4338
+ name.toLowerCase(), // attributeName
4339
+ null);
4340
+ });
4304
4341
 
4305
- var describeComponentFrame = function (name, source, ownerName) {
4306
- return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');
4307
- };
4342
+ // These are the few React props that we set as DOM properties
4343
+ // rather than attributes. These are all booleans.
4344
+ ['checked',
4345
+ // Note: `option.selected` is not updated if `select.multiple` is
4346
+ // disabled with `removeAttribute`. We have special logic for handling this.
4347
+ 'multiple', 'muted', 'selected'].forEach(function (name) {
4348
+ properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty
4349
+ name.toLowerCase(), // attributeName
4350
+ null);
4351
+ });
4308
4352
 
4309
- var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
4353
+ // These are HTML attributes that are "overloaded booleans": they behave like
4354
+ // booleans, but can also accept a string value.
4355
+ ['capture', 'download'].forEach(function (name) {
4356
+ properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty
4357
+ name.toLowerCase(), // attributeName
4358
+ null);
4359
+ });
4310
4360
 
4311
- var ReactCurrentOwner = ReactInternals.ReactCurrentOwner;
4312
- var ReactDebugCurrentFrame = ReactInternals.ReactDebugCurrentFrame;
4361
+ // These are HTML attributes that must be positive numbers.
4362
+ ['cols', 'rows', 'size', 'span'].forEach(function (name) {
4363
+ properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty
4364
+ name.toLowerCase(), // attributeName
4365
+ null);
4366
+ });
4313
4367
 
4314
- // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
4315
- // nor polyfill, then a plain number is used for performance.
4316
- var hasSymbol = typeof Symbol === 'function' && Symbol['for'];
4368
+ // These are HTML attributes that must be numbers.
4369
+ ['rowSpan', 'start'].forEach(function (name) {
4370
+ properties[name] = new PropertyInfoRecord(name, NUMERIC, false, // mustUseProperty
4371
+ name.toLowerCase(), // attributeName
4372
+ null);
4373
+ });
4317
4374
 
4375
+ var CAMELIZE = /[\-\:]([a-z])/g;
4376
+ var capitalize = function (token) {
4377
+ return token[1].toUpperCase();
4378
+ };
4318
4379
 
4380
+ // This is a list of all SVG attributes that need special casing, namespacing,
4381
+ // or boolean value assignment. Regular attributes that just accept strings
4382
+ // and have the same names are omitted, just like in the HTML whitelist.
4383
+ // Some of these attributes can be hard to find. This list was created by
4384
+ // scrapping the MDN documentation.
4385
+ ['accent-height', 'alignment-baseline', 'arabic-form', 'baseline-shift', 'cap-height', 'clip-path', 'clip-rule', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'dominant-baseline', 'enable-background', 'fill-opacity', 'fill-rule', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-name', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'horiz-adv-x', 'horiz-origin-x', 'image-rendering', 'letter-spacing', 'lighting-color', 'marker-end', 'marker-mid', 'marker-start', 'overline-position', 'overline-thickness', 'paint-order', 'panose-1', 'pointer-events', 'rendering-intent', 'shape-rendering', 'stop-color', 'stop-opacity', 'strikethrough-position', 'strikethrough-thickness', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-decoration', 'text-rendering', 'underline-position', 'underline-thickness', 'unicode-bidi', 'unicode-range', 'units-per-em', 'v-alphabetic', 'v-hanging', 'v-ideographic', 'v-mathematical', 'vector-effect', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'word-spacing', 'writing-mode', 'xmlns:xlink', 'x-height'].forEach(function (attributeName) {
4386
+ var name = attributeName.replace(CAMELIZE, capitalize);
4387
+ properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
4388
+ attributeName, null);
4389
+ });
4319
4390
 
4391
+ // String SVG attributes with the xlink namespace.
4392
+ ['xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type'].forEach(function (attributeName) {
4393
+ var name = attributeName.replace(CAMELIZE, capitalize);
4394
+ properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
4395
+ attributeName, 'http://www.w3.org/1999/xlink');
4396
+ });
4320
4397
 
4398
+ // String SVG attributes with the xml namespace.
4399
+ ['xml:base', 'xml:lang', 'xml:space'].forEach(function (attributeName) {
4400
+ var name = attributeName.replace(CAMELIZE, capitalize);
4401
+ properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
4402
+ attributeName, 'http://www.w3.org/XML/1998/namespace');
4403
+ });
4321
4404
 
4322
- var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol['for']('react.fragment') : 0xeacb;
4405
+ // Special case: this attribute exists both in HTML and SVG.
4406
+ // Its "tabindex" attribute name is case-sensitive in SVG so we can't just use
4407
+ // its React `tabIndex` name, like we do for attributes that exist only in HTML.
4408
+ properties.tabIndex = new PropertyInfoRecord('tabIndex', STRING, false, // mustUseProperty
4409
+ 'tabindex', // attributeName
4410
+ null);
4323
4411
 
4324
4412
  // code copied and modified from escape-html
4325
4413
  /**
@@ -4345,7 +4433,7 @@
4345
4433
  return str;
4346
4434
  }
4347
4435
 
4348
- var escape;
4436
+ var escape = void 0;
4349
4437
  var html = '';
4350
4438
  var index = 0;
4351
4439
  var lastIndex = 0;
@@ -4414,35 +4502,6 @@
4414
4502
  return '"' + escapeTextForBrowser(value) + '"';
4415
4503
  }
4416
4504
 
4417
- // isAttributeNameSafe() is currently duplicated in DOMPropertyOperations.
4418
- // TODO: Find a better place for this.
4419
- var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');
4420
- var illegalAttributeNameCache = {};
4421
- var validatedAttributeNameCache = {};
4422
- function isAttributeNameSafe(attributeName) {
4423
- if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {
4424
- return true;
4425
- }
4426
- if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {
4427
- return false;
4428
- }
4429
- if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
4430
- validatedAttributeNameCache[attributeName] = true;
4431
- return true;
4432
- }
4433
- illegalAttributeNameCache[attributeName] = true;
4434
- {
4435
- warning(false, 'Invalid attribute name: `%s`', attributeName);
4436
- }
4437
- return false;
4438
- }
4439
-
4440
- // shouldIgnoreValue() is currently duplicated in DOMPropertyOperations.
4441
- // TODO: Find a better place for this.
4442
- function shouldIgnoreValue(propertyInfo, value) {
4443
- return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;
4444
- }
4445
-
4446
4505
  /**
4447
4506
  * Operations for dealing with DOM properties.
4448
4507
  */
@@ -4468,23 +4527,24 @@
4468
4527
  */
4469
4528
  function createMarkupForProperty(name, value) {
4470
4529
  var propertyInfo = getPropertyInfo(name);
4471
- if (propertyInfo) {
4472
- if (shouldIgnoreValue(propertyInfo, value)) {
4473
- return '';
4474
- }
4530
+ if (name !== 'style' && shouldIgnoreAttribute(name, propertyInfo, false)) {
4531
+ return '';
4532
+ }
4533
+ if (shouldRemoveAttribute(name, value, propertyInfo, false)) {
4534
+ return '';
4535
+ }
4536
+ if (propertyInfo !== null) {
4475
4537
  var attributeName = propertyInfo.attributeName;
4476
- if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {
4538
+ var type = propertyInfo.type;
4539
+
4540
+ if (type === BOOLEAN || type === OVERLOADED_BOOLEAN && value === true) {
4477
4541
  return attributeName + '=""';
4478
- } else if (typeof value !== 'boolean' || shouldAttributeAcceptBooleanValue(name)) {
4542
+ } else {
4479
4543
  return attributeName + '=' + quoteAttributeValueForBrowser(value);
4480
4544
  }
4481
- } else if (shouldSetAttribute(name, value)) {
4482
- if (value == null) {
4483
- return '';
4484
- }
4545
+ } else {
4485
4546
  return name + '=' + quoteAttributeValueForBrowser(value);
4486
4547
  }
4487
- return null;
4488
4548
  }
4489
4549
 
4490
4550
  /**
@@ -4618,7 +4678,7 @@
4618
4678
  !(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML) ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.') : void 0;
4619
4679
  }
4620
4680
  {
4621
- warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.%s', getStack());
4681
+ !(props.suppressContentEditableWarning || !props.contentEditable || props.children == null) ? warning(false, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.%s', getStack()) : void 0;
4622
4682
  }
4623
4683
  !(props.style == null || typeof props.style === 'object') ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \'em\'}} when using JSX.%s', getStack()) : void 0;
4624
4684
  }
@@ -5150,6 +5210,7 @@
5150
5210
  multiple: 'multiple',
5151
5211
  muted: 'muted',
5152
5212
  name: 'name',
5213
+ nomodule: 'noModule',
5153
5214
  nonce: 'nonce',
5154
5215
  novalidate: 'noValidate',
5155
5216
  open: 'open',
@@ -5542,16 +5603,18 @@
5542
5603
  return stack != null ? stack : '';
5543
5604
  }
5544
5605
 
5606
+ var validateProperty$1 = function () {};
5607
+
5545
5608
  {
5546
5609
  var warnedProperties$1 = {};
5547
- var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
5610
+ var _hasOwnProperty = Object.prototype.hasOwnProperty;
5548
5611
  var EVENT_NAME_REGEX = /^on./;
5549
5612
  var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
5550
5613
  var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
5551
5614
  var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
5552
5615
 
5553
- var validateProperty$1 = function (tagName, name, value, canUseEventSystem) {
5554
- if (hasOwnProperty$1.call(warnedProperties$1, name) && warnedProperties$1[name]) {
5616
+ validateProperty$1 = function (tagName, name, value, canUseEventSystem) {
5617
+ if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {
5555
5618
  return true;
5556
5619
  }
5557
5620
 
@@ -5618,7 +5681,8 @@
5618
5681
  return true;
5619
5682
  }
5620
5683
 
5621
- var isReserved = isReservedProp(name);
5684
+ var propertyInfo = getPropertyInfo(name);
5685
+ var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED;
5622
5686
 
5623
5687
  // Known attributes should match the casing specified in the property config.
5624
5688
  if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
@@ -5636,7 +5700,7 @@
5636
5700
  return true;
5637
5701
  }
5638
5702
 
5639
- if (typeof value === 'boolean' && !shouldAttributeAcceptBooleanValue(name)) {
5703
+ if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
5640
5704
  if (value) {
5641
5705
  warning(false, 'Received `%s` for a non-boolean attribute `%s`.\n\n' + 'If you want to write it to the DOM, pass a string instead: ' + '%s="%s" or %s={value.toString()}.%s', value, name, name, value, name, getStackAddendum$3());
5642
5706
  } else {
@@ -5653,7 +5717,7 @@
5653
5717
  }
5654
5718
 
5655
5719
  // Warn when a known attribute is a bad type
5656
- if (!shouldSetAttribute(name, value)) {
5720
+ if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
5657
5721
  warnedProperties$1[name] = true;
5658
5722
  return false;
5659
5723
  }
@@ -5694,16 +5758,25 @@
5694
5758
 
5695
5759
  var toArray = React.Children.toArray;
5696
5760
 
5761
+ var currentDebugStack = void 0;
5762
+ var currentDebugElementStack = void 0;
5763
+
5697
5764
  var getStackAddendum = emptyFunction.thatReturns('');
5765
+ var describeStackFrame = emptyFunction.thatReturns('');
5766
+
5767
+ var validatePropertiesInDevelopment = function (type, props) {};
5768
+ var setCurrentDebugStack = function (stack) {};
5769
+ var pushElementToDebugStack = function (element) {};
5770
+ var resetCurrentDebugStack = function () {};
5698
5771
 
5699
5772
  {
5700
- var validatePropertiesInDevelopment = function (type, props) {
5773
+ validatePropertiesInDevelopment = function (type, props) {
5701
5774
  validateProperties(type, props);
5702
5775
  validateProperties$1(type, props);
5703
5776
  validateProperties$2(type, props, /* canUseEventSystem */false);
5704
5777
  };
5705
5778
 
5706
- var describeStackFrame = function (element) {
5779
+ describeStackFrame = function (element) {
5707
5780
  var source = element._source;
5708
5781
  var type = element.type;
5709
5782
  var name = getComponentName(type);
@@ -5711,9 +5784,9 @@
5711
5784
  return describeComponentFrame(name, source, ownerName);
5712
5785
  };
5713
5786
 
5714
- var currentDebugStack = null;
5715
- var currentDebugElementStack = null;
5716
- var setCurrentDebugStack = function (stack) {
5787
+ currentDebugStack = null;
5788
+ currentDebugElementStack = null;
5789
+ setCurrentDebugStack = function (stack) {
5717
5790
  var frame = stack[stack.length - 1];
5718
5791
  currentDebugElementStack = frame.debugElementStack;
5719
5792
  // We are about to enter a new composite stack, reset the array.
@@ -5721,12 +5794,12 @@
5721
5794
  currentDebugStack = stack;
5722
5795
  ReactDebugCurrentFrame.getCurrentStack = getStackAddendum;
5723
5796
  };
5724
- var pushElementToDebugStack = function (element) {
5797
+ pushElementToDebugStack = function (element) {
5725
5798
  if (currentDebugElementStack !== null) {
5726
5799
  currentDebugElementStack.push(element);
5727
5800
  }
5728
5801
  };
5729
- var resetCurrentDebugStack = function () {
5802
+ resetCurrentDebugStack = function () {
5730
5803
  currentDebugElementStack = null;
5731
5804
  currentDebugStack = null;
5732
5805
  ReactDebugCurrentFrame.getCurrentStack = null;
@@ -5754,6 +5827,10 @@
5754
5827
  var didWarnDefaultTextareaValue = false;
5755
5828
  var didWarnInvalidOptionChildren = false;
5756
5829
  var didWarnAboutNoopUpdateForComponent = {};
5830
+ var didWarnAboutBadClass = {};
5831
+ var didWarnAboutDeprecatedWillMount = {};
5832
+ var didWarnAboutUndefinedDerivedState = {};
5833
+ var didWarnAboutUninitializedState = {};
5757
5834
  var valuePropNames = ['value', 'defaultValue'];
5758
5835
  var newlineEatingTags = {
5759
5836
  listing: true,
@@ -5807,8 +5884,8 @@
5807
5884
 
5808
5885
  function warnNoop(publicInstance, callerName) {
5809
5886
  {
5810
- var constructor = publicInstance.constructor;
5811
- var componentName = constructor && getComponentName(constructor) || 'ReactClass';
5887
+ var _constructor = publicInstance.constructor;
5888
+ var componentName = _constructor && getComponentName(_constructor) || 'ReactClass';
5812
5889
  var warningKey = componentName + '.' + callerName;
5813
5890
  if (didWarnAboutNoopUpdateForComponent[warningKey]) {
5814
5891
  return;
@@ -5905,7 +5982,7 @@
5905
5982
  }
5906
5983
 
5907
5984
  var STYLE = 'style';
5908
- var RESERVED_PROPS$1 = {
5985
+ var RESERVED_PROPS = {
5909
5986
  children: null,
5910
5987
  dangerouslySetInnerHTML: null,
5911
5988
  suppressContentEditableWarning: null,
@@ -5928,7 +6005,7 @@
5928
6005
  }
5929
6006
  var markup = null;
5930
6007
  if (isCustomComponent(tagLowercase, props)) {
5931
- if (!RESERVED_PROPS$1.hasOwnProperty(propKey)) {
6008
+ if (!RESERVED_PROPS.hasOwnProperty(propKey)) {
5932
6009
  markup = createMarkupForCustomAttribute(propKey, propValue);
5933
6010
  }
5934
6011
  } else {
@@ -5961,15 +6038,20 @@
5961
6038
  while (React.isValidElement(child)) {
5962
6039
  // Safe because we just checked it's an element.
5963
6040
  var element = child;
6041
+ var Component = element.type;
5964
6042
  {
5965
6043
  pushElementToDebugStack(element);
5966
6044
  }
5967
- var Component = element.type;
5968
6045
  if (typeof Component !== 'function') {
5969
6046
  break;
5970
6047
  }
6048
+ processChild(element, Component);
6049
+ }
6050
+
6051
+ // Extra closure so queue and replace can be captured properly
6052
+ function processChild(element, Component) {
5971
6053
  var publicContext = processContext(Component, context);
5972
- var inst;
6054
+
5973
6055
  var queue = [];
5974
6056
  var replace = false;
5975
6057
  var updater = {
@@ -5986,23 +6068,62 @@
5986
6068
  replace = true;
5987
6069
  queue = [completeState];
5988
6070
  },
5989
- enqueueSetState: function (publicInstance, partialState) {
6071
+ enqueueSetState: function (publicInstance, currentPartialState) {
5990
6072
  if (queue === null) {
5991
6073
  warnNoop(publicInstance, 'setState');
5992
6074
  return null;
5993
6075
  }
5994
- queue.push(partialState);
6076
+ queue.push(currentPartialState);
5995
6077
  }
5996
6078
  };
5997
6079
 
6080
+ var inst = void 0;
5998
6081
  if (shouldConstruct(Component)) {
5999
6082
  inst = new Component(element.props, publicContext, updater);
6083
+
6084
+ if (typeof Component.getDerivedStateFromProps === 'function') {
6085
+ {
6086
+ if (inst.state === null || inst.state === undefined) {
6087
+ var componentName = getComponentName(Component) || 'Unknown';
6088
+ if (!didWarnAboutUninitializedState[componentName]) {
6089
+ warning(false, '%s: Did not properly initialize state during construction. ' + 'Expected state to be an object, but it was %s.', componentName, inst.state === null ? 'null' : 'undefined');
6090
+ didWarnAboutUninitializedState[componentName] = true;
6091
+ }
6092
+ }
6093
+ }
6094
+
6095
+ var partialState = Component.getDerivedStateFromProps.call(null, element.props, inst.state);
6096
+
6097
+ {
6098
+ if (partialState === undefined) {
6099
+ var _componentName = getComponentName(Component) || 'Unknown';
6100
+ if (!didWarnAboutUndefinedDerivedState[_componentName]) {
6101
+ warning(false, '%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', _componentName);
6102
+ didWarnAboutUndefinedDerivedState[_componentName] = true;
6103
+ }
6104
+ }
6105
+ }
6106
+
6107
+ if (partialState != null) {
6108
+ inst.state = _assign({}, inst.state, partialState);
6109
+ }
6110
+ }
6000
6111
  } else {
6112
+ {
6113
+ if (Component.prototype && typeof Component.prototype.render === 'function') {
6114
+ var _componentName2 = getComponentName(Component) || 'Unknown';
6115
+
6116
+ if (!didWarnAboutBadClass[_componentName2]) {
6117
+ warning(false, "The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', _componentName2, _componentName2);
6118
+ didWarnAboutBadClass[_componentName2] = true;
6119
+ }
6120
+ }
6121
+ }
6001
6122
  inst = Component(element.props, publicContext, updater);
6002
6123
  if (inst == null || inst.render == null) {
6003
6124
  child = inst;
6004
6125
  validateRenderResult(child, Component);
6005
- continue;
6126
+ return;
6006
6127
  }
6007
6128
  }
6008
6129
 
@@ -6014,8 +6135,30 @@
6014
6135
  if (initialState === undefined) {
6015
6136
  inst.state = initialState = null;
6016
6137
  }
6017
- if (inst.componentWillMount) {
6018
- inst.componentWillMount();
6138
+ if (typeof inst.UNSAFE_componentWillMount === 'function' || typeof inst.componentWillMount === 'function') {
6139
+ if (typeof inst.componentWillMount === 'function') {
6140
+ {
6141
+ if (warnAboutDeprecatedLifecycles && inst.componentWillMount.__suppressDeprecationWarning !== true) {
6142
+ var _componentName3 = getComponentName(Component) || 'Unknown';
6143
+
6144
+ if (!didWarnAboutDeprecatedWillMount[_componentName3]) {
6145
+ lowPriorityWarning$1(false, '%s: componentWillMount() is deprecated and will be ' + 'removed in the next major version. Read about the motivations ' + 'behind this change: ' + 'https://fb.me/react-async-component-lifecycle-hooks' + '\n\n' + 'As a temporary workaround, you can rename to ' + 'UNSAFE_componentWillMount instead.', _componentName3);
6146
+ didWarnAboutDeprecatedWillMount[_componentName3] = true;
6147
+ }
6148
+ }
6149
+ }
6150
+
6151
+ // In order to support react-lifecycles-compat polyfilled components,
6152
+ // Unsafe lifecycles should not be invoked for any component with the new gDSFP.
6153
+ if (typeof Component.getDerivedStateFromProps !== 'function') {
6154
+ inst.componentWillMount();
6155
+ }
6156
+ }
6157
+ if (typeof inst.UNSAFE_componentWillMount === 'function' && typeof Component.getDerivedStateFromProps !== 'function') {
6158
+ // In order to support react-lifecycles-compat polyfilled components,
6159
+ // Unsafe lifecycles should not be invoked for any component with the new gDSFP.
6160
+ inst.UNSAFE_componentWillMount();
6161
+ }
6019
6162
  if (queue.length) {
6020
6163
  var oldQueue = queue;
6021
6164
  var oldReplace = replace;
@@ -6029,13 +6172,13 @@
6029
6172
  var dontMutate = true;
6030
6173
  for (var i = oldReplace ? 1 : 0; i < oldQueue.length; i++) {
6031
6174
  var partial = oldQueue[i];
6032
- var partialState = typeof partial === 'function' ? partial.call(inst, nextState, element.props, publicContext) : partial;
6033
- if (partialState) {
6175
+ var _partialState = typeof partial === 'function' ? partial.call(inst, nextState, element.props, publicContext) : partial;
6176
+ if (_partialState != null) {
6034
6177
  if (dontMutate) {
6035
6178
  dontMutate = false;
6036
- nextState = _assign({}, nextState, partialState);
6179
+ nextState = _assign({}, nextState, _partialState);
6037
6180
  } else {
6038
- _assign(nextState, partialState);
6181
+ _assign(nextState, _partialState);
6039
6182
  }
6040
6183
  }
6041
6184
  }
@@ -6056,7 +6199,7 @@
6056
6199
  }
6057
6200
  validateRenderResult(child, Component);
6058
6201
 
6059
- var childContext;
6202
+ var childContext = void 0;
6060
6203
  if (typeof inst.getChildContext === 'function') {
6061
6204
  var childContextTypes = Component.childContextTypes;
6062
6205
  if (typeof childContextTypes === 'object') {
@@ -6082,6 +6225,7 @@
6082
6225
  var flatChildren = flattenTopLevelChildren(children);
6083
6226
 
6084
6227
  var topFrame = {
6228
+ type: null,
6085
6229
  // Assume all trees start in the HTML namespace (not totally true, but
6086
6230
  // this is what we did historically)
6087
6231
  domNamespace: Namespaces.html,
@@ -6098,10 +6242,37 @@
6098
6242
  this.currentSelectValue = null;
6099
6243
  this.previousWasTextNode = false;
6100
6244
  this.makeStaticMarkup = makeStaticMarkup;
6245
+
6246
+ // Context (new API)
6247
+ this.providerStack = []; // Stack of provider objects
6248
+ this.providerIndex = -1;
6101
6249
  }
6102
6250
  // TODO: type this more strictly:
6103
6251
 
6104
6252
 
6253
+ ReactDOMServerRenderer.prototype.pushProvider = function pushProvider(provider) {
6254
+ this.providerIndex += 1;
6255
+ this.providerStack[this.providerIndex] = provider;
6256
+ var context = provider.type._context;
6257
+ context._currentValue = provider.props.value;
6258
+ };
6259
+
6260
+ ReactDOMServerRenderer.prototype.popProvider = function popProvider(provider) {
6261
+ {
6262
+ !(this.providerIndex > -1 && provider === this.providerStack[this.providerIndex]) ? warning(false, 'Unexpected pop.') : void 0;
6263
+ }
6264
+ this.providerStack[this.providerIndex] = null;
6265
+ this.providerIndex -= 1;
6266
+ var context = provider.type._context;
6267
+ if (this.providerIndex < 0) {
6268
+ context._currentValue = context._defaultValue;
6269
+ } else {
6270
+ // We assume this type is correct because of the index check above.
6271
+ var previousProvider = this.providerStack[this.providerIndex];
6272
+ context._currentValue = previousProvider.props.value;
6273
+ }
6274
+ };
6275
+
6105
6276
  ReactDOMServerRenderer.prototype.read = function read(bytes) {
6106
6277
  if (this.exhausted) {
6107
6278
  return null;
@@ -6115,14 +6286,17 @@
6115
6286
  }
6116
6287
  var frame = this.stack[this.stack.length - 1];
6117
6288
  if (frame.childIndex >= frame.children.length) {
6118
- var footer = frame.footer;
6119
- out += footer;
6120
- if (footer !== '') {
6289
+ var _footer = frame.footer;
6290
+ out += _footer;
6291
+ if (_footer !== '') {
6121
6292
  this.previousWasTextNode = false;
6122
6293
  }
6123
6294
  this.stack.pop();
6124
- if (frame.tag === 'select') {
6295
+ if (frame.type === 'select') {
6125
6296
  this.currentSelectValue = null;
6297
+ } else if (frame.type != null && frame.type.type != null && frame.type.type.$$typeof === REACT_PROVIDER_TYPE) {
6298
+ var provider = frame.type;
6299
+ this.popProvider(provider);
6126
6300
  }
6127
6301
  continue;
6128
6302
  }
@@ -6154,7 +6328,7 @@
6154
6328
  this.previousWasTextNode = true;
6155
6329
  return escapeTextForBrowser(text);
6156
6330
  } else {
6157
- var nextChild;
6331
+ var nextChild = void 0;
6158
6332
 
6159
6333
  var _resolve = resolve(child, context);
6160
6334
 
@@ -6164,8 +6338,16 @@
6164
6338
  if (nextChild === null || nextChild === false) {
6165
6339
  return '';
6166
6340
  } else if (!React.isValidElement(nextChild)) {
6341
+ if (nextChild != null && nextChild.$$typeof != null) {
6342
+ // Catch unexpected special types early.
6343
+ var $$typeof = nextChild.$$typeof;
6344
+ !($$typeof !== REACT_PORTAL_TYPE) ? invariant(false, 'Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.') : void 0;
6345
+ // Catch-all to prevent an infinite loop if React.Children.toArray() supports some new type.
6346
+ invariant(false, 'Unknown element-like object type: %s. This is likely a bug in React. Please file an issue.', $$typeof.toString());
6347
+ }
6167
6348
  var nextChildren = toArray(nextChild);
6168
6349
  var frame = {
6350
+ type: null,
6169
6351
  domNamespace: parentNamespace,
6170
6352
  children: nextChildren,
6171
6353
  childIndex: 0,
@@ -6177,25 +6359,122 @@
6177
6359
  }
6178
6360
  this.stack.push(frame);
6179
6361
  return '';
6180
- } else if (nextChild.type === REACT_FRAGMENT_TYPE) {
6181
- var _nextChildren = toArray(nextChild.props.children);
6182
- var _frame = {
6183
- domNamespace: parentNamespace,
6184
- children: _nextChildren,
6185
- childIndex: 0,
6186
- context: context,
6187
- footer: ''
6188
- };
6189
- {
6190
- _frame.debugElementStack = [];
6191
- }
6192
- this.stack.push(_frame);
6193
- return '';
6194
- } else {
6195
- // Safe because we just checked it's an element.
6196
- var nextElement = nextChild;
6362
+ }
6363
+ // Safe because we just checked it's an element.
6364
+ var nextElement = nextChild;
6365
+ var elementType = nextElement.type;
6366
+
6367
+ if (typeof elementType === 'string') {
6197
6368
  return this.renderDOM(nextElement, context, parentNamespace);
6198
6369
  }
6370
+
6371
+ switch (elementType) {
6372
+ case REACT_STRICT_MODE_TYPE:
6373
+ case REACT_ASYNC_MODE_TYPE:
6374
+ case REACT_FRAGMENT_TYPE:
6375
+ {
6376
+ var _nextChildren = toArray(nextChild.props.children);
6377
+ var _frame = {
6378
+ type: null,
6379
+ domNamespace: parentNamespace,
6380
+ children: _nextChildren,
6381
+ childIndex: 0,
6382
+ context: context,
6383
+ footer: ''
6384
+ };
6385
+ {
6386
+ _frame.debugElementStack = [];
6387
+ }
6388
+ this.stack.push(_frame);
6389
+ return '';
6390
+ }
6391
+ case REACT_CALL_TYPE:
6392
+ case REACT_RETURN_TYPE:
6393
+ invariant(false, 'The experimental Call and Return types are not currently supported by the server renderer.');
6394
+ // eslint-disable-next-line-no-fallthrough
6395
+ default:
6396
+ break;
6397
+ }
6398
+ if (typeof elementType === 'object' && elementType !== null) {
6399
+ switch (elementType.$$typeof) {
6400
+ case REACT_FORWARD_REF_TYPE:
6401
+ {
6402
+ var element = nextChild;
6403
+ var _nextChildren2 = toArray(elementType.render(element.props, element.ref));
6404
+ var _frame2 = {
6405
+ type: null,
6406
+ domNamespace: parentNamespace,
6407
+ children: _nextChildren2,
6408
+ childIndex: 0,
6409
+ context: context,
6410
+ footer: ''
6411
+ };
6412
+ {
6413
+ _frame2.debugElementStack = [];
6414
+ }
6415
+ this.stack.push(_frame2);
6416
+ return '';
6417
+ }
6418
+ case REACT_PROVIDER_TYPE:
6419
+ {
6420
+ var provider = nextChild;
6421
+ var nextProps = provider.props;
6422
+ var _nextChildren3 = toArray(nextProps.children);
6423
+ var _frame3 = {
6424
+ type: provider,
6425
+ domNamespace: parentNamespace,
6426
+ children: _nextChildren3,
6427
+ childIndex: 0,
6428
+ context: context,
6429
+ footer: ''
6430
+ };
6431
+ {
6432
+ _frame3.debugElementStack = [];
6433
+ }
6434
+
6435
+ this.pushProvider(provider);
6436
+
6437
+ this.stack.push(_frame3);
6438
+ return '';
6439
+ }
6440
+ case REACT_CONTEXT_TYPE:
6441
+ {
6442
+ var consumer = nextChild;
6443
+ var _nextProps = consumer.props;
6444
+ var nextValue = consumer.type._currentValue;
6445
+
6446
+ var _nextChildren4 = toArray(_nextProps.children(nextValue));
6447
+ var _frame4 = {
6448
+ type: nextChild,
6449
+ domNamespace: parentNamespace,
6450
+ children: _nextChildren4,
6451
+ childIndex: 0,
6452
+ context: context,
6453
+ footer: ''
6454
+ };
6455
+ {
6456
+ _frame4.debugElementStack = [];
6457
+ }
6458
+ this.stack.push(_frame4);
6459
+ return '';
6460
+ }
6461
+ default:
6462
+ break;
6463
+ }
6464
+ }
6465
+
6466
+ var info = '';
6467
+ {
6468
+ var owner = nextElement._owner;
6469
+ if (elementType === undefined || typeof elementType === 'object' && elementType !== null && Object.keys(elementType).length === 0) {
6470
+ info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.';
6471
+ }
6472
+ var ownerName = owner ? getComponentName(owner) : null;
6473
+ if (ownerName) {
6474
+ info += '\n\nCheck the render method of `' + ownerName + '`.';
6475
+ }
6476
+ }
6477
+ invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', elementType == null ? elementType : typeof elementType, info);
6199
6478
  }
6200
6479
  };
6201
6480
 
@@ -6211,7 +6490,7 @@
6211
6490
  if (namespace === Namespaces.html) {
6212
6491
  // Should this check be gated by parent namespace? Not sure we want to
6213
6492
  // allow <SVG> or <mATH>.
6214
- warning(tag === element.type, '<%s /> is using uppercase HTML. Always use lowercase HTML tags ' + 'in React.', element.type);
6493
+ !(tag === element.type) ? warning(false, '<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', element.type) : void 0;
6215
6494
  }
6216
6495
  }
6217
6496
 
@@ -6307,7 +6586,7 @@
6307
6586
  var selectValue = this.currentSelectValue;
6308
6587
  var optionChildren = flattenOptionChildren(props.children);
6309
6588
  if (selectValue != null) {
6310
- var value;
6589
+ var value = void 0;
6311
6590
  if (props.value != null) {
6312
6591
  value = props.value + '';
6313
6592
  } else {
@@ -6350,7 +6629,7 @@
6350
6629
  out += '>';
6351
6630
  footer = '</' + element.type + '>';
6352
6631
  }
6353
- var children;
6632
+ var children = void 0;
6354
6633
  var innerMarkup = getNonChildrenInnerMarkup(props);
6355
6634
  if (innerMarkup != null) {
6356
6635
  children = [];
@@ -6373,7 +6652,7 @@
6373
6652
  }
6374
6653
  var frame = {
6375
6654
  domNamespace: getChildNamespace(parentNamespace, element.type),
6376
- tag: tag,
6655
+ type: tag,
6377
6656
  children: children,
6378
6657
  childIndex: 0,
6379
6658
  context: context,