react-rails 2.4.4 → 2.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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,