react-dom 16.12.0 → 16.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/build-info.json +4 -4
  2. package/cjs/react-dom-server.browser.development.js +331 -594
  3. package/cjs/react-dom-server.browser.production.min.js +37 -37
  4. package/cjs/react-dom-server.node.development.js +330 -593
  5. package/cjs/react-dom-server.node.production.min.js +38 -38
  6. package/cjs/react-dom-test-utils.development.js +171 -328
  7. package/cjs/react-dom-test-utils.production.min.js +17 -17
  8. package/cjs/react-dom-unstable-fizz.browser.development.js +3 -21
  9. package/cjs/react-dom-unstable-fizz.browser.production.min.js +2 -2
  10. package/cjs/react-dom-unstable-fizz.node.development.js +2 -18
  11. package/cjs/react-dom-unstable-fizz.node.production.min.js +3 -3
  12. package/cjs/react-dom-unstable-native-dependencies.development.js +190 -305
  13. package/cjs/react-dom-unstable-native-dependencies.production.min.js +23 -27
  14. package/cjs/react-dom.development.js +11227 -13976
  15. package/cjs/react-dom.production.min.js +280 -278
  16. package/cjs/react-dom.profiling.min.js +287 -284
  17. package/package.json +3 -8
  18. package/umd/react-dom-server.browser.development.js +3320 -3594
  19. package/umd/react-dom-server.browser.production.min.js +35 -35
  20. package/umd/react-dom-test-utils.development.js +1200 -1357
  21. package/umd/react-dom-test-utils.production.min.js +23 -23
  22. package/umd/react-dom-unstable-fizz.browser.development.js +105 -123
  23. package/umd/react-dom-unstable-fizz.browser.production.min.js +3 -3
  24. package/umd/react-dom-unstable-native-dependencies.development.js +1333 -1449
  25. package/umd/react-dom-unstable-native-dependencies.production.min.js +21 -22
  26. package/umd/react-dom.development.js +19953 -22713
  27. package/umd/react-dom.production.min.js +229 -232
  28. package/umd/react-dom.profiling.min.js +236 -239
  29. package/cjs/react-dom-unstable-flight-client.development.js +0 -357
  30. package/cjs/react-dom-unstable-flight-client.production.min.js +0 -16
  31. package/cjs/react-dom-unstable-flight-server.browser.development.js +0 -392
  32. package/cjs/react-dom-unstable-flight-server.browser.production.min.js +0 -16
  33. package/cjs/react-dom-unstable-flight-server.node.development.js +0 -415
  34. package/cjs/react-dom-unstable-flight-server.node.production.min.js +0 -16
  35. package/umd/react-dom-unstable-flight-client.development.js +0 -357
  36. package/umd/react-dom-unstable-flight-client.production.min.js +0 -14
  37. package/umd/react-dom-unstable-flight-server.browser.development.js +0 -390
  38. package/umd/react-dom-unstable-flight-server.browser.production.min.js +0 -14
  39. package/unstable-flight-client.js +0 -7
  40. package/unstable-flight-server.browser.js +0 -7
  41. package/unstable-flight-server.js +0 -3
  42. package/unstable-flight-server.node.js +0 -7
@@ -1,4 +1,4 @@
1
- /** @license React v16.12.0
1
+ /** @license React v16.13.0
2
2
  * react-dom-server.node.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -15,67 +15,92 @@ if (process.env.NODE_ENV !== "production") {
15
15
  (function() {
16
16
  'use strict';
17
17
 
18
- var _assign = require('object-assign');
19
18
  var React = require('react');
19
+ var _assign = require('object-assign');
20
20
  var checkPropTypes = require('prop-types/checkPropTypes');
21
21
  var stream = require('stream');
22
22
 
23
- // TODO: this is special because it gets imported during build.
24
-
25
- var ReactVersion = '16.12.0';
23
+ var ReactVersion = '16.13.0';
26
24
 
27
25
  // Do not require this module directly! Use normal `invariant` calls with
28
26
  // template literal strings. The messages will be replaced with error codes
29
27
  // during build.
28
+ function formatProdErrorMessage(code) {
29
+ var url = 'https://reactjs.org/docs/error-decoder.html?invariant=' + code;
30
30
 
31
- /**
32
- * Use invariant() to assert state which your program assumes to be true.
33
- *
34
- * Provide sprintf-style format (only %s is supported) and arguments
35
- * to provide information about what broke and what you were
36
- * expecting.
37
- *
38
- * The invariant message will be stripped in production, but the invariant
39
- * will remain to ensure logic does not differ in production.
40
- */
31
+ for (var i = 1; i < arguments.length; i++) {
32
+ url += '&args[]=' + encodeURIComponent(arguments[i]);
33
+ }
41
34
 
42
- /**
43
- * Similar to invariant but only logs a warning if the condition is not met.
44
- * This can be used to log issues in development environments in critical
45
- * paths. Removing the logging code for production environments will keep the
46
- * same logic and follow the same code paths.
47
- */
48
- var warningWithoutStack = function () {};
35
+ return "Minified React error #" + code + "; visit " + url + " for the full message or " + 'use the non-minified dev environment for full errors and additional ' + 'helpful warnings.';
36
+ }
49
37
 
50
- {
51
- warningWithoutStack = function (condition, format) {
52
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
53
- args[_key - 2] = arguments[_key];
54
- }
38
+ var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; // Prevent newer renderers from RTE when used with older react package versions.
39
+ // Current owner and dispatcher used to share the same ref,
40
+ // but PR #14548 split them out to better support the react-debug-tools package.
55
41
 
56
- if (format === undefined) {
57
- throw new Error('`warningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');
58
- }
42
+ if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) {
43
+ ReactSharedInternals.ReactCurrentDispatcher = {
44
+ current: null
45
+ };
46
+ }
59
47
 
60
- if (args.length > 8) {
61
- // Check before the condition to catch violations early.
62
- throw new Error('warningWithoutStack() currently supports at most 8 arguments.');
48
+ if (!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')) {
49
+ ReactSharedInternals.ReactCurrentBatchConfig = {
50
+ suspense: null
51
+ };
52
+ }
53
+
54
+ // by calls to these methods by a Babel plugin.
55
+ //
56
+ // In PROD (or in packages without access to React internals),
57
+ // they are left as they are instead.
58
+
59
+ function warn(format) {
60
+ {
61
+ for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
62
+ args[_key - 1] = arguments[_key];
63
63
  }
64
64
 
65
- if (condition) {
66
- return;
65
+ printWarning('warn', format, args);
66
+ }
67
+ }
68
+ function error(format) {
69
+ {
70
+ for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
71
+ args[_key2 - 1] = arguments[_key2];
67
72
  }
68
73
 
69
- if (typeof console !== 'undefined') {
70
- var argsWithFormat = args.map(function (item) {
71
- return '' + item;
72
- });
73
- argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
74
- // breaks IE9: https://github.com/facebook/react/issues/13610
74
+ printWarning('error', format, args);
75
+ }
76
+ }
77
+
78
+ function printWarning(level, format, args) {
79
+ // When changing this logic, you might want to also
80
+ // update consoleWithStackDev.www.js as well.
81
+ {
82
+ var hasExistingStack = args.length > 0 && typeof args[args.length - 1] === 'string' && args[args.length - 1].indexOf('\n in') === 0;
75
83
 
76
- Function.prototype.apply.call(console.error, console, argsWithFormat);
84
+ if (!hasExistingStack) {
85
+ var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
86
+ var stack = ReactDebugCurrentFrame.getStackAddendum();
87
+
88
+ if (stack !== '') {
89
+ format += '%s';
90
+ args = args.concat([stack]);
91
+ }
77
92
  }
78
93
 
94
+ var argsWithFormat = args.map(function (item) {
95
+ return '' + item;
96
+ }); // Careful: RN currently depends on this prefix
97
+
98
+ argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it
99
+ // breaks IE9: https://github.com/facebook/react/issues/13610
100
+ // eslint-disable-next-line react-internal/no-production-logging
101
+
102
+ Function.prototype.apply.call(console[level], console, argsWithFormat);
103
+
79
104
  try {
80
105
  // --- Welcome to debugging React ---
81
106
  // This error was thrown as a convenience so that you can use this stack
@@ -86,78 +111,28 @@ var warningWithoutStack = function () {};
86
111
  });
87
112
  throw new Error(message);
88
113
  } catch (x) {}
89
- };
114
+ }
90
115
  }
91
116
 
92
- var warningWithoutStack$1 = warningWithoutStack;
93
-
94
117
  // The Symbol used to tag the ReactElement-like types. If there is no native Symbol
95
118
  // nor polyfill, then a plain number is used for performance.
96
119
  var hasSymbol = typeof Symbol === 'function' && Symbol.for;
97
-
98
120
  var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
99
121
  var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
100
122
  var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
101
123
  var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
102
124
  var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
103
125
  var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
104
- // (unstable) APIs that have been removed. Can we remove the symbols?
105
-
106
-
107
126
  var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
108
127
  var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
109
128
  var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
110
129
  var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
111
130
  var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
112
131
  var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
132
+ var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
113
133
  var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
114
-
115
134
  var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
116
135
 
117
- var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; // Prevent newer renderers from RTE when used with older react package versions.
118
- // Current owner and dispatcher used to share the same ref,
119
- // but PR #14548 split them out to better support the react-debug-tools package.
120
-
121
- if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) {
122
- ReactSharedInternals.ReactCurrentDispatcher = {
123
- current: null
124
- };
125
- }
126
-
127
- if (!ReactSharedInternals.hasOwnProperty('ReactCurrentBatchConfig')) {
128
- ReactSharedInternals.ReactCurrentBatchConfig = {
129
- suspense: null
130
- };
131
- }
132
-
133
- /**
134
- * Similar to invariant but only logs a warning if the condition is not met.
135
- * This can be used to log issues in development environments in critical
136
- * paths. Removing the logging code for production environments will keep the
137
- * same logic and follow the same code paths.
138
- */
139
-
140
- var warning = warningWithoutStack$1;
141
-
142
- {
143
- warning = function (condition, format) {
144
- if (condition) {
145
- return;
146
- }
147
-
148
- var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
149
- var stack = ReactDebugCurrentFrame.getStackAddendum(); // eslint-disable-next-line react-internal/warning-and-invariant-args
150
-
151
- for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
152
- args[_key - 2] = arguments[_key];
153
- }
154
-
155
- warningWithoutStack$1.apply(void 0, [false, format + '%s'].concat(args, [stack]));
156
- };
157
- }
158
-
159
- var warning$1 = warning;
160
-
161
136
  var Uninitialized = -1;
162
137
  var Pending = 0;
163
138
  var Resolved = 1;
@@ -177,7 +152,7 @@ function initializeLazyComponentType(lazyComponent) {
177
152
 
178
153
  {
179
154
  if (defaultExport === undefined) {
180
- warning$1(false, 'lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject);
155
+ error('lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject);
181
156
  }
182
157
  }
183
158
 
@@ -206,7 +181,7 @@ function getComponentName(type) {
206
181
 
207
182
  {
208
183
  if (typeof type.tag === 'number') {
209
- warningWithoutStack$1(false, 'Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
184
+ error('Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
210
185
  }
211
186
  }
212
187
 
@@ -252,6 +227,9 @@ function getComponentName(type) {
252
227
  case REACT_MEMO_TYPE:
253
228
  return getComponentName(type.type);
254
229
 
230
+ case REACT_BLOCK_TYPE:
231
+ return getComponentName(type.render);
232
+
255
233
  case REACT_LAZY_TYPE:
256
234
  {
257
235
  var thenable = type;
@@ -269,63 +247,8 @@ function getComponentName(type) {
269
247
  return null;
270
248
  }
271
249
 
272
- /**
273
- * Forked from fbjs/warning:
274
- * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
275
- *
276
- * Only change is we use console.warn instead of console.error,
277
- * and do nothing when 'console' is not supported.
278
- * This really simplifies the code.
279
- * ---
280
- * Similar to invariant but only logs a warning if the condition is not met.
281
- * This can be used to log issues in development environments in critical
282
- * paths. Removing the logging code for production environments will keep the
283
- * same logic and follow the same code paths.
284
- */
285
- var lowPriorityWarningWithoutStack = function () {};
286
-
287
- {
288
- var printWarning = function (format) {
289
- for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
290
- args[_key - 1] = arguments[_key];
291
- }
292
-
293
- var argIndex = 0;
294
- var message = 'Warning: ' + format.replace(/%s/g, function () {
295
- return args[argIndex++];
296
- });
297
-
298
- if (typeof console !== 'undefined') {
299
- console.warn(message);
300
- }
301
-
302
- try {
303
- // --- Welcome to debugging React ---
304
- // This error was thrown as a convenience so that you can use this stack
305
- // to find the callsite that caused this warning to fire.
306
- throw new Error(message);
307
- } catch (x) {}
308
- };
309
-
310
- lowPriorityWarningWithoutStack = function (condition, format) {
311
- if (format === undefined) {
312
- throw new Error('`lowPriorityWarningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');
313
- }
314
-
315
- if (!condition) {
316
- for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
317
- args[_key2 - 2] = arguments[_key2];
318
- }
319
-
320
- printWarning.apply(void 0, [format].concat(args));
321
- }
322
- };
323
- }
324
-
325
- var lowPriorityWarningWithoutStack$1 = lowPriorityWarningWithoutStack;
326
-
327
250
  var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
328
- var describeComponentFrame = function (name, source, ownerName) {
251
+ function describeComponentFrame (name, source, ownerName) {
329
252
  var sourceInfo = '';
330
253
 
331
254
  if (source) {
@@ -355,71 +278,17 @@ var describeComponentFrame = function (name, source, ownerName) {
355
278
  }
356
279
 
357
280
  return '\n in ' + (name || 'Unknown') + sourceInfo;
358
- };
359
-
360
- // Helps identify side effects in render-phase lifecycle hooks and setState
361
- // reducers by double invoking them in Strict Mode.
362
-
363
- // To preserve the "Pause on caught exceptions" behavior of the debugger, we
364
- // replay the begin phase of a failed component inside invokeGuardedCallback.
365
-
366
- // Warn about deprecated, async-unsafe lifecycles; relates to RFC #6:
367
-
368
- var warnAboutDeprecatedLifecycles = true; // Gather advanced timing metrics for Profiler subtrees.
369
-
370
- // Trace which interactions trigger each commit.
371
-
372
- // SSR experiments
281
+ }
373
282
 
374
283
  var enableSuspenseServerRenderer = false;
375
- // Only used in www builds.
376
-
377
- // Only used in www builds.
378
-
379
- // Disable javascript: URL strings in href for XSS protection.
380
-
381
- var disableJavaScriptURLs = false; // React Fire: prevent the value and checked attributes from syncing
382
- // with their related DOM properties
383
-
384
- // These APIs will no longer be "unstable" in the upcoming 16.7 release,
385
- // Control this behavior with a flag to support 16.6 minor releases in the meanwhile.
386
-
387
-
388
- // Experimental React Flare event system and event components support.
389
284
 
390
- var enableFlareAPI = false; // Experimental Host Component support.
285
+ var enableDeprecatedFlareAPI = false; // Experimental Host Component support.
391
286
 
392
- var enableFundamentalAPI = false; // Experimental Scope support.
393
-
394
- var enableScopeAPI = false; // New API for JSX transforms to target - https://github.com/reactjs/rfcs/pull/107
395
-
396
- // We will enforce mocking scheduler with scheduler/unstable_mock at some point. (v17?)
397
- // Till then, we warn about the missing mock, but still fallback to a legacy mode compatible version
398
-
399
- // For tests, we flush suspense fallbacks in an act scope;
400
- // *except* in some of our own tests, where we test incremental loading states.
401
-
402
- // Add a callback property to suspense to notify which promises are currently
403
- // in the update queue. This allows reporting and tracing of what is causing
404
- // the user to see a loading state.
405
- // Also allows hydration callbacks to fire when a dehydrated boundary gets
406
- // hydrated or deleted.
407
-
408
- // Part of the simplification of React.createElement so we can eventually move
409
- // from React.createElement to React.jsx
410
- // https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md
411
-
412
-
413
-
414
- var disableLegacyContext = false;
415
-
416
- // Flag to turn event.target and event.currentTarget in ReactNative from a reactTag to a component instance
417
-
418
- var ReactDebugCurrentFrame$1;
287
+ var ReactDebugCurrentFrame;
419
288
  var didWarnAboutInvalidateContextType;
420
289
 
421
290
  {
422
- ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
291
+ ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
423
292
  didWarnAboutInvalidateContextType = new Set();
424
293
  }
425
294
 
@@ -447,7 +316,7 @@ function maskContext(type, context) {
447
316
 
448
317
  function checkContextTypes(typeSpecs, values, location) {
449
318
  {
450
- checkPropTypes(typeSpecs, values, location, 'Component', ReactDebugCurrentFrame$1.getCurrentStack);
319
+ checkPropTypes(typeSpecs, values, location, 'Component', ReactDebugCurrentFrame.getCurrentStack);
451
320
  }
452
321
  }
453
322
 
@@ -490,7 +359,7 @@ function processContext(type, context, threadID, isClass) {
490
359
  addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.';
491
360
  }
492
361
 
493
- warningWithoutStack$1(false, '%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(type) || 'Component', addendum);
362
+ error('%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(type) || 'Component', addendum);
494
363
  }
495
364
  }
496
365
  }
@@ -500,15 +369,7 @@ function processContext(type, context, threadID, isClass) {
500
369
  return contextType[threadID];
501
370
  }
502
371
 
503
- if (disableLegacyContext) {
504
- {
505
- if (type.contextTypes) {
506
- warningWithoutStack$1(false, '%s uses the legacy contextTypes API which is no longer supported. ' + 'Use React.createContext() with static contextType instead.', getComponentName(type) || 'Unknown');
507
- }
508
- }
509
-
510
- return emptyObject;
511
- } else {
372
+ {
512
373
  var maskedContext = maskContext(type, context);
513
374
 
514
375
  {
@@ -520,15 +381,7 @@ function processContext(type, context, threadID, isClass) {
520
381
  return maskedContext;
521
382
  }
522
383
  } else {
523
- if (disableLegacyContext) {
524
- {
525
- if (type.contextTypes) {
526
- warningWithoutStack$1(false, '%s uses the legacy contextTypes API which is no longer supported. ' + 'Use React.createContext() with React.useContext() instead.', getComponentName(type) || 'Unknown');
527
- }
528
- }
529
-
530
- return undefined;
531
- } else {
384
+ {
532
385
  var _maskedContext = maskContext(type, context);
533
386
 
534
387
  {
@@ -542,9 +395,6 @@ function processContext(type, context, threadID, isClass) {
542
395
  }
543
396
  }
544
397
 
545
- // Allocates a new index for each request. Tries to stay as compact as possible so that these
546
- // indices can be used to reference a tightly packed array. As opposed to being used in a Map.
547
- // The first allocated index is 1.
548
398
  var nextAvailableThreadIDs = new Uint16Array(16);
549
399
 
550
400
  for (var i = 0; i < 15; i++) {
@@ -560,7 +410,7 @@ function growThreadCountAndReturnNextAvailable() {
560
410
 
561
411
  if (!(newSize <= 0x10000)) {
562
412
  {
563
- throw Error("Maximum number of concurrent React renderers exceeded. This can happen if you are not properly destroying the Readable provided by React. Ensure that you call .destroy() on it if you no longer want to read from it, and did not read to the end. If you use .pipe() this should be automatic.");
413
+ throw Error( "Maximum number of concurrent React renderers exceeded. This can happen if you are not properly destroying the Readable provided by React. Ensure that you call .destroy() on it if you no longer want to read from it, and did not read to the end. If you use .pipe() this should be automatic." );
564
414
  }
565
415
  }
566
416
 
@@ -624,18 +474,17 @@ var ATTRIBUTE_NAME_START_CHAR = ":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\
624
474
  /* eslint-enable max-len */
625
475
 
626
476
  var ATTRIBUTE_NAME_CHAR = ATTRIBUTE_NAME_START_CHAR + "\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040";
627
-
628
477
  var ROOT_ATTRIBUTE_NAME = 'data-reactroot';
629
478
  var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + ATTRIBUTE_NAME_START_CHAR + '][' + ATTRIBUTE_NAME_CHAR + ']*$');
630
- var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
479
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
631
480
  var illegalAttributeNameCache = {};
632
481
  var validatedAttributeNameCache = {};
633
482
  function isAttributeNameSafe(attributeName) {
634
- if (hasOwnProperty$1.call(validatedAttributeNameCache, attributeName)) {
483
+ if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {
635
484
  return true;
636
485
  }
637
486
 
638
- if (hasOwnProperty$1.call(illegalAttributeNameCache, attributeName)) {
487
+ if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {
639
488
  return false;
640
489
  }
641
490
 
@@ -647,7 +496,7 @@ function isAttributeNameSafe(attributeName) {
647
496
  illegalAttributeNameCache[attributeName] = true;
648
497
 
649
498
  {
650
- warning$1(false, 'Invalid attribute name: `%s`', attributeName);
499
+ error('Invalid attribute name: `%s`', attributeName);
651
500
  }
652
501
 
653
502
  return false;
@@ -747,10 +596,12 @@ function PropertyInfoRecord(name, type, mustUseProperty, attributeName, attribut
747
596
 
748
597
  var properties = {}; // These props are reserved by React. They shouldn't be written to the DOM.
749
598
 
750
- ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular
599
+ var reservedProps = ['children', 'dangerouslySetInnerHTML', // TODO: This prevents the assignment of defaultValue to regular
751
600
  // elements (not just inputs). Now that ReactDOMInput assigns to the
752
601
  // defaultValue property -- do we need this?
753
- 'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'].forEach(function (name) {
602
+ 'defaultValue', 'defaultChecked', 'innerHTML', 'suppressContentEditableWarning', 'suppressHydrationWarning', 'style'];
603
+
604
+ reservedProps.forEach(function (name) {
754
605
  properties[name] = new PropertyInfoRecord(name, RESERVED, false, // mustUseProperty
755
606
  name, // attributeName
756
607
  null, // attributeNamespace
@@ -799,7 +650,10 @@ var properties = {}; // These props are reserved by React. They shouldn't be wri
799
650
 
800
651
  ['checked', // Note: `option.selected` is not updated if `select.multiple` is
801
652
  // disabled with `removeAttribute`. We have special logic for handling this.
802
- 'multiple', 'muted', 'selected'].forEach(function (name) {
653
+ 'multiple', 'muted', 'selected' // NOTE: if you add a camelCased prop to this list,
654
+ // you'll need to set attributeName to name.toLowerCase()
655
+ // instead in the assignment below.
656
+ ].forEach(function (name) {
803
657
  properties[name] = new PropertyInfoRecord(name, BOOLEAN, true, // mustUseProperty
804
658
  name, // attributeName
805
659
  null, // attributeNamespace
@@ -807,14 +661,20 @@ var properties = {}; // These props are reserved by React. They shouldn't be wri
807
661
  }); // These are HTML attributes that are "overloaded booleans": they behave like
808
662
  // booleans, but can also accept a string value.
809
663
 
810
- ['capture', 'download'].forEach(function (name) {
664
+ ['capture', 'download' // NOTE: if you add a camelCased prop to this list,
665
+ // you'll need to set attributeName to name.toLowerCase()
666
+ // instead in the assignment below.
667
+ ].forEach(function (name) {
811
668
  properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty
812
669
  name, // attributeName
813
670
  null, // attributeNamespace
814
671
  false);
815
672
  }); // These are HTML attributes that must be positive numbers.
816
673
 
817
- ['cols', 'rows', 'size', 'span'].forEach(function (name) {
674
+ ['cols', 'rows', 'size', 'span' // NOTE: if you add a camelCased prop to this list,
675
+ // you'll need to set attributeName to name.toLowerCase()
676
+ // instead in the assignment below.
677
+ ].forEach(function (name) {
818
678
  properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty
819
679
  name, // attributeName
820
680
  null, // attributeNamespace
@@ -835,23 +695,32 @@ var capitalize = function (token) {
835
695
  // or boolean value assignment. Regular attributes that just accept strings
836
696
  // and have the same names are omitted, just like in the HTML whitelist.
837
697
  // Some of these attributes can be hard to find. This list was created by
838
- // scrapping the MDN documentation.
698
+ // scraping the MDN documentation.
839
699
 
840
700
 
841
- ['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) {
701
+ ['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' // NOTE: if you add a camelCased prop to this list,
702
+ // you'll need to set attributeName to name.toLowerCase()
703
+ // instead in the assignment below.
704
+ ].forEach(function (attributeName) {
842
705
  var name = attributeName.replace(CAMELIZE, capitalize);
843
706
  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
844
707
  attributeName, null, // attributeNamespace
845
708
  false);
846
709
  }); // String SVG attributes with the xlink namespace.
847
710
 
848
- ['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type'].forEach(function (attributeName) {
711
+ ['xlink:actuate', 'xlink:arcrole', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type' // NOTE: if you add a camelCased prop to this list,
712
+ // you'll need to set attributeName to name.toLowerCase()
713
+ // instead in the assignment below.
714
+ ].forEach(function (attributeName) {
849
715
  var name = attributeName.replace(CAMELIZE, capitalize);
850
716
  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
851
717
  attributeName, 'http://www.w3.org/1999/xlink', false);
852
718
  }); // String SVG attributes with the xml namespace.
853
719
 
854
- ['xml:base', 'xml:lang', 'xml:space'].forEach(function (attributeName) {
720
+ ['xml:base', 'xml:lang', 'xml:space' // NOTE: if you add a camelCased prop to this list,
721
+ // you'll need to set attributeName to name.toLowerCase()
722
+ // instead in the assignment below.
723
+ ].forEach(function (attributeName) {
855
724
  var name = attributeName.replace(CAMELIZE, capitalize);
856
725
  properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
857
726
  attributeName, 'http://www.w3.org/XML/1998/namespace', false);
@@ -877,10 +746,10 @@ properties[xlinkHref] = new PropertyInfoRecord('xlinkHref', STRING, false, // mu
877
746
  true);
878
747
  });
879
748
 
880
- var ReactDebugCurrentFrame$2 = null;
749
+ var ReactDebugCurrentFrame$1 = null;
881
750
 
882
751
  {
883
- ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame;
752
+ ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
884
753
  } // A javascript: URL can contain leading C0 control or \u0020 SPACE,
885
754
  // and any newline or tab are filtered out as if they're not part of the URL.
886
755
  // https://url.spec.whatwg.org/#url-parsing
@@ -897,15 +766,12 @@ var isJavaScriptProtocol = /^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r
897
766
  var didWarn = false;
898
767
 
899
768
  function sanitizeURL(url) {
900
- if (disableJavaScriptURLs) {
901
- if (!!isJavaScriptProtocol.test(url)) {
902
- {
903
- throw Error("React has blocked a javascript: URL as a security precaution." + (ReactDebugCurrentFrame$2.getStackAddendum()));
904
- }
769
+ {
770
+ if (!didWarn && isJavaScriptProtocol.test(url)) {
771
+ didWarn = true;
772
+
773
+ error('A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));
905
774
  }
906
- } else if (true && !didWarn && isJavaScriptProtocol.test(url)) {
907
- didWarn = true;
908
- warning$1(false, 'A future version of React will block javascript: URLs as a security precaution. ' + 'Use event handlers instead if you can. If you need to generate unsafe HTML try ' + 'using dangerouslySetInnerHTML instead. React was passed %s.', JSON.stringify(url));
909
775
  }
910
776
  }
911
777
 
@@ -1010,18 +876,6 @@ function quoteAttributeValueForBrowser(value) {
1010
876
  return '"' + escapeTextForBrowser(value) + '"';
1011
877
  }
1012
878
 
1013
- /**
1014
- * Operations for dealing with DOM properties.
1015
- */
1016
-
1017
- /**
1018
- * Creates markup for the ID property.
1019
- *
1020
- * @param {string} id Unescaped ID.
1021
- * @return {string} Markup string.
1022
- */
1023
-
1024
-
1025
879
  function createMarkupForRoot() {
1026
880
  return ROOT_ATTRIBUTE_NAME + '=""';
1027
881
  }
@@ -1089,7 +943,7 @@ function is(x, y) {
1089
943
  ;
1090
944
  }
1091
945
 
1092
- var is$1 = typeof Object.is === 'function' ? Object.is : is;
946
+ var objectIs = typeof Object.is === 'function' ? Object.is : is;
1093
947
 
1094
948
  var currentlyRenderingComponent = null;
1095
949
  var firstWorkInProgressHook = null;
@@ -1110,12 +964,14 @@ var currentHookNameInDev;
1110
964
  function resolveCurrentlyRenderingComponent() {
1111
965
  if (!(currentlyRenderingComponent !== null)) {
1112
966
  {
1113
- throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.");
967
+ throw Error( "Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem." );
1114
968
  }
1115
969
  }
1116
970
 
1117
971
  {
1118
- !!isInHookUserCodeInDev ? warning$1(false, 'Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks') : void 0;
972
+ if (isInHookUserCodeInDev) {
973
+ error('Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks');
974
+ }
1119
975
  }
1120
976
 
1121
977
  return currentlyRenderingComponent;
@@ -1124,7 +980,7 @@ function resolveCurrentlyRenderingComponent() {
1124
980
  function areHookInputsEqual(nextDeps, prevDeps) {
1125
981
  if (prevDeps === null) {
1126
982
  {
1127
- warning$1(false, '%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);
983
+ error('%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev);
1128
984
  }
1129
985
 
1130
986
  return false;
@@ -1134,12 +990,12 @@ function areHookInputsEqual(nextDeps, prevDeps) {
1134
990
  // Don't bother comparing lengths in prod because these arrays should be
1135
991
  // passed inline.
1136
992
  if (nextDeps.length !== prevDeps.length) {
1137
- warning$1(false, 'The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + nextDeps.join(', ') + "]", "[" + prevDeps.join(', ') + "]");
993
+ error('The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, "[" + nextDeps.join(', ') + "]", "[" + prevDeps.join(', ') + "]");
1138
994
  }
1139
995
  }
1140
996
 
1141
997
  for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) {
1142
- if (is$1(nextDeps[i], prevDeps[i])) {
998
+ if (objectIs(nextDeps[i], prevDeps[i])) {
1143
999
  continue;
1144
1000
  }
1145
1001
 
@@ -1153,7 +1009,7 @@ function createHook() {
1153
1009
  if (numberOfReRenders > 0) {
1154
1010
  {
1155
1011
  {
1156
- throw Error("Rendered more hooks than during the previous render");
1012
+ throw Error( "Rendered more hooks than during the previous render" );
1157
1013
  }
1158
1014
  }
1159
1015
  }
@@ -1244,7 +1100,9 @@ function readContext(context, observedBits) {
1244
1100
  validateContextBounds(context, threadID);
1245
1101
 
1246
1102
  {
1247
- !!isInHookUserCodeInDev ? warning$1(false, 'Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().') : void 0;
1103
+ if (isInHookUserCodeInDev) {
1104
+ error('Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().');
1105
+ }
1248
1106
  }
1249
1107
 
1250
1108
  return context[threadID];
@@ -1262,6 +1120,7 @@ function useContext(context, observedBits) {
1262
1120
  }
1263
1121
 
1264
1122
  function basicStateReducer(state, action) {
1123
+ // $FlowFixMe: Flow doesn't like mixed types
1265
1124
  return typeof action === 'function' ? action(state) : action;
1266
1125
  }
1267
1126
 
@@ -1411,15 +1270,15 @@ function useRef(initialValue) {
1411
1270
  function useLayoutEffect(create, inputs) {
1412
1271
  {
1413
1272
  currentHookNameInDev = 'useLayoutEffect';
1414
- }
1415
1273
 
1416
- warning$1(false, 'useLayoutEffect does nothing on the server, because its effect cannot ' + "be encoded into the server renderer's output format. This will lead " + 'to a mismatch between the initial, non-hydrated UI and the intended ' + 'UI. To avoid this, useLayoutEffect should only be used in ' + 'components that render exclusively on the client. ' + 'See https://fb.me/react-uselayouteffect-ssr for common fixes.');
1274
+ error('useLayoutEffect does nothing on the server, because its effect cannot ' + "be encoded into the server renderer's output format. This will lead " + 'to a mismatch between the initial, non-hydrated UI and the intended ' + 'UI. To avoid this, useLayoutEffect should only be used in ' + 'components that render exclusively on the client. ' + 'See https://fb.me/react-uselayouteffect-ssr for common fixes.');
1275
+ }
1417
1276
  }
1418
1277
 
1419
1278
  function dispatchAction(componentIdentity, queue, action) {
1420
1279
  if (!(numberOfReRenders < RE_RENDER_LIMIT)) {
1421
1280
  {
1422
- throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");
1281
+ throw Error( "Too many re-renders. React limits the number of renders to prevent an infinite loop." );
1423
1282
  }
1424
1283
  }
1425
1284
 
@@ -1451,9 +1310,6 @@ function dispatchAction(componentIdentity, queue, action) {
1451
1310
 
1452
1311
  lastRenderPhaseUpdate.next = update;
1453
1312
  }
1454
- } else {// This means an update has happened after the function component has
1455
- // returned. On the server this is a no-op. In React Fiber, the update
1456
- // would be scheduled for a future render.
1457
1313
  }
1458
1314
  }
1459
1315
 
@@ -1546,13 +1402,13 @@ function getChildNamespace(parentNamespace, type) {
1546
1402
  return parentNamespace;
1547
1403
  }
1548
1404
 
1549
- var ReactDebugCurrentFrame$3 = null;
1405
+ var ReactDebugCurrentFrame$2 = null;
1550
1406
  var ReactControlledValuePropTypes = {
1551
1407
  checkPropTypes: null
1552
1408
  };
1553
1409
 
1554
1410
  {
1555
- ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame;
1411
+ ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame;
1556
1412
  var hasReadOnlyValue = {
1557
1413
  button: true,
1558
1414
  checkbox: true,
@@ -1564,14 +1420,14 @@ var ReactControlledValuePropTypes = {
1564
1420
  };
1565
1421
  var propTypes = {
1566
1422
  value: function (props, propName, componentName) {
1567
- if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableFlareAPI && props.listeners) {
1423
+ if (hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {
1568
1424
  return null;
1569
1425
  }
1570
1426
 
1571
1427
  return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');
1572
1428
  },
1573
1429
  checked: function (props, propName, componentName) {
1574
- if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableFlareAPI && props.listeners) {
1430
+ if (props.onChange || props.readOnly || props.disabled || props[propName] == null || enableDeprecatedFlareAPI ) {
1575
1431
  return null;
1576
1432
  }
1577
1433
 
@@ -1584,7 +1440,7 @@ var ReactControlledValuePropTypes = {
1584
1440
  */
1585
1441
 
1586
1442
  ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) {
1587
- checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$3.getStackAddendum);
1443
+ checkPropTypes(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$2.getStackAddendum);
1588
1444
  };
1589
1445
  }
1590
1446
 
@@ -1615,13 +1471,11 @@ var voidElementTags = _assign({
1615
1471
  menuitem: true
1616
1472
  }, omittedCloseTags);
1617
1473
 
1618
- // or add stack by default to invariants where possible.
1619
-
1620
1474
  var HTML = '__html';
1621
- var ReactDebugCurrentFrame$4 = null;
1475
+ var ReactDebugCurrentFrame$3 = null;
1622
1476
 
1623
1477
  {
1624
- ReactDebugCurrentFrame$4 = ReactSharedInternals.ReactDebugCurrentFrame;
1478
+ ReactDebugCurrentFrame$3 = ReactSharedInternals.ReactDebugCurrentFrame;
1625
1479
  }
1626
1480
 
1627
1481
  function assertValidProps(tag, props) {
@@ -1633,7 +1487,7 @@ function assertValidProps(tag, props) {
1633
1487
  if (voidElementTags[tag]) {
1634
1488
  if (!(props.children == null && props.dangerouslySetInnerHTML == null)) {
1635
1489
  {
1636
- throw Error(tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + (ReactDebugCurrentFrame$4.getStackAddendum()));
1490
+ throw Error( tag + " is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );
1637
1491
  }
1638
1492
  }
1639
1493
  }
@@ -1641,24 +1495,26 @@ function assertValidProps(tag, props) {
1641
1495
  if (props.dangerouslySetInnerHTML != null) {
1642
1496
  if (!(props.children == null)) {
1643
1497
  {
1644
- throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
1498
+ throw Error( "Can only set one of `children` or `props.dangerouslySetInnerHTML`." );
1645
1499
  }
1646
1500
  }
1647
1501
 
1648
1502
  if (!(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML)) {
1649
1503
  {
1650
- throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.");
1504
+ throw Error( "`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information." );
1651
1505
  }
1652
1506
  }
1653
1507
  }
1654
1508
 
1655
1509
  {
1656
- !(props.suppressContentEditableWarning || !props.contentEditable || props.children == null) ? warning$1(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.') : void 0;
1510
+ if (!props.suppressContentEditableWarning && props.contentEditable && props.children != null) {
1511
+ error('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.');
1512
+ }
1657
1513
  }
1658
1514
 
1659
1515
  if (!(props.style == null || typeof props.style === 'object')) {
1660
1516
  {
1661
- throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + (ReactDebugCurrentFrame$4.getStackAddendum()));
1517
+ throw Error( "The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX." + ( ReactDebugCurrentFrame$3.getStackAddendum() ) );
1662
1518
  }
1663
1519
  }
1664
1520
  }
@@ -1840,7 +1696,8 @@ var warnValidStyle = function () {};
1840
1696
  }
1841
1697
 
1842
1698
  warnedStyleNames[name] = true;
1843
- warning$1(false, 'Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests
1699
+
1700
+ error('Unsupported style property %s. Did you mean %s?', name, // As Andi Smith suggests
1844
1701
  // (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
1845
1702
  // is converted to lowercase `ms`.
1846
1703
  camelize(name.replace(msPattern$1, 'ms-')));
@@ -1852,7 +1709,8 @@ var warnValidStyle = function () {};
1852
1709
  }
1853
1710
 
1854
1711
  warnedStyleNames[name] = true;
1855
- warning$1(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));
1712
+
1713
+ error('Unsupported vendor-prefixed style property %s. Did you mean %s?', name, name.charAt(0).toUpperCase() + name.slice(1));
1856
1714
  };
1857
1715
 
1858
1716
  var warnStyleValueWithSemicolon = function (name, value) {
@@ -1861,7 +1719,8 @@ var warnValidStyle = function () {};
1861
1719
  }
1862
1720
 
1863
1721
  warnedStyleValues[value] = true;
1864
- warning$1(false, "Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));
1722
+
1723
+ error("Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));
1865
1724
  };
1866
1725
 
1867
1726
  var warnStyleValueIsNaN = function (name, value) {
@@ -1870,7 +1729,8 @@ var warnValidStyle = function () {};
1870
1729
  }
1871
1730
 
1872
1731
  warnedForNaNValue = true;
1873
- warning$1(false, '`NaN` is an invalid value for the `%s` css style property.', name);
1732
+
1733
+ error('`NaN` is an invalid value for the `%s` css style property.', name);
1874
1734
  };
1875
1735
 
1876
1736
  var warnStyleValueIsInfinity = function (name, value) {
@@ -1879,7 +1739,8 @@ var warnValidStyle = function () {};
1879
1739
  }
1880
1740
 
1881
1741
  warnedForInfinityValue = true;
1882
- warning$1(false, '`Infinity` is an invalid value for the `%s` css style property.', name);
1742
+
1743
+ error('`Infinity` is an invalid value for the `%s` css style property.', name);
1883
1744
  };
1884
1745
 
1885
1746
  warnValidStyle = function (name, value) {
@@ -1965,47 +1826,52 @@ var ariaProperties = {
1965
1826
  var warnedProperties = {};
1966
1827
  var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
1967
1828
  var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
1968
- var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
1829
+ var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
1969
1830
 
1970
1831
  function validateProperty(tagName, name) {
1971
- if (hasOwnProperty$2.call(warnedProperties, name) && warnedProperties[name]) {
1972
- return true;
1973
- }
1832
+ {
1833
+ if (hasOwnProperty$1.call(warnedProperties, name) && warnedProperties[name]) {
1834
+ return true;
1835
+ }
1974
1836
 
1975
- if (rARIACamel.test(name)) {
1976
- var ariaName = 'aria-' + name.slice(4).toLowerCase();
1977
- var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM
1978
- // DOM properties, then it is an invalid aria-* attribute.
1837
+ if (rARIACamel.test(name)) {
1838
+ var ariaName = 'aria-' + name.slice(4).toLowerCase();
1839
+ var correctName = ariaProperties.hasOwnProperty(ariaName) ? ariaName : null; // If this is an aria-* attribute, but is not listed in the known DOM
1840
+ // DOM properties, then it is an invalid aria-* attribute.
1979
1841
 
1980
- if (correctName == null) {
1981
- warning$1(false, 'Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);
1982
- warnedProperties[name] = true;
1983
- return true;
1984
- } // aria-* attributes should be lowercase; suggest the lowercase version.
1842
+ if (correctName == null) {
1843
+ error('Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);
1985
1844
 
1845
+ warnedProperties[name] = true;
1846
+ return true;
1847
+ } // aria-* attributes should be lowercase; suggest the lowercase version.
1986
1848
 
1987
- if (name !== correctName) {
1988
- warning$1(false, 'Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);
1989
- warnedProperties[name] = true;
1990
- return true;
1849
+
1850
+ if (name !== correctName) {
1851
+ error('Invalid ARIA attribute `%s`. Did you mean `%s`?', name, correctName);
1852
+
1853
+ warnedProperties[name] = true;
1854
+ return true;
1855
+ }
1991
1856
  }
1992
- }
1993
1857
 
1994
- if (rARIA.test(name)) {
1995
- var lowerCasedName = name.toLowerCase();
1996
- var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM
1997
- // DOM properties, then it is an invalid aria-* attribute.
1858
+ if (rARIA.test(name)) {
1859
+ var lowerCasedName = name.toLowerCase();
1860
+ var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null; // If this is an aria-* attribute, but is not listed in the known DOM
1861
+ // DOM properties, then it is an invalid aria-* attribute.
1998
1862
 
1999
- if (standardName == null) {
2000
- warnedProperties[name] = true;
2001
- return false;
2002
- } // aria-* attributes should be lowercase; suggest the lowercase version.
1863
+ if (standardName == null) {
1864
+ warnedProperties[name] = true;
1865
+ return false;
1866
+ } // aria-* attributes should be lowercase; suggest the lowercase version.
2003
1867
 
2004
1868
 
2005
- if (name !== standardName) {
2006
- warning$1(false, 'Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);
2007
- warnedProperties[name] = true;
2008
- return true;
1869
+ if (name !== standardName) {
1870
+ error('Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);
1871
+
1872
+ warnedProperties[name] = true;
1873
+ return true;
1874
+ }
2009
1875
  }
2010
1876
  }
2011
1877
 
@@ -2013,24 +1879,26 @@ function validateProperty(tagName, name) {
2013
1879
  }
2014
1880
 
2015
1881
  function warnInvalidARIAProps(type, props) {
2016
- var invalidProps = [];
1882
+ {
1883
+ var invalidProps = [];
2017
1884
 
2018
- for (var key in props) {
2019
- var isValid = validateProperty(type, key);
1885
+ for (var key in props) {
1886
+ var isValid = validateProperty(type, key);
2020
1887
 
2021
- if (!isValid) {
2022
- invalidProps.push(key);
1888
+ if (!isValid) {
1889
+ invalidProps.push(key);
1890
+ }
2023
1891
  }
2024
- }
2025
1892
 
2026
- var unknownPropString = invalidProps.map(function (prop) {
2027
- return '`' + prop + '`';
2028
- }).join(', ');
1893
+ var unknownPropString = invalidProps.map(function (prop) {
1894
+ return '`' + prop + '`';
1895
+ }).join(', ');
2029
1896
 
2030
- if (invalidProps.length === 1) {
2031
- warning$1(false, 'Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
2032
- } else if (invalidProps.length > 1) {
2033
- warning$1(false, 'Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
1897
+ if (invalidProps.length === 1) {
1898
+ error('Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
1899
+ } else if (invalidProps.length > 1) {
1900
+ error('Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
1901
+ }
2034
1902
  }
2035
1903
  }
2036
1904
 
@@ -2044,48 +1912,28 @@ function validateProperties(type, props) {
2044
1912
 
2045
1913
  var didWarnValueNull = false;
2046
1914
  function validateProperties$1(type, props) {
2047
- if (type !== 'input' && type !== 'textarea' && type !== 'select') {
2048
- return;
2049
- }
1915
+ {
1916
+ if (type !== 'input' && type !== 'textarea' && type !== 'select') {
1917
+ return;
1918
+ }
2050
1919
 
2051
- if (props != null && props.value === null && !didWarnValueNull) {
2052
- didWarnValueNull = true;
1920
+ if (props != null && props.value === null && !didWarnValueNull) {
1921
+ didWarnValueNull = true;
2053
1922
 
2054
- if (type === 'select' && props.multiple) {
2055
- warning$1(false, '`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);
2056
- } else {
2057
- warning$1(false, '`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);
1923
+ if (type === 'select' && props.multiple) {
1924
+ error('`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);
1925
+ } else {
1926
+ error('`value` prop on `%s` should not be null. ' + 'Consider using an empty string to clear the component or `undefined` ' + 'for uncontrolled components.', type);
1927
+ }
2058
1928
  }
2059
1929
  }
2060
1930
  }
2061
1931
 
2062
- /**
2063
- * Registers plugins so that they can extract and dispatch events.
2064
- *
2065
- * @see {EventPluginHub}
2066
- */
2067
-
2068
- /**
2069
- * Ordered list of injected plugins.
2070
- */
2071
-
2072
-
2073
-
2074
- /**
2075
- * Mapping from event name to dispatch config
2076
- */
2077
-
2078
-
2079
1932
  /**
2080
1933
  * Mapping from registration name to plugin module
2081
1934
  */
2082
1935
 
2083
1936
  var registrationNameModules = {};
2084
- /**
2085
- * Mapping from registration name to event name
2086
- */
2087
-
2088
-
2089
1937
  /**
2090
1938
  * Mapping from lowercase registration names to the properly cased version,
2091
1939
  * used to warn in the case of missing event handlers. Available
@@ -2093,29 +1941,7 @@ var registrationNameModules = {};
2093
1941
  * @type {Object}
2094
1942
  */
2095
1943
 
2096
- var possibleRegistrationNames = {}; // Trust the developer to only use possibleRegistrationNames in true
2097
-
2098
- /**
2099
- * Injects an ordering of plugins (by plugin name). This allows the ordering
2100
- * to be decoupled from injection of the actual plugins so that ordering is
2101
- * always deterministic regardless of packaging, on-the-fly injection, etc.
2102
- *
2103
- * @param {array} InjectedEventPluginOrder
2104
- * @internal
2105
- * @see {EventPluginHub.injection.injectEventPluginOrder}
2106
- */
2107
-
2108
-
2109
- /**
2110
- * Injects plugins to be used by `EventPluginHub`. The plugin names must be
2111
- * in the ordering injected by `injectEventPluginOrder`.
2112
- *
2113
- * Plugins can be injected as part of page initialization or on-the-fly.
2114
- *
2115
- * @param {object} injectedNamesToPlugins Map from names to plugin modules.
2116
- * @internal
2117
- * @see {EventPluginHub.injection.injectEventPluginsByName}
2118
- */
1944
+ var possibleRegistrationNames = {} ; // Trust the developer to only use possibleRegistrationNames in true
2119
1945
 
2120
1946
  // When adding attributes to the HTML or SVG whitelist, be sure to
2121
1947
  // also add them to this module to ensure casing and incorrect name
@@ -2624,7 +2450,8 @@ var validateProperty$1 = function () {};
2624
2450
  var lowerCasedName = name.toLowerCase();
2625
2451
 
2626
2452
  if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {
2627
- warning$1(false, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');
2453
+ error('React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');
2454
+
2628
2455
  warnedProperties$1[name] = true;
2629
2456
  return true;
2630
2457
  } // We can't rely on the event system being injected on the server.
@@ -2638,13 +2465,15 @@ var validateProperty$1 = function () {};
2638
2465
  var registrationName = possibleRegistrationNames.hasOwnProperty(lowerCasedName) ? possibleRegistrationNames[lowerCasedName] : null;
2639
2466
 
2640
2467
  if (registrationName != null) {
2641
- warning$1(false, 'Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);
2468
+ error('Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);
2469
+
2642
2470
  warnedProperties$1[name] = true;
2643
2471
  return true;
2644
2472
  }
2645
2473
 
2646
2474
  if (EVENT_NAME_REGEX.test(name)) {
2647
- warning$1(false, 'Unknown event handler property `%s`. It will be ignored.', name);
2475
+ error('Unknown event handler property `%s`. It will be ignored.', name);
2476
+
2648
2477
  warnedProperties$1[name] = true;
2649
2478
  return true;
2650
2479
  }
@@ -2653,7 +2482,7 @@ var validateProperty$1 = function () {};
2653
2482
  // So we can't tell if the event name is correct for sure, but we can filter
2654
2483
  // out known bad ones like `onclick`. We can't suggest a specific replacement though.
2655
2484
  if (INVALID_EVENT_NAME_REGEX.test(name)) {
2656
- warning$1(false, 'Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);
2485
+ error('Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example `onClick`.', name);
2657
2486
  }
2658
2487
 
2659
2488
  warnedProperties$1[name] = true;
@@ -2666,25 +2495,29 @@ var validateProperty$1 = function () {};
2666
2495
  }
2667
2496
 
2668
2497
  if (lowerCasedName === 'innerhtml') {
2669
- warning$1(false, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');
2498
+ error('Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.');
2499
+
2670
2500
  warnedProperties$1[name] = true;
2671
2501
  return true;
2672
2502
  }
2673
2503
 
2674
2504
  if (lowerCasedName === 'aria') {
2675
- warning$1(false, 'The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');
2505
+ error('The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');
2506
+
2676
2507
  warnedProperties$1[name] = true;
2677
2508
  return true;
2678
2509
  }
2679
2510
 
2680
2511
  if (lowerCasedName === 'is' && value !== null && value !== undefined && typeof value !== 'string') {
2681
- warning$1(false, 'Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);
2512
+ error('Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);
2513
+
2682
2514
  warnedProperties$1[name] = true;
2683
2515
  return true;
2684
2516
  }
2685
2517
 
2686
2518
  if (typeof value === 'number' && isNaN(value)) {
2687
- warning$1(false, 'Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);
2519
+ error('Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);
2520
+
2688
2521
  warnedProperties$1[name] = true;
2689
2522
  return true;
2690
2523
  }
@@ -2696,23 +2529,25 @@ var validateProperty$1 = function () {};
2696
2529
  var standardName = possibleStandardNames[lowerCasedName];
2697
2530
 
2698
2531
  if (standardName !== name) {
2699
- warning$1(false, 'Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);
2532
+ error('Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);
2533
+
2700
2534
  warnedProperties$1[name] = true;
2701
2535
  return true;
2702
2536
  }
2703
2537
  } else if (!isReserved && name !== lowerCasedName) {
2704
2538
  // Unknown attributes should have lowercase casing since that's how they
2705
2539
  // will be cased anyway with server rendering.
2706
- warning$1(false, 'React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);
2540
+ error('React does not recognize the `%s` prop on a DOM element. If you ' + 'intentionally want it to appear in the DOM as a custom ' + 'attribute, spell it as lowercase `%s` instead. ' + 'If you accidentally passed it from a parent component, remove ' + 'it from the DOM element.', name, lowerCasedName);
2541
+
2707
2542
  warnedProperties$1[name] = true;
2708
2543
  return true;
2709
2544
  }
2710
2545
 
2711
2546
  if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
2712
2547
  if (value) {
2713
- warning$1(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()}.', value, name, name, value, name);
2548
+ error('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()}.', value, name, name, value, name);
2714
2549
  } else {
2715
- warning$1(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()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);
2550
+ error('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()}.\n\n' + 'If you used to conditionally omit it with %s={condition && value}, ' + 'pass %s={condition ? value : undefined} instead.', value, name, name, value, name, name, name);
2716
2551
  }
2717
2552
 
2718
2553
  warnedProperties$1[name] = true;
@@ -2733,7 +2568,8 @@ var validateProperty$1 = function () {};
2733
2568
 
2734
2569
 
2735
2570
  if ((value === 'false' || value === 'true') && propertyInfo !== null && propertyInfo.type === BOOLEAN) {
2736
- warning$1(false, 'Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value);
2571
+ error('Received the string `%s` for the boolean attribute `%s`. ' + '%s ' + 'Did you mean %s={%s}?', value, name, value === 'false' ? 'The browser will interpret it as a truthy value.' : 'Although this works, it will not work as expected if you pass the string "false".', name, value);
2572
+
2737
2573
  warnedProperties$1[name] = true;
2738
2574
  return true;
2739
2575
  }
@@ -2743,24 +2579,26 @@ var validateProperty$1 = function () {};
2743
2579
  }
2744
2580
 
2745
2581
  var warnUnknownProperties = function (type, props, canUseEventSystem) {
2746
- var unknownProps = [];
2582
+ {
2583
+ var unknownProps = [];
2747
2584
 
2748
- for (var key in props) {
2749
- var isValid = validateProperty$1(type, key, props[key], canUseEventSystem);
2585
+ for (var key in props) {
2586
+ var isValid = validateProperty$1(type, key, props[key], canUseEventSystem);
2750
2587
 
2751
- if (!isValid) {
2752
- unknownProps.push(key);
2588
+ if (!isValid) {
2589
+ unknownProps.push(key);
2590
+ }
2753
2591
  }
2754
- }
2755
2592
 
2756
- var unknownPropString = unknownProps.map(function (prop) {
2757
- return '`' + prop + '`';
2758
- }).join(', ');
2593
+ var unknownPropString = unknownProps.map(function (prop) {
2594
+ return '`' + prop + '`';
2595
+ }).join(', ');
2759
2596
 
2760
- if (unknownProps.length === 1) {
2761
- warning$1(false, 'Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
2762
- } else if (unknownProps.length > 1) {
2763
- warning$1(false, 'Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
2597
+ if (unknownProps.length === 1) {
2598
+ error('Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or pass a string or number value to keep it in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
2599
+ } else if (unknownProps.length > 1) {
2600
+ error('Invalid values for props %s on <%s> tag. Either remove them from the element, ' + 'or pass a string or number value to keep them in the DOM. ' + 'For details, see https://fb.me/react-attribute-behavior', unknownPropString, type);
2601
+ }
2764
2602
  }
2765
2603
  };
2766
2604
 
@@ -2779,7 +2617,7 @@ var toArray = React.Children.toArray; // This is only used in DEV.
2779
2617
 
2780
2618
  var currentDebugStacks = [];
2781
2619
  var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;
2782
- var ReactDebugCurrentFrame;
2620
+ var ReactDebugCurrentFrame$4;
2783
2621
  var prevGetCurrentStackImpl = null;
2784
2622
 
2785
2623
  var getCurrentServerStackImpl = function () {
@@ -2801,7 +2639,7 @@ var popCurrentDebugStack = function () {};
2801
2639
  var hasWarnedAboutUsingContextAsConsumer = false;
2802
2640
 
2803
2641
  {
2804
- ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
2642
+ ReactDebugCurrentFrame$4 = ReactSharedInternals.ReactDebugCurrentFrame;
2805
2643
 
2806
2644
  validatePropertiesInDevelopment = function (type, props) {
2807
2645
  validateProperties(type, props);
@@ -2825,8 +2663,8 @@ var hasWarnedAboutUsingContextAsConsumer = false;
2825
2663
  if (currentDebugStacks.length === 1) {
2826
2664
  // We are entering a server renderer.
2827
2665
  // Remember the previous (e.g. client) global stack implementation.
2828
- prevGetCurrentStackImpl = ReactDebugCurrentFrame.getCurrentStack;
2829
- ReactDebugCurrentFrame.getCurrentStack = getCurrentServerStackImpl;
2666
+ prevGetCurrentStackImpl = ReactDebugCurrentFrame$4.getCurrentStack;
2667
+ ReactDebugCurrentFrame$4.getCurrentStack = getCurrentServerStackImpl;
2830
2668
  }
2831
2669
  };
2832
2670
 
@@ -2847,7 +2685,7 @@ var hasWarnedAboutUsingContextAsConsumer = false;
2847
2685
  if (currentDebugStacks.length === 0) {
2848
2686
  // We are exiting the server renderer.
2849
2687
  // Restore the previous (e.g. client) global stack implementation.
2850
- ReactDebugCurrentFrame.getCurrentStack = prevGetCurrentStackImpl;
2688
+ ReactDebugCurrentFrame$4.getCurrentStack = prevGetCurrentStackImpl;
2851
2689
  prevGetCurrentStackImpl = null;
2852
2690
  }
2853
2691
  };
@@ -2907,7 +2745,7 @@ function validateDangerousTag(tag) {
2907
2745
  if (!validatedTagCache.hasOwnProperty(tag)) {
2908
2746
  if (!VALID_TAG_REGEX.test(tag)) {
2909
2747
  {
2910
- throw Error("Invalid tag: " + tag);
2748
+ throw Error( "Invalid tag: " + tag );
2911
2749
  }
2912
2750
  }
2913
2751
 
@@ -2965,7 +2803,8 @@ function warnNoop(publicInstance, callerName) {
2965
2803
  return;
2966
2804
  }
2967
2805
 
2968
- warningWithoutStack$1(false, '%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op.\n\nPlease check the code for the %s component.', callerName, callerName, componentName);
2806
+ error('%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op.\n\nPlease check the code for the %s component.', callerName, callerName, componentName);
2807
+
2969
2808
  didWarnAboutNoopUpdateForComponent[warningKey] = true;
2970
2809
  }
2971
2810
  }
@@ -3031,14 +2870,15 @@ function flattenOptionChildren(children) {
3031
2870
  {
3032
2871
  if (!didWarnInvalidOptionChildren && typeof child !== 'string' && typeof child !== 'number') {
3033
2872
  didWarnInvalidOptionChildren = true;
3034
- warning$1(false, 'Only strings and numbers are supported as <option> children.');
2873
+
2874
+ error('Only strings and numbers are supported as <option> children.');
3035
2875
  }
3036
2876
  }
3037
2877
  });
3038
2878
  return content;
3039
2879
  }
3040
2880
 
3041
- var hasOwnProperty = Object.prototype.hasOwnProperty;
2881
+ var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
3042
2882
  var STYLE = 'style';
3043
2883
  var RESERVED_PROPS = {
3044
2884
  children: null,
@@ -3051,11 +2891,7 @@ function createOpenTagMarkup(tagVerbatim, tagLowercase, props, namespace, makeSt
3051
2891
  var ret = '<' + tagVerbatim;
3052
2892
 
3053
2893
  for (var propKey in props) {
3054
- if (!hasOwnProperty.call(props, propKey)) {
3055
- continue;
3056
- }
3057
-
3058
- if (enableFlareAPI && propKey === 'listeners') {
2894
+ if (!hasOwnProperty$2.call(props, propKey)) {
3059
2895
  continue;
3060
2896
  }
3061
2897
 
@@ -3101,7 +2937,7 @@ function validateRenderResult(child, type) {
3101
2937
  if (child === undefined) {
3102
2938
  {
3103
2939
  {
3104
- throw Error((getComponentName(type) || 'Component') + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.");
2940
+ throw Error( (getComponentName(type) || 'Component') + "(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null." );
3105
2941
  }
3106
2942
  }
3107
2943
  }
@@ -3164,7 +3000,8 @@ function resolve(child, context, threadID) {
3164
3000
  var componentName = getComponentName(Component) || 'Unknown';
3165
3001
 
3166
3002
  if (!didWarnAboutUninitializedState[componentName]) {
3167
- warningWithoutStack$1(false, '`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, inst.state === null ? 'null' : 'undefined', componentName);
3003
+ error('`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, inst.state === null ? 'null' : 'undefined', componentName);
3004
+
3168
3005
  didWarnAboutUninitializedState[componentName] = true;
3169
3006
  }
3170
3007
  }
@@ -3177,7 +3014,8 @@ function resolve(child, context, threadID) {
3177
3014
  var _componentName = getComponentName(Component) || 'Unknown';
3178
3015
 
3179
3016
  if (!didWarnAboutUndefinedDerivedState[_componentName]) {
3180
- warningWithoutStack$1(false, '%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', _componentName);
3017
+ error('%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', _componentName);
3018
+
3181
3019
  didWarnAboutUndefinedDerivedState[_componentName] = true;
3182
3020
  }
3183
3021
  }
@@ -3193,7 +3031,8 @@ function resolve(child, context, threadID) {
3193
3031
  var _componentName2 = getComponentName(Component) || 'Unknown';
3194
3032
 
3195
3033
  if (!didWarnAboutBadClass[_componentName2]) {
3196
- warningWithoutStack$1(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);
3034
+ error("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);
3035
+
3197
3036
  didWarnAboutBadClass[_componentName2] = true;
3198
3037
  }
3199
3038
  }
@@ -3214,7 +3053,8 @@ function resolve(child, context, threadID) {
3214
3053
  var _componentName3 = getComponentName(Component) || 'Unknown';
3215
3054
 
3216
3055
  if (!didWarnAboutModulePatternComponent[_componentName3]) {
3217
- warningWithoutStack$1(false, 'The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName3, _componentName3, _componentName3);
3056
+ error('The <%s /> component appears to be a function component that returns a class instance. ' + 'Change %s to a class that extends React.Component instead. ' + "If you can't use a class try assigning the prototype on the function as a workaround. " + "`%s.prototype = React.Component.prototype`. Don't use an arrow function since it " + 'cannot be called with `new` by React.', _componentName3, _componentName3, _componentName3);
3057
+
3218
3058
  didWarnAboutModulePatternComponent[_componentName3] = true;
3219
3059
  }
3220
3060
  }
@@ -3232,12 +3072,13 @@ function resolve(child, context, threadID) {
3232
3072
  if (typeof inst.UNSAFE_componentWillMount === 'function' || typeof inst.componentWillMount === 'function') {
3233
3073
  if (typeof inst.componentWillMount === 'function') {
3234
3074
  {
3235
- if (warnAboutDeprecatedLifecycles && inst.componentWillMount.__suppressDeprecationWarning !== true) {
3075
+ if ( inst.componentWillMount.__suppressDeprecationWarning !== true) {
3236
3076
  var _componentName4 = getComponentName(Component) || 'Unknown';
3237
3077
 
3238
3078
  if (!didWarnAboutDeprecatedWillMount[_componentName4]) {
3239
- lowPriorityWarningWithoutStack$1(false, // keep this warning in sync with ReactStrictModeWarning.js
3079
+ warn( // keep this warning in sync with ReactStrictModeWarning.js
3240
3080
  'componentWillMount has been renamed, and is not recommended for use. ' + 'See https://fb.me/react-unsafe-component-lifecycles for details.\n\n' + '* Move code from componentWillMount to componentDidMount (preferred in most cases) ' + 'or the constructor.\n' + '\nPlease update the following components: %s', _componentName4);
3081
+
3241
3082
  didWarnAboutDeprecatedWillMount[_componentName4] = true;
3242
3083
  }
3243
3084
  }
@@ -3303,15 +3144,7 @@ function resolve(child, context, threadID) {
3303
3144
  validateRenderResult(child, Component);
3304
3145
  var childContext;
3305
3146
 
3306
- if (disableLegacyContext) {
3307
- {
3308
- var childContextTypes = Component.childContextTypes;
3309
-
3310
- if (childContextTypes !== undefined) {
3311
- warningWithoutStack$1(false, '%s uses the legacy childContextTypes API which is no longer supported. ' + 'Use React.createContext() instead.', getComponentName(Component) || 'Unknown');
3312
- }
3313
- }
3314
- } else {
3147
+ {
3315
3148
  if (typeof inst.getChildContext === 'function') {
3316
3149
  var _childContextTypes = Component.childContextTypes;
3317
3150
 
@@ -3321,12 +3154,14 @@ function resolve(child, context, threadID) {
3321
3154
  for (var contextKey in childContext) {
3322
3155
  if (!(contextKey in _childContextTypes)) {
3323
3156
  {
3324
- throw Error((getComponentName(Component) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes.");
3157
+ throw Error( (getComponentName(Component) || 'Unknown') + ".getChildContext(): key \"" + contextKey + "\" is not defined in childContextTypes." );
3325
3158
  }
3326
3159
  }
3327
3160
  }
3328
3161
  } else {
3329
- warningWithoutStack$1(false, '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', getComponentName(Component) || 'Unknown');
3162
+ {
3163
+ error('%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', getComponentName(Component) || 'Unknown');
3164
+ }
3330
3165
  }
3331
3166
  }
3332
3167
 
@@ -3424,7 +3259,9 @@ function () {
3424
3259
  var index = this.contextIndex;
3425
3260
 
3426
3261
  {
3427
- !(index > -1 && provider === this.contextProviderStack[index]) ? warningWithoutStack$1(false, 'Unexpected pop.') : void 0;
3262
+ if (index < 0 || provider !== this.contextProviderStack[index]) {
3263
+ error('Unexpected pop.');
3264
+ }
3428
3265
  }
3429
3266
 
3430
3267
  var context = this.contextStack[index];
@@ -3505,7 +3342,7 @@ function () {
3505
3342
 
3506
3343
  if (!fallbackFrame) {
3507
3344
  {
3508
- throw Error("ReactDOMServer did not find an internal fallback frame for Suspense. This is a bug in React. Please file an issue.");
3345
+ throw Error(true ? "ReactDOMServer did not find an internal fallback frame for Suspense. This is a bug in React. Please file an issue." : formatProdErrorMessage(303));
3509
3346
  }
3510
3347
  }
3511
3348
 
@@ -3526,7 +3363,7 @@ function () {
3526
3363
  var child = frame.children[frame.childIndex++];
3527
3364
  var outBuffer = '';
3528
3365
 
3529
- {
3366
+ if (true) {
3530
3367
  pushCurrentDebugStack(this.stack); // We're starting work on this frame, so reset its inner stack.
3531
3368
 
3532
3369
  frame.debugElementStack.length = 0;
@@ -3539,15 +3376,15 @@ function () {
3539
3376
  if (enableSuspenseServerRenderer) {
3540
3377
  if (!(this.suspenseDepth > 0)) {
3541
3378
  {
3542
- throw Error("A React component suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display.");
3379
+ throw Error(true ? "A React component suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display." : formatProdErrorMessage(342));
3543
3380
  }
3544
3381
  }
3545
3382
 
3546
3383
  suspended = true;
3547
3384
  } else {
3548
- {
3385
+ if (!false) {
3549
3386
  {
3550
- throw Error("ReactDOMServer does not yet support Suspense.");
3387
+ throw Error(true ? "ReactDOMServer does not yet support Suspense." : formatProdErrorMessage(294));
3551
3388
  }
3552
3389
  }
3553
3390
  }
@@ -3555,7 +3392,7 @@ function () {
3555
3392
  throw err;
3556
3393
  }
3557
3394
  } finally {
3558
- {
3395
+ if (true) {
3559
3396
  popCurrentDebugStack();
3560
3397
  }
3561
3398
  }
@@ -3609,14 +3446,14 @@ function () {
3609
3446
 
3610
3447
  if (!($$typeof !== REACT_PORTAL_TYPE)) {
3611
3448
  {
3612
- throw Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");
3449
+ throw Error( "Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render." );
3613
3450
  }
3614
3451
  } // Catch-all to prevent an infinite loop if React.Children.toArray() supports some new type.
3615
3452
 
3616
3453
 
3617
3454
  {
3618
3455
  {
3619
- throw Error("Unknown element-like object type: " + $$typeof.toString() + ". This is likely a bug in React. Please file an issue.");
3456
+ throw Error( "Unknown element-like object type: " + $$typeof.toString() + ". This is likely a bug in React. Please file an issue." );
3620
3457
  }
3621
3458
  }
3622
3459
  }
@@ -3675,72 +3512,14 @@ function () {
3675
3512
 
3676
3513
  case REACT_SUSPENSE_TYPE:
3677
3514
  {
3678
- if (enableSuspenseServerRenderer) {
3679
- var fallback = nextChild.props.fallback;
3680
-
3681
- if (fallback === undefined) {
3682
- // If there is no fallback, then this just behaves as a fragment.
3683
- var _nextChildren3 = toArray(nextChild.props.children);
3684
-
3685
- var _frame3 = {
3686
- type: null,
3687
- domNamespace: parentNamespace,
3688
- children: _nextChildren3,
3689
- childIndex: 0,
3690
- context: context,
3691
- footer: ''
3692
- };
3693
-
3694
- {
3695
- _frame3.debugElementStack = [];
3696
- }
3697
-
3698
- this.stack.push(_frame3);
3699
- return '';
3700
- }
3701
-
3702
- var fallbackChildren = toArray(fallback);
3703
-
3704
- var _nextChildren2 = toArray(nextChild.props.children);
3705
-
3706
- var fallbackFrame = {
3707
- type: null,
3708
- domNamespace: parentNamespace,
3709
- children: fallbackChildren,
3710
- childIndex: 0,
3711
- context: context,
3712
- footer: '<!--/$-->'
3713
- };
3714
- var _frame2 = {
3715
- fallbackFrame: fallbackFrame,
3716
- type: REACT_SUSPENSE_TYPE,
3717
- domNamespace: parentNamespace,
3718
- children: _nextChildren2,
3719
- childIndex: 0,
3720
- context: context,
3721
- footer: '<!--/$-->'
3722
- };
3723
-
3724
- {
3725
- _frame2.debugElementStack = [];
3726
- fallbackFrame.debugElementStack = [];
3727
- }
3728
-
3729
- this.stack.push(_frame2);
3730
- this.suspenseDepth++;
3731
- return '<!--$-->';
3732
- } else {
3515
+ {
3733
3516
  {
3734
3517
  {
3735
- throw Error("ReactDOMServer does not yet support Suspense.");
3518
+ throw Error( "ReactDOMServer does not yet support Suspense." );
3736
3519
  }
3737
3520
  }
3738
3521
  }
3739
3522
  }
3740
- // eslint-disable-next-line-no-fallthrough
3741
-
3742
- default:
3743
- break;
3744
3523
  }
3745
3524
 
3746
3525
  if (typeof elementType === 'object' && elementType !== null) {
@@ -3839,7 +3618,8 @@ function () {
3839
3618
  if (reactContext !== reactContext.Consumer) {
3840
3619
  if (!hasWarnedAboutUsingContextAsConsumer) {
3841
3620
  hasWarnedAboutUsingContextAsConsumer = true;
3842
- warning$1(false, 'Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
3621
+
3622
+ error('Rendering <Context> directly is not supported and will be removed in ' + 'a future major release. Did you mean to render <Context.Consumer> instead?');
3843
3623
  }
3844
3624
  }
3845
3625
  } else {
@@ -3874,34 +3654,10 @@ function () {
3874
3654
 
3875
3655
  case REACT_FUNDAMENTAL_TYPE:
3876
3656
  {
3877
- if (enableFundamentalAPI) {
3878
- var fundamentalImpl = elementType.impl;
3879
- var open = fundamentalImpl.getServerSideString(null, nextElement.props);
3880
- var getServerSideStringClose = fundamentalImpl.getServerSideStringClose;
3881
- var close = getServerSideStringClose !== undefined ? getServerSideStringClose(null, nextElement.props) : '';
3882
-
3883
- var _nextChildren8 = fundamentalImpl.reconcileChildren !== false ? toArray(nextChild.props.children) : [];
3884
-
3885
- var _frame8 = {
3886
- type: null,
3887
- domNamespace: parentNamespace,
3888
- children: _nextChildren8,
3889
- childIndex: 0,
3890
- context: context,
3891
- footer: close
3892
- };
3893
-
3894
- {
3895
- _frame8.debugElementStack = [];
3896
- }
3897
-
3898
- this.stack.push(_frame8);
3899
- return open;
3900
- }
3901
3657
 
3902
3658
  {
3903
3659
  {
3904
- throw Error("ReactDOMServer does not yet support the fundamental API.");
3660
+ throw Error( "ReactDOMServer does not yet support the fundamental API." );
3905
3661
  }
3906
3662
  }
3907
3663
  }
@@ -3946,7 +3702,7 @@ function () {
3946
3702
  default:
3947
3703
  {
3948
3704
  {
3949
- throw Error("ReactDOMServer does not yet support lazy-loaded components.");
3705
+ throw Error( "ReactDOMServer does not yet support lazy-loaded components." );
3950
3706
  }
3951
3707
  }
3952
3708
 
@@ -3956,29 +3712,10 @@ function () {
3956
3712
 
3957
3713
  case REACT_SCOPE_TYPE:
3958
3714
  {
3959
- if (enableScopeAPI) {
3960
- var _nextChildren10 = toArray(nextChild.props.children);
3961
-
3962
- var _frame10 = {
3963
- type: null,
3964
- domNamespace: parentNamespace,
3965
- children: _nextChildren10,
3966
- childIndex: 0,
3967
- context: context,
3968
- footer: ''
3969
- };
3970
-
3971
- {
3972
- _frame10.debugElementStack = [];
3973
- }
3974
-
3975
- this.stack.push(_frame10);
3976
- return '';
3977
- }
3978
3715
 
3979
3716
  {
3980
3717
  {
3981
- throw Error("ReactDOMServer does not yet support scope components.");
3718
+ throw Error( "ReactDOMServer does not yet support scope components." );
3982
3719
  }
3983
3720
  }
3984
3721
  }
@@ -4003,7 +3740,7 @@ function () {
4003
3740
 
4004
3741
  {
4005
3742
  {
4006
- throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (elementType == null ? elementType : typeof elementType) + "." + info);
3743
+ throw Error( "Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: " + (elementType == null ? elementType : typeof elementType) + "." + info );
4007
3744
  }
4008
3745
  }
4009
3746
  }
@@ -4021,7 +3758,9 @@ function () {
4021
3758
  if (namespace === Namespaces.html) {
4022
3759
  // Should this check be gated by parent namespace? Not sure we want to
4023
3760
  // allow <SVG> or <mATH>.
4024
- !(tag === element.type) ? warning$1(false, '<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', element.type) : void 0;
3761
+ if (tag !== element.type) {
3762
+ error('<%s /> is using incorrect casing. ' + 'Use PascalCase for React components, ' + 'or lowercase for HTML elements.', element.type);
3763
+ }
4025
3764
  }
4026
3765
  }
4027
3766
 
@@ -4033,12 +3772,14 @@ function () {
4033
3772
  ReactControlledValuePropTypes.checkPropTypes('input', props);
4034
3773
 
4035
3774
  if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnDefaultChecked) {
4036
- warning$1(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', 'A component', props.type);
3775
+ error('%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', 'A component', props.type);
3776
+
4037
3777
  didWarnDefaultChecked = true;
4038
3778
  }
4039
3779
 
4040
3780
  if (props.value !== undefined && props.defaultValue !== undefined && !didWarnDefaultInputValue) {
4041
- warning$1(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', 'A component', props.type);
3781
+ error('%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', 'A component', props.type);
3782
+
4042
3783
  didWarnDefaultInputValue = true;
4043
3784
  }
4044
3785
  }
@@ -4056,7 +3797,8 @@ function () {
4056
3797
  ReactControlledValuePropTypes.checkPropTypes('textarea', props);
4057
3798
 
4058
3799
  if (props.value !== undefined && props.defaultValue !== undefined && !didWarnDefaultTextareaValue) {
4059
- warning$1(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');
3800
+ error('Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');
3801
+
4060
3802
  didWarnDefaultTextareaValue = true;
4061
3803
  }
4062
3804
  }
@@ -4070,19 +3812,19 @@ function () {
4070
3812
 
4071
3813
  if (textareaChildren != null) {
4072
3814
  {
4073
- warning$1(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');
3815
+ error('Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.');
4074
3816
  }
4075
3817
 
4076
3818
  if (!(defaultValue == null)) {
4077
3819
  {
4078
- throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");
3820
+ throw Error( "If you supply `defaultValue` on a <textarea>, do not pass children." );
4079
3821
  }
4080
3822
  }
4081
3823
 
4082
3824
  if (Array.isArray(textareaChildren)) {
4083
3825
  if (!(textareaChildren.length <= 1)) {
4084
3826
  {
4085
- throw Error("<textarea> can only have at most one child.");
3827
+ throw Error( "<textarea> can only have at most one child." );
4086
3828
  }
4087
3829
  }
4088
3830
 
@@ -4117,14 +3859,15 @@ function () {
4117
3859
  var isArray = Array.isArray(props[propName]);
4118
3860
 
4119
3861
  if (props.multiple && !isArray) {
4120
- warning$1(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.', propName);
3862
+ error('The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.', propName);
4121
3863
  } else if (!props.multiple && isArray) {
4122
- warning$1(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.', propName);
3864
+ error('The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.', propName);
4123
3865
  }
4124
3866
  }
4125
3867
 
4126
3868
  if (props.value !== undefined && props.defaultValue !== undefined && !didWarnDefaultSelectValue) {
4127
- warning$1(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');
3869
+ error('Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components');
3870
+
4128
3871
  didWarnDefaultSelectValue = true;
4129
3872
  }
4130
3873
  }
@@ -4192,7 +3935,7 @@ function () {
4192
3935
  if (innerMarkup != null) {
4193
3936
  children = [];
4194
3937
 
4195
- if (newlineEatingTags[tag] && innerMarkup.charAt(0) === '\n') {
3938
+ if (newlineEatingTags.hasOwnProperty(tag) && innerMarkup.charAt(0) === '\n') {
4196
3939
  // text/html ignores the first character in these tags if it's a newline
4197
3940
  // Prefer to break application/xml over text/html (for now) by adding
4198
3941
  // a newline specifically to get eaten by the parser. (Alternately for
@@ -4323,7 +4066,7 @@ function renderToStaticNodeStream(element) {
4323
4066
  return new ReactMarkupReadableStream(element, true);
4324
4067
  }
4325
4068
 
4326
- var ReactDOMServerNode = {
4069
+ var ReactDOMServer = {
4327
4070
  renderToString: renderToString,
4328
4071
  renderToStaticMarkup: renderToStaticMarkup,
4329
4072
  renderToNodeStream: renderToNodeStream,
@@ -4331,12 +4074,6 @@ var ReactDOMServerNode = {
4331
4074
  version: ReactVersion
4332
4075
  };
4333
4076
 
4334
- var ReactDOMServerNode$1 = Object.freeze({
4335
- default: ReactDOMServerNode
4336
- });
4337
-
4338
- var ReactDOMServer = ( ReactDOMServerNode$1 && ReactDOMServerNode ) || ReactDOMServerNode$1;
4339
-
4340
4077
  // TODO: decide on the top-level export form.
4341
4078
  // This is hacky but makes it work with both Rollup and Jest
4342
4079