aboutsummaryrefslogtreecommitdiff
path: root/node_modules/react/umd
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-03-27 21:01:33 +0100
committerFlorian Dold <florian.dold@gmail.com>2019-03-27 21:01:33 +0100
commitcc97a4dd2a967e1c2273bd5f4c5f49a5bf2e2585 (patch)
tree92c5d88706a6ffc654d1b133618d357890e7096b /node_modules/react/umd
parent3771b4d6b67b34c130f3a9a1a15f42deefdb2eda (diff)
remove node_modules
Diffstat (limited to 'node_modules/react/umd')
-rw-r--r--node_modules/react/umd/react.development.js2703
-rw-r--r--node_modules/react/umd/react.production.min.js28
2 files changed, 0 insertions, 2731 deletions
diff --git a/node_modules/react/umd/react.development.js b/node_modules/react/umd/react.development.js
deleted file mode 100644
index c06ed7edd..000000000
--- a/node_modules/react/umd/react.development.js
+++ /dev/null
@@ -1,2703 +0,0 @@
-/** @license React v16.5.2
- * react.development.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-'use strict';
-
-(function (global, factory) {
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
- typeof define === 'function' && define.amd ? define(factory) :
- (global.React = factory());
-}(this, (function () { 'use strict';
-
-// TODO: this is special because it gets imported during build.
-
-var ReactVersion = '16.5.2';
-
-// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
-// nor polyfill, then a plain number is used for performance.
-var hasSymbol = typeof Symbol === 'function' && Symbol.for;
-
-var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
-var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
-var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
-var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
-var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
-var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
-var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
-var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
-var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
-var REACT_PLACEHOLDER_TYPE = hasSymbol ? Symbol.for('react.placeholder') : 0xead1;
-
-var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
-var FAUX_ITERATOR_SYMBOL = '@@iterator';
-
-function getIteratorFn(maybeIterable) {
- if (maybeIterable === null || typeof maybeIterable !== 'object') {
- return null;
- }
- var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
- if (typeof maybeIterator === 'function') {
- return maybeIterator;
- }
- return null;
-}
-
-// Exports ReactDOM.createRoot
-
-
-// Experimental error-boundary API that can recover from errors within a single
-// render phase
-
-// Suspense
-var enableSuspense = false;
-// Helps identify side effects in begin-phase lifecycle hooks and setState reducers:
-
-
-// In some cases, StrictMode should also double-render lifecycles.
-// This can be confusing for tests though,
-// And it can be bad for performance in production.
-// This feature flag can be used to control the behavior:
-
-
-// To preserve the "Pause on caught exceptions" behavior of the debugger, we
-// replay the begin phase of a failed component inside invokeGuardedCallback.
-
-
-// Warn about deprecated, async-unsafe lifecycles; relates to RFC #6:
-
-
-// Warn about legacy context API
-
-
-// Gather advanced timing metrics for Profiler subtrees.
-
-
-// Trace which interactions trigger each commit.
-var enableSchedulerTracing = true;
-
-// Only used in www builds.
-
-
-// Only used in www builds.
-
-
-// React Fire: prevent the value and checked attributes from syncing
-// with their related DOM properties
-
-/*
-object-assign
-(c) Sindre Sorhus
-@license MIT
-*/
-
-
-/* eslint-disable no-unused-vars */
-var getOwnPropertySymbols = Object.getOwnPropertySymbols;
-var hasOwnProperty = Object.prototype.hasOwnProperty;
-var propIsEnumerable = Object.prototype.propertyIsEnumerable;
-
-function toObject(val) {
- if (val === null || val === undefined) {
- throw new TypeError('Object.assign cannot be called with null or undefined');
- }
-
- return Object(val);
-}
-
-function shouldUseNative() {
- try {
- if (!Object.assign) {
- return false;
- }
-
- // Detect buggy property enumeration order in older V8 versions.
-
- // https://bugs.chromium.org/p/v8/issues/detail?id=4118
- var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
- test1[5] = 'de';
- if (Object.getOwnPropertyNames(test1)[0] === '5') {
- return false;
- }
-
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
- var test2 = {};
- for (var i = 0; i < 10; i++) {
- test2['_' + String.fromCharCode(i)] = i;
- }
- var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
- return test2[n];
- });
- if (order2.join('') !== '0123456789') {
- return false;
- }
-
- // https://bugs.chromium.org/p/v8/issues/detail?id=3056
- var test3 = {};
- 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
- test3[letter] = letter;
- });
- if (Object.keys(Object.assign({}, test3)).join('') !==
- 'abcdefghijklmnopqrst') {
- return false;
- }
-
- return true;
- } catch (err) {
- // We don't expect any of the above to throw, but better to be safe.
- return false;
- }
-}
-
-var objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
- var from;
- var to = toObject(target);
- var symbols;
-
- for (var s = 1; s < arguments.length; s++) {
- from = Object(arguments[s]);
-
- for (var key in from) {
- if (hasOwnProperty.call(from, key)) {
- to[key] = from[key];
- }
- }
-
- if (getOwnPropertySymbols) {
- symbols = getOwnPropertySymbols(from);
- for (var i = 0; i < symbols.length; i++) {
- if (propIsEnumerable.call(from, symbols[i])) {
- to[symbols[i]] = from[symbols[i]];
- }
- }
- }
- }
-
- return to;
-};
-
-/**
- * Use invariant() to assert state which your program assumes to be true.
- *
- * Provide sprintf-style format (only %s is supported) and arguments
- * to provide information about what broke and what you were
- * expecting.
- *
- * The invariant message will be stripped in production, but the invariant
- * will remain to ensure logic does not differ in production.
- */
-
-var validateFormat = function () {};
-
-{
- validateFormat = function (format) {
- if (format === undefined) {
- throw new Error('invariant requires an error message argument');
- }
- };
-}
-
-function invariant(condition, format, a, b, c, d, e, f) {
- validateFormat(format);
-
- if (!condition) {
- var error = void 0;
- if (format === undefined) {
- error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
- } else {
- var args = [a, b, c, d, e, f];
- var argIndex = 0;
- error = new Error(format.replace(/%s/g, function () {
- return args[argIndex++];
- }));
- error.name = 'Invariant Violation';
- }
-
- error.framesToPop = 1; // we don't care about invariant's own frame
- throw error;
- }
-}
-
-// Relying on the `invariant()` implementation lets us
-// preserve the format and params in the www builds.
-
-/**
- * Forked from fbjs/warning:
- * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js
- *
- * Only change is we use console.warn instead of console.error,
- * and do nothing when 'console' is not supported.
- * This really simplifies the code.
- * ---
- * Similar to invariant but only logs a warning if the condition is not met.
- * This can be used to log issues in development environments in critical
- * paths. Removing the logging code for production environments will keep the
- * same logic and follow the same code paths.
- */
-
-var lowPriorityWarning = function () {};
-
-{
- var printWarning = function (format) {
- for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- args[_key - 1] = arguments[_key];
- }
-
- var argIndex = 0;
- var message = 'Warning: ' + format.replace(/%s/g, function () {
- return args[argIndex++];
- });
- if (typeof console !== 'undefined') {
- console.warn(message);
- }
- try {
- // --- Welcome to debugging React ---
- // This error was thrown as a convenience so that you can use this stack
- // to find the callsite that caused this warning to fire.
- throw new Error(message);
- } catch (x) {}
- };
-
- lowPriorityWarning = function (condition, format) {
- if (format === undefined) {
- throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument');
- }
- if (!condition) {
- for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
- args[_key2 - 2] = arguments[_key2];
- }
-
- printWarning.apply(undefined, [format].concat(args));
- }
- };
-}
-
-var lowPriorityWarning$1 = lowPriorityWarning;
-
-/**
- * Similar to invariant but only logs a warning if the condition is not met.
- * This can be used to log issues in development environments in critical
- * paths. Removing the logging code for production environments will keep the
- * same logic and follow the same code paths.
- */
-
-var warningWithoutStack = function () {};
-
-{
- warningWithoutStack = function (condition, format) {
- for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
- args[_key - 2] = arguments[_key];
- }
-
- if (format === undefined) {
- throw new Error('`warningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');
- }
- if (args.length > 8) {
- // Check before the condition to catch violations early.
- throw new Error('warningWithoutStack() currently supports at most 8 arguments.');
- }
- if (condition) {
- return;
- }
- if (typeof console !== 'undefined') {
- var _args$map = args.map(function (item) {
- return '' + item;
- }),
- a = _args$map[0],
- b = _args$map[1],
- c = _args$map[2],
- d = _args$map[3],
- e = _args$map[4],
- f = _args$map[5],
- g = _args$map[6],
- h = _args$map[7];
-
- var message = 'Warning: ' + format;
-
- // We intentionally don't use spread (or .apply) because it breaks IE9:
- // https://github.com/facebook/react/issues/13610
- switch (args.length) {
- case 0:
- console.error(message);
- break;
- case 1:
- console.error(message, a);
- break;
- case 2:
- console.error(message, a, b);
- break;
- case 3:
- console.error(message, a, b, c);
- break;
- case 4:
- console.error(message, a, b, c, d);
- break;
- case 5:
- console.error(message, a, b, c, d, e);
- break;
- case 6:
- console.error(message, a, b, c, d, e, f);
- break;
- case 7:
- console.error(message, a, b, c, d, e, f, g);
- break;
- case 8:
- console.error(message, a, b, c, d, e, f, g, h);
- break;
- default:
- throw new Error('warningWithoutStack() currently supports at most 8 arguments.');
- }
- }
- try {
- // --- Welcome to debugging React ---
- // This error was thrown as a convenience so that you can use this stack
- // to find the callsite that caused this warning to fire.
- var argIndex = 0;
- var _message = 'Warning: ' + format.replace(/%s/g, function () {
- return args[argIndex++];
- });
- throw new Error(_message);
- } catch (x) {}
- };
-}
-
-var warningWithoutStack$1 = warningWithoutStack;
-
-var didWarnStateUpdateForUnmountedComponent = {};
-
-function warnNoop(publicInstance, callerName) {
- {
- var _constructor = publicInstance.constructor;
- var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass';
- var warningKey = componentName + '.' + callerName;
- if (didWarnStateUpdateForUnmountedComponent[warningKey]) {
- return;
- }
- warningWithoutStack$1(false, "Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName);
- didWarnStateUpdateForUnmountedComponent[warningKey] = true;
- }
-}
-
-/**
- * This is the abstract API for an update queue.
- */
-var ReactNoopUpdateQueue = {
- /**
- * Checks whether or not this composite component is mounted.
- * @param {ReactClass} publicInstance The instance we want to test.
- * @return {boolean} True if mounted, false otherwise.
- * @protected
- * @final
- */
- isMounted: function (publicInstance) {
- return false;
- },
-
- /**
- * Forces an update. This should only be invoked when it is known with
- * certainty that we are **not** in a DOM transaction.
- *
- * You may want to call this when you know that some deeper aspect of the
- * component's state has changed but `setState` was not called.
- *
- * This will not invoke `shouldComponentUpdate`, but it will invoke
- * `componentWillUpdate` and `componentDidUpdate`.
- *
- * @param {ReactClass} publicInstance The instance that should rerender.
- * @param {?function} callback Called after component is updated.
- * @param {?string} callerName name of the calling function in the public API.
- * @internal
- */
- enqueueForceUpdate: function (publicInstance, callback, callerName) {
- warnNoop(publicInstance, 'forceUpdate');
- },
-
- /**
- * Replaces all of the state. Always use this or `setState` to mutate state.
- * You should treat `this.state` as immutable.
- *
- * There is no guarantee that `this.state` will be immediately updated, so
- * accessing `this.state` after calling this method may return the old value.
- *
- * @param {ReactClass} publicInstance The instance that should rerender.
- * @param {object} completeState Next state.
- * @param {?function} callback Called after component is updated.
- * @param {?string} callerName name of the calling function in the public API.
- * @internal
- */
- enqueueReplaceState: function (publicInstance, completeState, callback, callerName) {
- warnNoop(publicInstance, 'replaceState');
- },
-
- /**
- * Sets a subset of the state. This only exists because _pendingState is
- * internal. This provides a merging strategy that is not available to deep
- * properties which is confusing. TODO: Expose pendingState or don't use it
- * during the merge.
- *
- * @param {ReactClass} publicInstance The instance that should rerender.
- * @param {object} partialState Next partial state to be merged with state.
- * @param {?function} callback Called after component is updated.
- * @param {?string} Name of the calling function in the public API.
- * @internal
- */
- enqueueSetState: function (publicInstance, partialState, callback, callerName) {
- warnNoop(publicInstance, 'setState');
- }
-};
-
-var emptyObject = {};
-{
- Object.freeze(emptyObject);
-}
-
-/**
- * Base class helpers for the updating state of a component.
- */
-function Component(props, context, updater) {
- this.props = props;
- this.context = context;
- // If a component has string refs, we will assign a different object later.
- this.refs = emptyObject;
- // We initialize the default updater but the real one gets injected by the
- // renderer.
- this.updater = updater || ReactNoopUpdateQueue;
-}
-
-Component.prototype.isReactComponent = {};
-
-/**
- * Sets a subset of the state. Always use this to mutate
- * state. You should treat `this.state` as immutable.
- *
- * There is no guarantee that `this.state` will be immediately updated, so
- * accessing `this.state` after calling this method may return the old value.
- *
- * There is no guarantee that calls to `setState` will run synchronously,
- * as they may eventually be batched together. You can provide an optional
- * callback that will be executed when the call to setState is actually
- * completed.
- *
- * When a function is provided to setState, it will be called at some point in
- * the future (not synchronously). It will be called with the up to date
- * component arguments (state, props, context). These values can be different
- * from this.* because your function may be called after receiveProps but before
- * shouldComponentUpdate, and this new state, props, and context will not yet be
- * assigned to this.
- *
- * @param {object|function} partialState Next partial state or function to
- * produce next partial state to be merged with current state.
- * @param {?function} callback Called after state is updated.
- * @final
- * @protected
- */
-Component.prototype.setState = function (partialState, callback) {
- !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : void 0;
- this.updater.enqueueSetState(this, partialState, callback, 'setState');
-};
-
-/**
- * Forces an update. This should only be invoked when it is known with
- * certainty that we are **not** in a DOM transaction.
- *
- * You may want to call this when you know that some deeper aspect of the
- * component's state has changed but `setState` was not called.
- *
- * This will not invoke `shouldComponentUpdate`, but it will invoke
- * `componentWillUpdate` and `componentDidUpdate`.
- *
- * @param {?function} callback Called after update is complete.
- * @final
- * @protected
- */
-Component.prototype.forceUpdate = function (callback) {
- this.updater.enqueueForceUpdate(this, callback, 'forceUpdate');
-};
-
-/**
- * Deprecated APIs. These APIs used to exist on classic React classes but since
- * we would like to deprecate them, we're not going to move them over to this
- * modern base class. Instead, we define a getter that warns if it's accessed.
- */
-{
- var deprecatedAPIs = {
- isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],
- replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']
- };
- var defineDeprecationWarning = function (methodName, info) {
- Object.defineProperty(Component.prototype, methodName, {
- get: function () {
- lowPriorityWarning$1(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);
- return undefined;
- }
- });
- };
- for (var fnName in deprecatedAPIs) {
- if (deprecatedAPIs.hasOwnProperty(fnName)) {
- defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);
- }
- }
-}
-
-function ComponentDummy() {}
-ComponentDummy.prototype = Component.prototype;
-
-/**
- * Convenience component with default shallow equality check for sCU.
- */
-function PureComponent(props, context, updater) {
- this.props = props;
- this.context = context;
- // If a component has string refs, we will assign a different object later.
- this.refs = emptyObject;
- this.updater = updater || ReactNoopUpdateQueue;
-}
-
-var pureComponentPrototype = PureComponent.prototype = new ComponentDummy();
-pureComponentPrototype.constructor = PureComponent;
-// Avoid an extra prototype jump for these methods.
-objectAssign(pureComponentPrototype, Component.prototype);
-pureComponentPrototype.isPureReactComponent = true;
-
-// an immutable object with a single mutable value
-function createRef() {
- var refObject = {
- current: null
- };
- {
- Object.seal(refObject);
- }
- return refObject;
-}
-
-/* eslint-disable no-var */
-
-// TODO: Currently there's only a single priority level, Deferred. Will add
-// additional priorities.
-var DEFERRED_TIMEOUT = 5000;
-
-// Callbacks are stored as a circular, doubly linked list.
-var firstCallbackNode = null;
-
-var isPerformingWork = false;
-
-var isHostCallbackScheduled = false;
-
-var hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function';
-
-var timeRemaining;
-if (hasNativePerformanceNow) {
- timeRemaining = function () {
- // We assume that if we have a performance timer that the rAF callback
- // gets a performance timer value. Not sure if this is always true.
- var remaining = getFrameDeadline() - performance.now();
- return remaining > 0 ? remaining : 0;
- };
-} else {
- timeRemaining = function () {
- // Fallback to Date.now()
- var remaining = getFrameDeadline() - Date.now();
- return remaining > 0 ? remaining : 0;
- };
-}
-
-var deadlineObject = {
- timeRemaining: timeRemaining,
- didTimeout: false
-};
-
-function ensureHostCallbackIsScheduled() {
- if (isPerformingWork) {
- // Don't schedule work yet; wait until the next time we yield.
- return;
- }
- // Schedule the host callback using the earliest timeout in the list.
- var timesOutAt = firstCallbackNode.timesOutAt;
- if (!isHostCallbackScheduled) {
- isHostCallbackScheduled = true;
- } else {
- // Cancel the existing host callback.
- cancelCallback();
- }
- requestCallback(flushWork, timesOutAt);
-}
-
-function flushFirstCallback(node) {
- var flushedNode = firstCallbackNode;
-
- // Remove the node from the list before calling the callback. That way the
- // list is in a consistent state even if the callback throws.
- var next = firstCallbackNode.next;
- if (firstCallbackNode === next) {
- // This is the last callback in the list.
- firstCallbackNode = null;
- next = null;
- } else {
- var previous = firstCallbackNode.previous;
- firstCallbackNode = previous.next = next;
- next.previous = previous;
- }
-
- flushedNode.next = flushedNode.previous = null;
-
- // Now it's safe to call the callback.
- var callback = flushedNode.callback;
- callback(deadlineObject);
-}
-
-function flushWork(didTimeout) {
- isPerformingWork = true;
- deadlineObject.didTimeout = didTimeout;
- try {
- if (didTimeout) {
- // Flush all the timed out callbacks without yielding.
- while (firstCallbackNode !== null) {
- // Read the current time. Flush all the callbacks that expire at or
- // earlier than that time. Then read the current time again and repeat.
- // This optimizes for as few performance.now calls as possible.
- var currentTime = getCurrentTime();
- if (firstCallbackNode.timesOutAt <= currentTime) {
- do {
- flushFirstCallback();
- } while (firstCallbackNode !== null && firstCallbackNode.timesOutAt <= currentTime);
- continue;
- }
- break;
- }
- } else {
- // Keep flushing callbacks until we run out of time in the frame.
- if (firstCallbackNode !== null) {
- do {
- flushFirstCallback();
- } while (firstCallbackNode !== null && getFrameDeadline() - getCurrentTime() > 0);
- }
- }
- } finally {
- isPerformingWork = false;
- if (firstCallbackNode !== null) {
- // There's still work remaining. Request another callback.
- ensureHostCallbackIsScheduled(firstCallbackNode);
- } else {
- isHostCallbackScheduled = false;
- }
- }
-}
-
-function unstable_scheduleWork(callback, options) {
- var currentTime = getCurrentTime();
-
- var timesOutAt;
- if (options !== undefined && options !== null && options.timeout !== null && options.timeout !== undefined) {
- // Check for an explicit timeout
- timesOutAt = currentTime + options.timeout;
- } else {
- // Compute an absolute timeout using the default constant.
- timesOutAt = currentTime + DEFERRED_TIMEOUT;
- }
-
- var newNode = {
- callback: callback,
- timesOutAt: timesOutAt,
- next: null,
- previous: null
- };
-
- // Insert the new callback into the list, sorted by its timeout.
- if (firstCallbackNode === null) {
- // This is the first callback in the list.
- firstCallbackNode = newNode.next = newNode.previous = newNode;
- ensureHostCallbackIsScheduled(firstCallbackNode);
- } else {
- var next = null;
- var node = firstCallbackNode;
- do {
- if (node.timesOutAt > timesOutAt) {
- // The new callback times out before this one.
- next = node;
- break;
- }
- node = node.next;
- } while (node !== firstCallbackNode);
-
- if (next === null) {
- // No callback with a later timeout was found, which means the new
- // callback has the latest timeout in the list.
- next = firstCallbackNode;
- } else if (next === firstCallbackNode) {
- // The new callback has the earliest timeout in the entire list.
- firstCallbackNode = newNode;
- ensureHostCallbackIsScheduled(firstCallbackNode);
- }
-
- var previous = next.previous;
- previous.next = next.previous = newNode;
- newNode.next = next;
- newNode.previous = previous;
- }
-
- return newNode;
-}
-
-function unstable_cancelScheduledWork(callbackNode) {
- var next = callbackNode.next;
- if (next === null) {
- // Already cancelled.
- return;
- }
-
- if (next === callbackNode) {
- // This is the only scheduled callback. Clear the list.
- firstCallbackNode = null;
- } else {
- // Remove the callback from its position in the list.
- if (callbackNode === firstCallbackNode) {
- firstCallbackNode = next;
- }
- var previous = callbackNode.previous;
- previous.next = next;
- next.previous = previous;
- }
-
- callbackNode.next = callbackNode.previous = null;
-}
-
-// The remaining code is essentially a polyfill for requestIdleCallback. It
-// works by scheduling a requestAnimationFrame, storing the time for the start
-// of the frame, then scheduling a postMessage which gets scheduled after paint.
-// Within the postMessage handler do as much work as possible until time + frame
-// rate. By separating the idle call into a separate event tick we ensure that
-// layout, paint and other browser work is counted against the available time.
-// The frame rate is dynamically adjusted.
-
-// We capture a local reference to any global, in case it gets polyfilled after
-// this module is initially evaluated. We want to be using a
-// consistent implementation.
-var localDate = Date;
-
-// This initialization code may run even on server environments if a component
-// just imports ReactDOM (e.g. for findDOMNode). Some environments might not
-// have setTimeout or clearTimeout. However, we always expect them to be defined
-// on the client. https://github.com/facebook/react/pull/13088
-var localSetTimeout = typeof setTimeout === 'function' ? setTimeout : undefined;
-var localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined;
-
-// We don't expect either of these to necessarily be defined, but we will error
-// later if they are missing on the client.
-var localRequestAnimationFrame = typeof requestAnimationFrame === 'function' ? requestAnimationFrame : undefined;
-var localCancelAnimationFrame = typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : undefined;
-
-var getCurrentTime;
-
-// requestAnimationFrame does not run when the tab is in the background. If
-// we're backgrounded we prefer for that work to happen so that the page
-// continues to load in the background. So we also schedule a 'setTimeout' as
-// a fallback.
-// TODO: Need a better heuristic for backgrounded work.
-var ANIMATION_FRAME_TIMEOUT = 100;
-var rAFID;
-var rAFTimeoutID;
-var requestAnimationFrameWithTimeout = function (callback) {
- // schedule rAF and also a setTimeout
- rAFID = localRequestAnimationFrame(function (timestamp) {
- // cancel the setTimeout
- localClearTimeout(rAFTimeoutID);
- callback(timestamp);
- });
- rAFTimeoutID = localSetTimeout(function () {
- // cancel the requestAnimationFrame
- localCancelAnimationFrame(rAFID);
- callback(getCurrentTime());
- }, ANIMATION_FRAME_TIMEOUT);
-};
-
-if (hasNativePerformanceNow) {
- var Performance = performance;
- getCurrentTime = function () {
- return Performance.now();
- };
-} else {
- getCurrentTime = function () {
- return localDate.now();
- };
-}
-
-var requestCallback;
-var cancelCallback;
-var getFrameDeadline;
-
-if (typeof window === 'undefined') {
- // If this accidentally gets imported in a non-browser environment, fallback
- // to a naive implementation.
- var timeoutID = -1;
- requestCallback = function (callback, absoluteTimeout) {
- timeoutID = setTimeout(callback, 0, true);
- };
- cancelCallback = function () {
- clearTimeout(timeoutID);
- };
- getFrameDeadline = function () {
- return 0;
- };
-} else if (window._schedMock) {
- // Dynamic injection, only for testing purposes.
- var impl = window._schedMock;
- requestCallback = impl[0];
- cancelCallback = impl[1];
- getFrameDeadline = impl[2];
-} else {
- if (typeof console !== 'undefined') {
- if (typeof localRequestAnimationFrame !== 'function') {
- console.error("This browser doesn't support requestAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');
- }
- if (typeof localCancelAnimationFrame !== 'function') {
- console.error("This browser doesn't support cancelAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills');
- }
- }
-
- var scheduledCallback = null;
- var isIdleScheduled = false;
- var timeoutTime = -1;
-
- var isAnimationFrameScheduled = false;
-
- var isPerformingIdleWork = false;
-
- var frameDeadline = 0;
- // We start out assuming that we run at 30fps but then the heuristic tracking
- // will adjust this value to a faster fps if we get more frequent animation
- // frames.
- var previousFrameTime = 33;
- var activeFrameTime = 33;
-
- getFrameDeadline = function () {
- return frameDeadline;
- };
-
- // We use the postMessage trick to defer idle work until after the repaint.
- var messageKey = '__reactIdleCallback$' + Math.random().toString(36).slice(2);
- var idleTick = function (event) {
- if (event.source !== window || event.data !== messageKey) {
- return;
- }
-
- isIdleScheduled = false;
-
- var currentTime = getCurrentTime();
-
- var didTimeout = false;
- if (frameDeadline - currentTime <= 0) {
- // There's no time left in this idle period. Check if the callback has
- // a timeout and whether it's been exceeded.
- if (timeoutTime !== -1 && timeoutTime <= currentTime) {
- // Exceeded the timeout. Invoke the callback even though there's no
- // time left.
- didTimeout = true;
- } else {
- // No timeout.
- if (!isAnimationFrameScheduled) {
- // Schedule another animation callback so we retry later.
- isAnimationFrameScheduled = true;
- requestAnimationFrameWithTimeout(animationTick);
- }
- // Exit without invoking the callback.
- return;
- }
- }
-
- timeoutTime = -1;
- var callback = scheduledCallback;
- scheduledCallback = null;
- if (callback !== null) {
- isPerformingIdleWork = true;
- try {
- callback(didTimeout);
- } finally {
- isPerformingIdleWork = false;
- }
- }
- };
- // Assumes that we have addEventListener in this environment. Might need
- // something better for old IE.
- window.addEventListener('message', idleTick, false);
-
- var animationTick = function (rafTime) {
- isAnimationFrameScheduled = false;
- var nextFrameTime = rafTime - frameDeadline + activeFrameTime;
- if (nextFrameTime < activeFrameTime && previousFrameTime < activeFrameTime) {
- if (nextFrameTime < 8) {
- // Defensive coding. We don't support higher frame rates than 120hz.
- // If we get lower than that, it is probably a bug.
- nextFrameTime = 8;
- }
- // If one frame goes long, then the next one can be short to catch up.
- // If two frames are short in a row, then that's an indication that we
- // actually have a higher frame rate than what we're currently optimizing.
- // We adjust our heuristic dynamically accordingly. For example, if we're
- // running on 120hz display or 90hz VR display.
- // Take the max of the two in case one of them was an anomaly due to
- // missed frame deadlines.
- activeFrameTime = nextFrameTime < previousFrameTime ? previousFrameTime : nextFrameTime;
- } else {
- previousFrameTime = nextFrameTime;
- }
- frameDeadline = rafTime + activeFrameTime;
- if (!isIdleScheduled) {
- isIdleScheduled = true;
- window.postMessage(messageKey, '*');
- }
- };
-
- requestCallback = function (callback, absoluteTimeout) {
- scheduledCallback = callback;
- timeoutTime = absoluteTimeout;
- if (isPerformingIdleWork) {
- // If we're already performing idle work, an error must have been thrown.
- // Don't wait for the next frame. Continue working ASAP, in a new event.
- window.postMessage(messageKey, '*');
- } else if (!isAnimationFrameScheduled) {
- // If rAF didn't already schedule one, we need to schedule a frame.
- // TODO: If this rAF doesn't materialize because the browser throttles, we
- // might want to still have setTimeout trigger rIC as a backup to ensure
- // that we keep performing work.
- isAnimationFrameScheduled = true;
- requestAnimationFrameWithTimeout(animationTick);
- }
- };
-
- cancelCallback = function () {
- scheduledCallback = null;
- isIdleScheduled = false;
- timeoutTime = -1;
- };
-}
-
-var DEFAULT_THREAD_ID = 0;
-
-// Counters used to generate unique IDs.
-var interactionIDCounter = 0;
-var threadIDCounter = 0;
-
-// Set of currently traced interactions.
-// Interactions "stack"–
-// Meaning that newly traced interactions are appended to the previously active set.
-// When an interaction goes out of scope, the previous set (if any) is restored.
-var interactionsRef = null;
-
-// Listener(s) to notify when interactions begin and end.
-var subscriberRef = null;
-
-if (enableSchedulerTracing) {
- interactionsRef = {
- current: new Set()
- };
- subscriberRef = {
- current: null
- };
-}
-
-function unstable_clear(callback) {
- if (!enableSchedulerTracing) {
- return callback();
- }
-
- var prevInteractions = interactionsRef.current;
- interactionsRef.current = new Set();
-
- try {
- return callback();
- } finally {
- interactionsRef.current = prevInteractions;
- }
-}
-
-function unstable_getCurrent() {
- if (!enableSchedulerTracing) {
- return null;
- } else {
- return interactionsRef.current;
- }
-}
-
-function unstable_getThreadID() {
- return ++threadIDCounter;
-}
-
-function unstable_trace(name, timestamp, callback) {
- var threadID = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_THREAD_ID;
-
- if (!enableSchedulerTracing) {
- return callback();
- }
-
- var interaction = {
- __count: 1,
- id: interactionIDCounter++,
- name: name,
- timestamp: timestamp
- };
-
- var prevInteractions = interactionsRef.current;
-
- // Traced interactions should stack/accumulate.
- // To do that, clone the current interactions.
- // The previous set will be restored upon completion.
- var interactions = new Set(prevInteractions);
- interactions.add(interaction);
- interactionsRef.current = interactions;
-
- var subscriber = subscriberRef.current;
- var returnValue = void 0;
-
- try {
- if (subscriber !== null) {
- subscriber.onInteractionTraced(interaction);
- }
- } finally {
- try {
- if (subscriber !== null) {
- subscriber.onWorkStarted(interactions, threadID);
- }
- } finally {
- try {
- returnValue = callback();
- } finally {
- interactionsRef.current = prevInteractions;
-
- try {
- if (subscriber !== null) {
- subscriber.onWorkStopped(interactions, threadID);
- }
- } finally {
- interaction.__count--;
-
- // If no async work was scheduled for this interaction,
- // Notify subscribers that it's completed.
- if (subscriber !== null && interaction.__count === 0) {
- subscriber.onInteractionScheduledWorkCompleted(interaction);
- }
- }
- }
- }
- }
-
- return returnValue;
-}
-
-function unstable_wrap(callback) {
- var threadID = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_THREAD_ID;
-
- if (!enableSchedulerTracing) {
- return callback;
- }
-
- var wrappedInteractions = interactionsRef.current;
-
- var subscriber = subscriberRef.current;
- if (subscriber !== null) {
- subscriber.onWorkScheduled(wrappedInteractions, threadID);
- }
-
- // Update the pending async work count for the current interactions.
- // Update after calling subscribers in case of error.
- wrappedInteractions.forEach(function (interaction) {
- interaction.__count++;
- });
-
- var hasRun = false;
-
- function wrapped() {
- var prevInteractions = interactionsRef.current;
- interactionsRef.current = wrappedInteractions;
-
- subscriber = subscriberRef.current;
-
- try {
- var returnValue = void 0;
-
- try {
- if (subscriber !== null) {
- subscriber.onWorkStarted(wrappedInteractions, threadID);
- }
- } finally {
- try {
- returnValue = callback.apply(undefined, arguments);
- } finally {
- interactionsRef.current = prevInteractions;
-
- if (subscriber !== null) {
- subscriber.onWorkStopped(wrappedInteractions, threadID);
- }
- }
- }
-
- return returnValue;
- } finally {
- if (!hasRun) {
- // We only expect a wrapped function to be executed once,
- // But in the event that it's executed more than once–
- // Only decrement the outstanding interaction counts once.
- hasRun = true;
-
- // Update pending async counts for all wrapped interactions.
- // If this was the last scheduled async work for any of them,
- // Mark them as completed.
- wrappedInteractions.forEach(function (interaction) {
- interaction.__count--;
-
- if (subscriber !== null && interaction.__count === 0) {
- subscriber.onInteractionScheduledWorkCompleted(interaction);
- }
- });
- }
- }
- }
-
- wrapped.cancel = function cancel() {
- subscriber = subscriberRef.current;
-
- try {
- if (subscriber !== null) {
- subscriber.onWorkCanceled(wrappedInteractions, threadID);
- }
- } finally {
- // Update pending async counts for all wrapped interactions.
- // If this was the last scheduled async work for any of them,
- // Mark them as completed.
- wrappedInteractions.forEach(function (interaction) {
- interaction.__count--;
-
- if (subscriber && interaction.__count === 0) {
- subscriber.onInteractionScheduledWorkCompleted(interaction);
- }
- });
- }
- };
-
- return wrapped;
-}
-
-var subscribers = null;
-if (enableSchedulerTracing) {
- subscribers = new Set();
-}
-
-function unstable_subscribe(subscriber) {
- if (enableSchedulerTracing) {
- subscribers.add(subscriber);
-
- if (subscribers.size === 1) {
- subscriberRef.current = {
- onInteractionScheduledWorkCompleted: onInteractionScheduledWorkCompleted,
- onInteractionTraced: onInteractionTraced,
- onWorkCanceled: onWorkCanceled,
- onWorkScheduled: onWorkScheduled,
- onWorkStarted: onWorkStarted,
- onWorkStopped: onWorkStopped
- };
- }
- }
-}
-
-function unstable_unsubscribe(subscriber) {
- if (enableSchedulerTracing) {
- subscribers.delete(subscriber);
-
- if (subscribers.size === 0) {
- subscriberRef.current = null;
- }
- }
-}
-
-function onInteractionTraced(interaction) {
- var didCatchError = false;
- var caughtError = null;
-
- subscribers.forEach(function (subscriber) {
- try {
- subscriber.onInteractionTraced(interaction);
- } catch (error) {
- if (!didCatchError) {
- didCatchError = true;
- caughtError = error;
- }
- }
- });
-
- if (didCatchError) {
- throw caughtError;
- }
-}
-
-function onInteractionScheduledWorkCompleted(interaction) {
- var didCatchError = false;
- var caughtError = null;
-
- subscribers.forEach(function (subscriber) {
- try {
- subscriber.onInteractionScheduledWorkCompleted(interaction);
- } catch (error) {
- if (!didCatchError) {
- didCatchError = true;
- caughtError = error;
- }
- }
- });
-
- if (didCatchError) {
- throw caughtError;
- }
-}
-
-function onWorkScheduled(interactions, threadID) {
- var didCatchError = false;
- var caughtError = null;
-
- subscribers.forEach(function (subscriber) {
- try {
- subscriber.onWorkScheduled(interactions, threadID);
- } catch (error) {
- if (!didCatchError) {
- didCatchError = true;
- caughtError = error;
- }
- }
- });
-
- if (didCatchError) {
- throw caughtError;
- }
-}
-
-function onWorkStarted(interactions, threadID) {
- var didCatchError = false;
- var caughtError = null;
-
- subscribers.forEach(function (subscriber) {
- try {
- subscriber.onWorkStarted(interactions, threadID);
- } catch (error) {
- if (!didCatchError) {
- didCatchError = true;
- caughtError = error;
- }
- }
- });
-
- if (didCatchError) {
- throw caughtError;
- }
-}
-
-function onWorkStopped(interactions, threadID) {
- var didCatchError = false;
- var caughtError = null;
-
- subscribers.forEach(function (subscriber) {
- try {
- subscriber.onWorkStopped(interactions, threadID);
- } catch (error) {
- if (!didCatchError) {
- didCatchError = true;
- caughtError = error;
- }
- }
- });
-
- if (didCatchError) {
- throw caughtError;
- }
-}
-
-function onWorkCanceled(interactions, threadID) {
- var didCatchError = false;
- var caughtError = null;
-
- subscribers.forEach(function (subscriber) {
- try {
- subscriber.onWorkCanceled(interactions, threadID);
- } catch (error) {
- if (!didCatchError) {
- didCatchError = true;
- caughtError = error;
- }
- }
- });
-
- if (didCatchError) {
- throw caughtError;
- }
-}
-
-/**
- * Keeps track of the current owner.
- *
- * The current owner is the component who should own any components that are
- * currently being constructed.
- */
-var ReactCurrentOwner = {
- /**
- * @internal
- * @type {ReactComponent}
- */
- current: null,
- currentDispatcher: null
-};
-
-var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
-
-var describeComponentFrame = function (name, source, ownerName) {
- var sourceInfo = '';
- if (source) {
- var path = source.fileName;
- var fileName = path.replace(BEFORE_SLASH_RE, '');
- {
- // In DEV, include code for a common special case:
- // prefer "folder/index.js" instead of just "index.js".
- if (/^index\./.test(fileName)) {
- var match = path.match(BEFORE_SLASH_RE);
- if (match) {
- var pathBeforeSlash = match[1];
- if (pathBeforeSlash) {
- var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
- fileName = folderName + '/' + fileName;
- }
- }
- }
- }
- sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')';
- } else if (ownerName) {
- sourceInfo = ' (created by ' + ownerName + ')';
- }
- return '\n in ' + (name || 'Unknown') + sourceInfo;
-};
-
-var Resolved = 1;
-
-
-
-
-function refineResolvedThenable(thenable) {
- return thenable._reactStatus === Resolved ? thenable._reactResult : null;
-}
-
-function getComponentName(type) {
- if (type == null) {
- // Host root, text node or just invalid type.
- return null;
- }
- {
- if (typeof type.tag === 'number') {
- warningWithoutStack$1(false, 'Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
- }
- }
- if (typeof type === 'function') {
- return type.displayName || type.name || null;
- }
- if (typeof type === 'string') {
- return type;
- }
- switch (type) {
- case REACT_ASYNC_MODE_TYPE:
- return 'AsyncMode';
- case REACT_FRAGMENT_TYPE:
- return 'Fragment';
- case REACT_PORTAL_TYPE:
- return 'Portal';
- case REACT_PROFILER_TYPE:
- return 'Profiler';
- case REACT_STRICT_MODE_TYPE:
- return 'StrictMode';
- case REACT_PLACEHOLDER_TYPE:
- return 'Placeholder';
- }
- if (typeof type === 'object') {
- switch (type.$$typeof) {
- case REACT_CONTEXT_TYPE:
- return 'Context.Consumer';
- case REACT_PROVIDER_TYPE:
- return 'Context.Provider';
- case REACT_FORWARD_REF_TYPE:
- var renderFn = type.render;
- var functionName = renderFn.displayName || renderFn.name || '';
- return type.displayName || (functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef');
- }
- if (typeof type.then === 'function') {
- var thenable = type;
- var resolvedThenable = refineResolvedThenable(thenable);
- if (resolvedThenable) {
- return getComponentName(resolvedThenable);
- }
- }
- }
- return null;
-}
-
-var ReactDebugCurrentFrame = {};
-
-var currentlyValidatingElement = null;
-
-function setCurrentlyValidatingElement(element) {
- {
- currentlyValidatingElement = element;
- }
-}
-
-{
- // Stack implementation injected by the current renderer.
- ReactDebugCurrentFrame.getCurrentStack = null;
-
- ReactDebugCurrentFrame.getStackAddendum = function () {
- var stack = '';
-
- // Add an extra top frame while an element is being validated
- if (currentlyValidatingElement) {
- var name = getComponentName(currentlyValidatingElement.type);
- var owner = currentlyValidatingElement._owner;
- stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type));
- }
-
- // Delegate to the injected renderer-specific implementation
- var impl = ReactDebugCurrentFrame.getCurrentStack;
- if (impl) {
- stack += impl() || '';
- }
-
- return stack;
- };
-}
-
-var ReactSharedInternals = {
- ReactCurrentOwner: ReactCurrentOwner,
- // Used by renderers to avoid bundling object-assign twice in UMD bundles:
- assign: objectAssign
-};
-
-{
- // Re-export the schedule API(s) for UMD bundles.
- // This avoids introducing a dependency on a new UMD global in a minor update,
- // Since that would be a breaking change (e.g. for all existing CodeSandboxes).
- // This re-export is only required for UMD bundles;
- // CJS bundles use the shared NPM package.
- objectAssign(ReactSharedInternals, {
- Schedule: {
- unstable_cancelScheduledWork: unstable_cancelScheduledWork,
- unstable_now: getCurrentTime,
- unstable_scheduleWork: unstable_scheduleWork
- },
- ScheduleTracing: {
- __interactionsRef: interactionsRef,
- __subscriberRef: subscriberRef,
- unstable_clear: unstable_clear,
- unstable_getCurrent: unstable_getCurrent,
- unstable_getThreadID: unstable_getThreadID,
- unstable_subscribe: unstable_subscribe,
- unstable_trace: unstable_trace,
- unstable_unsubscribe: unstable_unsubscribe,
- unstable_wrap: unstable_wrap
- }
- });
-}
-
-{
- objectAssign(ReactSharedInternals, {
- // These should not be included in production.
- ReactDebugCurrentFrame: ReactDebugCurrentFrame,
- // Shim for React DOM 16.0.0 which still destructured (but not used) this.
- // TODO: remove in React 17.0.
- ReactComponentTreeHook: {}
- });
-}
-
-/**
- * Similar to invariant but only logs a warning if the condition is not met.
- * This can be used to log issues in development environments in critical
- * paths. Removing the logging code for production environments will keep the
- * same logic and follow the same code paths.
- */
-
-var warning = warningWithoutStack$1;
-
-{
- warning = function (condition, format) {
- if (condition) {
- return;
- }
- var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
- var stack = ReactDebugCurrentFrame.getStackAddendum();
- // eslint-disable-next-line react-internal/warning-and-invariant-args
-
- for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
- args[_key - 2] = arguments[_key];
- }
-
- warningWithoutStack$1.apply(undefined, [false, format + '%s'].concat(args, [stack]));
- };
-}
-
-var warning$1 = warning;
-
-var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
-
-var RESERVED_PROPS = {
- key: true,
- ref: true,
- __self: true,
- __source: true
-};
-
-var specialPropKeyWarningShown = void 0;
-var specialPropRefWarningShown = void 0;
-
-function hasValidRef(config) {
- {
- if (hasOwnProperty$1.call(config, 'ref')) {
- var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;
- if (getter && getter.isReactWarning) {
- return false;
- }
- }
- }
- return config.ref !== undefined;
-}
-
-function hasValidKey(config) {
- {
- if (hasOwnProperty$1.call(config, 'key')) {
- var getter = Object.getOwnPropertyDescriptor(config, 'key').get;
- if (getter && getter.isReactWarning) {
- return false;
- }
- }
- }
- return config.key !== undefined;
-}
-
-function defineKeyPropWarningGetter(props, displayName) {
- var warnAboutAccessingKey = function () {
- if (!specialPropKeyWarningShown) {
- specialPropKeyWarningShown = true;
- warningWithoutStack$1(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);
- }
- };
- warnAboutAccessingKey.isReactWarning = true;
- Object.defineProperty(props, 'key', {
- get: warnAboutAccessingKey,
- configurable: true
- });
-}
-
-function defineRefPropWarningGetter(props, displayName) {
- var warnAboutAccessingRef = function () {
- if (!specialPropRefWarningShown) {
- specialPropRefWarningShown = true;
- warningWithoutStack$1(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName);
- }
- };
- warnAboutAccessingRef.isReactWarning = true;
- Object.defineProperty(props, 'ref', {
- get: warnAboutAccessingRef,
- configurable: true
- });
-}
-
-/**
- * Factory method to create a new React element. This no longer adheres to
- * the class pattern, so do not use new to call it. Also, no instanceof check
- * will work. Instead test $$typeof field against Symbol.for('react.element') to check
- * if something is a React Element.
- *
- * @param {*} type
- * @param {*} key
- * @param {string|object} ref
- * @param {*} self A *temporary* helper to detect places where `this` is
- * different from the `owner` when React.createElement is called, so that we
- * can warn. We want to get rid of owner and replace string `ref`s with arrow
- * functions, and as long as `this` and owner are the same, there will be no
- * change in behavior.
- * @param {*} source An annotation object (added by a transpiler or otherwise)
- * indicating filename, line number, and/or other information.
- * @param {*} owner
- * @param {*} props
- * @internal
- */
-var ReactElement = function (type, key, ref, self, source, owner, props) {
- var element = {
- // This tag allows us to uniquely identify this as a React Element
- $$typeof: REACT_ELEMENT_TYPE,
-
- // Built-in properties that belong on the element
- type: type,
- key: key,
- ref: ref,
- props: props,
-
- // Record the component responsible for creating this element.
- _owner: owner
- };
-
- {
- // The validation flag is currently mutative. We put it on
- // an external backing store so that we can freeze the whole object.
- // This can be replaced with a WeakMap once they are implemented in
- // commonly used development environments.
- element._store = {};
-
- // To make comparing ReactElements easier for testing purposes, we make
- // the validation flag non-enumerable (where possible, which should
- // include every environment we run tests in), so the test framework
- // ignores it.
- Object.defineProperty(element._store, 'validated', {
- configurable: false,
- enumerable: false,
- writable: true,
- value: false
- });
- // self and source are DEV only properties.
- Object.defineProperty(element, '_self', {
- configurable: false,
- enumerable: false,
- writable: false,
- value: self
- });
- // Two elements created in two different places should be considered
- // equal for testing purposes and therefore we hide it from enumeration.
- Object.defineProperty(element, '_source', {
- configurable: false,
- enumerable: false,
- writable: false,
- value: source
- });
- if (Object.freeze) {
- Object.freeze(element.props);
- Object.freeze(element);
- }
- }
-
- return element;
-};
-
-/**
- * Create and return a new ReactElement of the given type.
- * See https://reactjs.org/docs/react-api.html#createelement
- */
-function createElement(type, config, children) {
- var propName = void 0;
-
- // Reserved names are extracted
- var props = {};
-
- var key = null;
- var ref = null;
- var self = null;
- var source = null;
-
- if (config != null) {
- if (hasValidRef(config)) {
- ref = config.ref;
- }
- if (hasValidKey(config)) {
- key = '' + config.key;
- }
-
- self = config.__self === undefined ? null : config.__self;
- source = config.__source === undefined ? null : config.__source;
- // Remaining properties are added to a new props object
- for (propName in config) {
- if (hasOwnProperty$1.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
- props[propName] = config[propName];
- }
- }
- }
-
- // Children can be more than one argument, and those are transferred onto
- // the newly allocated props object.
- var childrenLength = arguments.length - 2;
- if (childrenLength === 1) {
- props.children = children;
- } else if (childrenLength > 1) {
- var childArray = Array(childrenLength);
- for (var i = 0; i < childrenLength; i++) {
- childArray[i] = arguments[i + 2];
- }
- {
- if (Object.freeze) {
- Object.freeze(childArray);
- }
- }
- props.children = childArray;
- }
-
- // Resolve default props
- if (type && type.defaultProps) {
- var defaultProps = type.defaultProps;
- for (propName in defaultProps) {
- if (props[propName] === undefined) {
- props[propName] = defaultProps[propName];
- }
- }
- }
- {
- if (key || ref) {
- var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;
- if (key) {
- defineKeyPropWarningGetter(props, displayName);
- }
- if (ref) {
- defineRefPropWarningGetter(props, displayName);
- }
- }
- }
- return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);
-}
-
-/**
- * Return a function that produces ReactElements of a given type.
- * See https://reactjs.org/docs/react-api.html#createfactory
- */
-
-
-function cloneAndReplaceKey(oldElement, newKey) {
- var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);
-
- return newElement;
-}
-
-/**
- * Clone and return a new ReactElement using element as the starting point.
- * See https://reactjs.org/docs/react-api.html#cloneelement
- */
-function cloneElement(element, config, children) {
- !!(element === null || element === undefined) ? invariant(false, 'React.cloneElement(...): The argument must be a React element, but you passed %s.', element) : void 0;
-
- var propName = void 0;
-
- // Original props are copied
- var props = objectAssign({}, element.props);
-
- // Reserved names are extracted
- var key = element.key;
- var ref = element.ref;
- // Self is preserved since the owner is preserved.
- var self = element._self;
- // Source is preserved since cloneElement is unlikely to be targeted by a
- // transpiler, and the original source is probably a better indicator of the
- // true owner.
- var source = element._source;
-
- // Owner will be preserved, unless ref is overridden
- var owner = element._owner;
-
- if (config != null) {
- if (hasValidRef(config)) {
- // Silently steal the ref from the parent.
- ref = config.ref;
- owner = ReactCurrentOwner.current;
- }
- if (hasValidKey(config)) {
- key = '' + config.key;
- }
-
- // Remaining properties override existing props
- var defaultProps = void 0;
- if (element.type && element.type.defaultProps) {
- defaultProps = element.type.defaultProps;
- }
- for (propName in config) {
- if (hasOwnProperty$1.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {
- if (config[propName] === undefined && defaultProps !== undefined) {
- // Resolve default props
- props[propName] = defaultProps[propName];
- } else {
- props[propName] = config[propName];
- }
- }
- }
- }
-
- // Children can be more than one argument, and those are transferred onto
- // the newly allocated props object.
- var childrenLength = arguments.length - 2;
- if (childrenLength === 1) {
- props.children = children;
- } else if (childrenLength > 1) {
- var childArray = Array(childrenLength);
- for (var i = 0; i < childrenLength; i++) {
- childArray[i] = arguments[i + 2];
- }
- props.children = childArray;
- }
-
- return ReactElement(element.type, key, ref, self, source, owner, props);
-}
-
-/**
- * Verifies the object is a ReactElement.
- * See https://reactjs.org/docs/react-api.html#isvalidelement
- * @param {?object} object
- * @return {boolean} True if `object` is a ReactElement.
- * @final
- */
-function isValidElement(object) {
- return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
-}
-
-var SEPARATOR = '.';
-var SUBSEPARATOR = ':';
-
-/**
- * Escape and wrap key so it is safe to use as a reactid
- *
- * @param {string} key to be escaped.
- * @return {string} the escaped key.
- */
-function escape(key) {
- var escapeRegex = /[=:]/g;
- var escaperLookup = {
- '=': '=0',
- ':': '=2'
- };
- var escapedString = ('' + key).replace(escapeRegex, function (match) {
- return escaperLookup[match];
- });
-
- return '$' + escapedString;
-}
-
-/**
- * TODO: Test that a single child and an array with one item have the same key
- * pattern.
- */
-
-var didWarnAboutMaps = false;
-
-var userProvidedKeyEscapeRegex = /\/+/g;
-function escapeUserProvidedKey(text) {
- return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');
-}
-
-var POOL_SIZE = 10;
-var traverseContextPool = [];
-function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) {
- if (traverseContextPool.length) {
- var traverseContext = traverseContextPool.pop();
- traverseContext.result = mapResult;
- traverseContext.keyPrefix = keyPrefix;
- traverseContext.func = mapFunction;
- traverseContext.context = mapContext;
- traverseContext.count = 0;
- return traverseContext;
- } else {
- return {
- result: mapResult,
- keyPrefix: keyPrefix,
- func: mapFunction,
- context: mapContext,
- count: 0
- };
- }
-}
-
-function releaseTraverseContext(traverseContext) {
- traverseContext.result = null;
- traverseContext.keyPrefix = null;
- traverseContext.func = null;
- traverseContext.context = null;
- traverseContext.count = 0;
- if (traverseContextPool.length < POOL_SIZE) {
- traverseContextPool.push(traverseContext);
- }
-}
-
-/**
- * @param {?*} children Children tree container.
- * @param {!string} nameSoFar Name of the key path so far.
- * @param {!function} callback Callback to invoke with each child found.
- * @param {?*} traverseContext Used to pass information throughout the traversal
- * process.
- * @return {!number} The number of children in this subtree.
- */
-function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {
- var type = typeof children;
-
- if (type === 'undefined' || type === 'boolean') {
- // All of the above are perceived as null.
- children = null;
- }
-
- var invokeCallback = false;
-
- if (children === null) {
- invokeCallback = true;
- } else {
- switch (type) {
- case 'string':
- case 'number':
- invokeCallback = true;
- break;
- case 'object':
- switch (children.$$typeof) {
- case REACT_ELEMENT_TYPE:
- case REACT_PORTAL_TYPE:
- invokeCallback = true;
- }
- }
- }
-
- if (invokeCallback) {
- callback(traverseContext, children,
- // If it's the only child, treat the name as if it was wrapped in an array
- // so that it's consistent if the number of children grows.
- nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);
- return 1;
- }
-
- var child = void 0;
- var nextName = void 0;
- var subtreeCount = 0; // Count of children found in the current subtree.
- var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;
-
- if (Array.isArray(children)) {
- for (var i = 0; i < children.length; i++) {
- child = children[i];
- nextName = nextNamePrefix + getComponentKey(child, i);
- subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
- }
- } else {
- var iteratorFn = getIteratorFn(children);
- if (typeof iteratorFn === 'function') {
- {
- // Warn about using Maps as children
- if (iteratorFn === children.entries) {
- !didWarnAboutMaps ? warning$1(false, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.') : void 0;
- didWarnAboutMaps = true;
- }
- }
-
- var iterator = iteratorFn.call(children);
- var step = void 0;
- var ii = 0;
- while (!(step = iterator.next()).done) {
- child = step.value;
- nextName = nextNamePrefix + getComponentKey(child, ii++);
- subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);
- }
- } else if (type === 'object') {
- var addendum = '';
- {
- addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum();
- }
- var childrenString = '' + children;
- invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum);
- }
- }
-
- return subtreeCount;
-}
-
-/**
- * Traverses children that are typically specified as `props.children`, but
- * might also be specified through attributes:
- *
- * - `traverseAllChildren(this.props.children, ...)`
- * - `traverseAllChildren(this.props.leftPanelChildren, ...)`
- *
- * The `traverseContext` is an optional argument that is passed through the
- * entire traversal. It can be used to store accumulations or anything else that
- * the callback might find relevant.
- *
- * @param {?*} children Children tree object.
- * @param {!function} callback To invoke upon traversing each child.
- * @param {?*} traverseContext Context for traversal.
- * @return {!number} The number of children in this subtree.
- */
-function traverseAllChildren(children, callback, traverseContext) {
- if (children == null) {
- return 0;
- }
-
- return traverseAllChildrenImpl(children, '', callback, traverseContext);
-}
-
-/**
- * Generate a key string that identifies a component within a set.
- *
- * @param {*} component A component that could contain a manual key.
- * @param {number} index Index that is used if a manual key is not provided.
- * @return {string}
- */
-function getComponentKey(component, index) {
- // Do some typechecking here since we call this blindly. We want to ensure
- // that we don't block potential future ES APIs.
- if (typeof component === 'object' && component !== null && component.key != null) {
- // Explicit key
- return escape(component.key);
- }
- // Implicit key determined by the index in the set
- return index.toString(36);
-}
-
-function forEachSingleChild(bookKeeping, child, name) {
- var func = bookKeeping.func,
- context = bookKeeping.context;
-
- func.call(context, child, bookKeeping.count++);
-}
-
-/**
- * Iterates through children that are typically specified as `props.children`.
- *
- * See https://reactjs.org/docs/react-api.html#reactchildrenforeach
- *
- * The provided forEachFunc(child, index) will be called for each
- * leaf child.
- *
- * @param {?*} children Children tree container.
- * @param {function(*, int)} forEachFunc
- * @param {*} forEachContext Context for forEachContext.
- */
-function forEachChildren(children, forEachFunc, forEachContext) {
- if (children == null) {
- return children;
- }
- var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext);
- traverseAllChildren(children, forEachSingleChild, traverseContext);
- releaseTraverseContext(traverseContext);
-}
-
-function mapSingleChildIntoContext(bookKeeping, child, childKey) {
- var result = bookKeeping.result,
- keyPrefix = bookKeeping.keyPrefix,
- func = bookKeeping.func,
- context = bookKeeping.context;
-
-
- var mappedChild = func.call(context, child, bookKeeping.count++);
- if (Array.isArray(mappedChild)) {
- mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) {
- return c;
- });
- } else if (mappedChild != null) {
- if (isValidElement(mappedChild)) {
- mappedChild = cloneAndReplaceKey(mappedChild,
- // Keep both the (mapped) and old keys if they differ, just as
- // traverseAllChildren used to do for objects as children
- keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);
- }
- result.push(mappedChild);
- }
-}
-
-function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {
- var escapedPrefix = '';
- if (prefix != null) {
- escapedPrefix = escapeUserProvidedKey(prefix) + '/';
- }
- var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context);
- traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);
- releaseTraverseContext(traverseContext);
-}
-
-/**
- * Maps children that are typically specified as `props.children`.
- *
- * See https://reactjs.org/docs/react-api.html#reactchildrenmap
- *
- * The provided mapFunction(child, key, index) will be called for each
- * leaf child.
- *
- * @param {?*} children Children tree container.
- * @param {function(*, int)} func The map function.
- * @param {*} context Context for mapFunction.
- * @return {object} Object containing the ordered map of results.
- */
-function mapChildren(children, func, context) {
- if (children == null) {
- return children;
- }
- var result = [];
- mapIntoWithKeyPrefixInternal(children, result, null, func, context);
- return result;
-}
-
-/**
- * Count the number of children that are typically specified as
- * `props.children`.
- *
- * See https://reactjs.org/docs/react-api.html#reactchildrencount
- *
- * @param {?*} children Children tree container.
- * @return {number} The number of children.
- */
-function countChildren(children) {
- return traverseAllChildren(children, function () {
- return null;
- }, null);
-}
-
-/**
- * Flatten a children object (typically specified as `props.children`) and
- * return an array with appropriately re-keyed children.
- *
- * See https://reactjs.org/docs/react-api.html#reactchildrentoarray
- */
-function toArray(children) {
- var result = [];
- mapIntoWithKeyPrefixInternal(children, result, null, function (child) {
- return child;
- });
- return result;
-}
-
-/**
- * Returns the first child in a collection of children and verifies that there
- * is only one child in the collection.
- *
- * See https://reactjs.org/docs/react-api.html#reactchildrenonly
- *
- * The current implementation of this function assumes that a single child gets
- * passed without a wrapper, but the purpose of this helper function is to
- * abstract away the particular structure of children.
- *
- * @param {?object} children Child collection structure.
- * @return {ReactElement} The first and only `ReactElement` contained in the
- * structure.
- */
-function onlyChild(children) {
- !isValidElement(children) ? invariant(false, 'React.Children.only expected to receive a single React element child.') : void 0;
- return children;
-}
-
-function readContext(context, observedBits) {
- var dispatcher = ReactCurrentOwner.currentDispatcher;
- !(dispatcher !== null) ? invariant(false, 'Context.unstable_read(): Context can only be read while React is rendering, e.g. inside the render method or getDerivedStateFromProps.') : void 0;
- return dispatcher.readContext(context, observedBits);
-}
-
-function createContext(defaultValue, calculateChangedBits) {
- if (calculateChangedBits === undefined) {
- calculateChangedBits = null;
- } else {
- {
- !(calculateChangedBits === null || typeof calculateChangedBits === 'function') ? warningWithoutStack$1(false, 'createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits) : void 0;
- }
- }
-
- var context = {
- $$typeof: REACT_CONTEXT_TYPE,
- _calculateChangedBits: calculateChangedBits,
- // As a workaround to support multiple concurrent renderers, we categorize
- // some renderers as primary and others as secondary. We only expect
- // there to be two concurrent renderers at most: React Native (primary) and
- // Fabric (secondary); React DOM (primary) and React ART (secondary).
- // Secondary renderers store their context values on separate fields.
- _currentValue: defaultValue,
- _currentValue2: defaultValue,
- // These are circular
- Provider: null,
- Consumer: null,
- unstable_read: null
- };
-
- context.Provider = {
- $$typeof: REACT_PROVIDER_TYPE,
- _context: context
- };
- context.Consumer = context;
- context.unstable_read = readContext.bind(null, context);
-
- {
- context._currentRenderer = null;
- context._currentRenderer2 = null;
- }
-
- return context;
-}
-
-function lazy(ctor) {
- var thenable = null;
- return {
- then: function (resolve, reject) {
- if (thenable === null) {
- // Lazily create thenable by wrapping in an extra thenable.
- thenable = ctor();
- ctor = null;
- }
- return thenable.then(resolve, reject);
- },
-
- // React uses these fields to store the result.
- _reactStatus: -1,
- _reactResult: null
- };
-}
-
-function forwardRef(render) {
- {
- if (typeof render !== 'function') {
- warningWithoutStack$1(false, 'forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render);
- } else {
- !(
- // Do not warn for 0 arguments because it could be due to usage of the 'arguments' object
- render.length === 0 || render.length === 2) ? warningWithoutStack$1(false, 'forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.') : void 0;
- }
-
- if (render != null) {
- !(render.defaultProps == null && render.propTypes == null) ? warningWithoutStack$1(false, 'forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?') : void 0;
- }
- }
-
- return {
- $$typeof: REACT_FORWARD_REF_TYPE,
- render: render
- };
-}
-
-function isValidElementType(type) {
- return typeof type === 'string' || typeof type === 'function' ||
- // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
- type === REACT_FRAGMENT_TYPE || type === REACT_ASYNC_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_PLACEHOLDER_TYPE || typeof type === 'object' && type !== null && (typeof type.then === 'function' || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE);
-}
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
-
-var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
-
-/**
- * Copyright (c) 2013-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-
-
-var printWarning$1 = function() {};
-
-{
- var ReactPropTypesSecret = ReactPropTypesSecret_1;
- var loggedTypeFailures = {};
-
- printWarning$1 = function(text) {
- var message = 'Warning: ' + text;
- if (typeof console !== 'undefined') {
- console.error(message);
- }
- try {
- // --- Welcome to debugging React ---
- // This error was thrown as a convenience so that you can use this stack
- // to find the callsite that caused this warning to fire.
- throw new Error(message);
- } catch (x) {}
- };
-}
-
-/**
- * Assert that the values match with the type specs.
- * Error messages are memorized and will only be shown once.
- *
- * @param {object} typeSpecs Map of name to a ReactPropType
- * @param {object} values Runtime values that need to be type-checked
- * @param {string} location e.g. "prop", "context", "child context"
- * @param {string} componentName Name of the component for error messages.
- * @param {?Function} getStack Returns the component stack.
- * @private
- */
-function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
- {
- for (var typeSpecName in typeSpecs) {
- if (typeSpecs.hasOwnProperty(typeSpecName)) {
- var error;
- // Prop type validation may throw. In case they do, we don't want to
- // fail the render phase where it didn't fail before. So we log it.
- // After these have been cleaned up, we'll let them throw.
- try {
- // This is intentionally an invariant that gets caught. It's the same
- // behavior as without this statement except with a better message.
- if (typeof typeSpecs[typeSpecName] !== 'function') {
- var err = Error(
- (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
- 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.'
- );
- err.name = 'Invariant Violation';
- throw err;
- }
- error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
- } catch (ex) {
- error = ex;
- }
- if (error && !(error instanceof Error)) {
- printWarning$1(
- (componentName || 'React class') + ': type specification of ' +
- location + ' `' + typeSpecName + '` is invalid; the type checker ' +
- 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
- 'You may have forgotten to pass an argument to the type checker ' +
- 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
- 'shape all require an argument).'
- );
-
- }
- if (error instanceof Error && !(error.message in loggedTypeFailures)) {
- // Only monitor this failure once because there tends to be a lot of the
- // same error.
- loggedTypeFailures[error.message] = true;
-
- var stack = getStack ? getStack() : '';
-
- printWarning$1(
- 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
- );
- }
- }
- }
- }
-}
-
-var checkPropTypes_1 = checkPropTypes;
-
-/**
- * ReactElementValidator provides a wrapper around a element factory
- * which validates the props passed to the element. This is intended to be
- * used only in DEV and could be replaced by a static type checker for languages
- * that support it.
- */
-
-var propTypesMisspellWarningShown = void 0;
-
-{
- propTypesMisspellWarningShown = false;
-}
-
-function getDeclarationErrorAddendum() {
- if (ReactCurrentOwner.current) {
- var name = getComponentName(ReactCurrentOwner.current.type);
- if (name) {
- return '\n\nCheck the render method of `' + name + '`.';
- }
- }
- return '';
-}
-
-function getSourceInfoErrorAddendum(elementProps) {
- if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) {
- var source = elementProps.__source;
- var fileName = source.fileName.replace(/^.*[\\\/]/, '');
- var lineNumber = source.lineNumber;
- return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.';
- }
- return '';
-}
-
-/**
- * Warn if there's no key explicitly set on dynamic arrays of children or
- * object keys are not valid. This allows us to keep track of children between
- * updates.
- */
-var ownerHasKeyUseWarning = {};
-
-function getCurrentComponentErrorInfo(parentType) {
- var info = getDeclarationErrorAddendum();
-
- if (!info) {
- var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;
- if (parentName) {
- info = '\n\nCheck the top-level render call using <' + parentName + '>.';
- }
- }
- return info;
-}
-
-/**
- * Warn if the element doesn't have an explicit key assigned to it.
- * This element is in an array. The array could grow and shrink or be
- * reordered. All children that haven't already been validated are required to
- * have a "key" property assigned to it. Error statuses are cached so a warning
- * will only be shown once.
- *
- * @internal
- * @param {ReactElement} element Element that requires a key.
- * @param {*} parentType element's parent's type.
- */
-function validateExplicitKey(element, parentType) {
- if (!element._store || element._store.validated || element.key != null) {
- return;
- }
- element._store.validated = true;
-
- var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);
- if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {
- return;
- }
- ownerHasKeyUseWarning[currentComponentErrorInfo] = true;
-
- // Usually the current owner is the offender, but if it accepts children as a
- // property, it may be the creator of the child that's responsible for
- // assigning it a key.
- var childOwner = '';
- if (element && element._owner && element._owner !== ReactCurrentOwner.current) {
- // Give the component that originally created this child.
- childOwner = ' It was passed a child from ' + getComponentName(element._owner.type) + '.';
- }
-
- setCurrentlyValidatingElement(element);
- {
- warning$1(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner);
- }
- setCurrentlyValidatingElement(null);
-}
-
-/**
- * Ensure that every element either is passed in a static location, in an
- * array with an explicit keys property defined, or in an object literal
- * with valid key property.
- *
- * @internal
- * @param {ReactNode} node Statically passed child of any type.
- * @param {*} parentType node's parent's type.
- */
-function validateChildKeys(node, parentType) {
- if (typeof node !== 'object') {
- return;
- }
- if (Array.isArray(node)) {
- for (var i = 0; i < node.length; i++) {
- var child = node[i];
- if (isValidElement(child)) {
- validateExplicitKey(child, parentType);
- }
- }
- } else if (isValidElement(node)) {
- // This element was passed in a valid location.
- if (node._store) {
- node._store.validated = true;
- }
- } else if (node) {
- var iteratorFn = getIteratorFn(node);
- if (typeof iteratorFn === 'function') {
- // Entry iterators used to provide implicit keys,
- // but now we print a separate warning for them later.
- if (iteratorFn !== node.entries) {
- var iterator = iteratorFn.call(node);
- var step = void 0;
- while (!(step = iterator.next()).done) {
- if (isValidElement(step.value)) {
- validateExplicitKey(step.value, parentType);
- }
- }
- }
- }
- }
-}
-
-/**
- * Given an element, validate that its props follow the propTypes definition,
- * provided by the type.
- *
- * @param {ReactElement} element
- */
-function validatePropTypes(element) {
- var type = element.type;
- var name = void 0,
- propTypes = void 0;
- if (typeof type === 'function') {
- // Class or functional component
- name = type.displayName || type.name;
- propTypes = type.propTypes;
- } else if (typeof type === 'object' && type !== null && type.$$typeof === REACT_FORWARD_REF_TYPE) {
- // ForwardRef
- var functionName = type.render.displayName || type.render.name || '';
- name = type.displayName || (functionName !== '' ? 'ForwardRef(' + functionName + ')' : 'ForwardRef');
- propTypes = type.propTypes;
- } else {
- return;
- }
- if (propTypes) {
- setCurrentlyValidatingElement(element);
- checkPropTypes_1(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum);
- setCurrentlyValidatingElement(null);
- } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {
- propTypesMisspellWarningShown = true;
- warningWithoutStack$1(false, 'Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown');
- }
- if (typeof type.getDefaultProps === 'function') {
- !type.getDefaultProps.isReactClassApproved ? warningWithoutStack$1(false, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0;
- }
-}
-
-/**
- * Given a fragment, validate that it can only be provided with fragment props
- * @param {ReactElement} fragment
- */
-function validateFragmentProps(fragment) {
- setCurrentlyValidatingElement(fragment);
-
- var keys = Object.keys(fragment.props);
- for (var i = 0; i < keys.length; i++) {
- var key = keys[i];
- if (key !== 'children' && key !== 'key') {
- warning$1(false, 'Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);
- break;
- }
- }
-
- if (fragment.ref !== null) {
- warning$1(false, 'Invalid attribute `ref` supplied to `React.Fragment`.');
- }
-
- setCurrentlyValidatingElement(null);
-}
-
-function createElementWithValidation(type, props, children) {
- var validType = isValidElementType(type);
-
- // We warn in this case but don't throw. We expect the element creation to
- // succeed and there will likely be errors in render.
- if (!validType) {
- var info = '';
- if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {
- info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports.";
- }
-
- var sourceInfo = getSourceInfoErrorAddendum(props);
- if (sourceInfo) {
- info += sourceInfo;
- } else {
- info += getDeclarationErrorAddendum();
- }
-
- var typeString = void 0;
- if (type === null) {
- typeString = 'null';
- } else if (Array.isArray(type)) {
- typeString = 'array';
- } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {
- typeString = '<' + (getComponentName(type.type) || 'Unknown') + ' />';
- info = ' Did you accidentally export a JSX literal instead of a component?';
- } else {
- typeString = typeof type;
- }
-
- warning$1(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);
- }
-
- var element = createElement.apply(this, arguments);
-
- // The result can be nullish if a mock or a custom function is used.
- // TODO: Drop this when these are no longer allowed as the type argument.
- if (element == null) {
- return element;
- }
-
- // Skip key warning if the type isn't valid since our key validation logic
- // doesn't expect a non-string/function type and can throw confusing errors.
- // We don't want exception behavior to differ between dev and prod.
- // (Rendering will throw with a helpful message and as soon as the type is
- // fixed, the key warnings will appear.)
- if (validType) {
- for (var i = 2; i < arguments.length; i++) {
- validateChildKeys(arguments[i], type);
- }
- }
-
- if (type === REACT_FRAGMENT_TYPE) {
- validateFragmentProps(element);
- } else {
- validatePropTypes(element);
- }
-
- return element;
-}
-
-function createFactoryWithValidation(type) {
- var validatedFactory = createElementWithValidation.bind(null, type);
- validatedFactory.type = type;
- // Legacy hook: remove it
- {
- Object.defineProperty(validatedFactory, 'type', {
- enumerable: false,
- get: function () {
- lowPriorityWarning$1(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.');
- Object.defineProperty(this, 'type', {
- value: type
- });
- return type;
- }
- });
- }
-
- return validatedFactory;
-}
-
-function cloneElementWithValidation(element, props, children) {
- var newElement = cloneElement.apply(this, arguments);
- for (var i = 2; i < arguments.length; i++) {
- validateChildKeys(arguments[i], newElement.type);
- }
- validatePropTypes(newElement);
- return newElement;
-}
-
-var React = {
- Children: {
- map: mapChildren,
- forEach: forEachChildren,
- count: countChildren,
- toArray: toArray,
- only: onlyChild
- },
-
- createRef: createRef,
- Component: Component,
- PureComponent: PureComponent,
-
- createContext: createContext,
- forwardRef: forwardRef,
-
- Fragment: REACT_FRAGMENT_TYPE,
- StrictMode: REACT_STRICT_MODE_TYPE,
- unstable_AsyncMode: REACT_ASYNC_MODE_TYPE,
- unstable_Profiler: REACT_PROFILER_TYPE,
-
- createElement: createElementWithValidation,
- cloneElement: cloneElementWithValidation,
- createFactory: createFactoryWithValidation,
- isValidElement: isValidElement,
-
- version: ReactVersion,
-
- __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactSharedInternals
-};
-
-if (enableSuspense) {
- React.Placeholder = REACT_PLACEHOLDER_TYPE;
- React.lazy = lazy;
-}
-
-
-
-var React$2 = Object.freeze({
- default: React
-});
-
-var React$3 = ( React$2 && React ) || React$2;
-
-// TODO: decide on the top-level export form.
-// This is hacky but makes it work with both Rollup and Jest.
-var react = React$3.default || React$3;
-
-return react;
-
-})));
diff --git a/node_modules/react/umd/react.production.min.js b/node_modules/react/umd/react.production.min.js
deleted file mode 100644
index 562715c65..000000000
--- a/node_modules/react/umd/react.production.min.js
+++ /dev/null
@@ -1,28 +0,0 @@
-/** @license React v16.5.2
- * react.production.min.js
- *
- * Copyright (c) Facebook, Inc. and its affiliates.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-'use strict';(function(D,k){"object"===typeof exports&&"undefined"!==typeof module?module.exports=k():"function"===typeof define&&define.amd?define(k):D.React=k()})(this,function(){function D(a,b,c,d,g,na,e,h){if(!a){a=void 0;if(void 0===b)a=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var f=[c,d,g,na,e,h],oa=0;a=Error(b.replace(/%s/g,function(){return f[oa++]}));a.name="Invariant Violation"}a.framesToPop=
-1;throw a;}}function k(a){for(var b=arguments.length-1,c="https://reactjs.org/docs/error-decoder.html?invariant="+a,d=0;d<b;d++)c+="&args[]="+encodeURIComponent(arguments[d+1]);D(!1,"Minified React error #"+a+"; visit %s for the full message or use the non-minified dev environment for full errors and additional helpful warnings. ",c)}function p(a,b,c){this.props=a;this.context=b;this.refs=S;this.updater=c||T}function U(){}function E(a,b,c){this.props=a;this.context=b;this.refs=S;this.updater=c||T}
-function F(){if(!G){var a=e.timesOutAt;H?I():H=!0;J(pa,a)}}function V(a){a=e;var b=e.next;if(e===b)e=null;else{var c=e.previous;e=c.next=b;b.previous=c}a.next=a.previous=null;a=a.callback;a(W)}function pa(a){G=!0;W.didTimeout=a;try{if(a)for(;null!==e;){var b=m();if(e.timesOutAt<=b){do V();while(null!==e&&e.timesOutAt<=b)}else break}else if(null!==e){do V();while(null!==e&&0<q()-m())}}finally{G=!1,null!==e?F(e):H=!1}}function X(a,b,c){var d=void 0,g={},e=null,f=null;if(null!=b)for(d in void 0!==b.ref&&
-(f=b.ref),void 0!==b.key&&(e=""+b.key),b)Y.call(b,d)&&!Z.hasOwnProperty(d)&&(g[d]=b[d]);var h=arguments.length-2;if(1===h)g.children=c;else if(1<h){for(var k=Array(h),n=0;n<h;n++)k[n]=arguments[n+2];g.children=k}if(a&&a.defaultProps)for(d in h=a.defaultProps,h)void 0===g[d]&&(g[d]=h[d]);return{$$typeof:r,type:a,key:e,ref:f,props:g,_owner:w.current}}function qa(a,b){return{$$typeof:r,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function K(a){return"object"===typeof a&&null!==a&&a.$$typeof===
-r}function ra(a){var b={"=":"=0",":":"=2"};return"$"+(""+a).replace(/[=:]/g,function(a){return b[a]})}function aa(a,b,c,d){if(x.length){var g=x.pop();g.result=a;g.keyPrefix=b;g.func=c;g.context=d;g.count=0;return g}return{result:a,keyPrefix:b,func:c,context:d,count:0}}function ba(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>x.length&&x.push(a)}function L(a,b,c,d){var g=typeof a;if("undefined"===g||"boolean"===g)a=null;var e=!1;if(null===a)e=!0;else switch(g){case "string":case "number":e=
-!0;break;case "object":switch(a.$$typeof){case r:case sa:e=!0}}if(e)return c(d,a,""===b?"."+M(a,0):b),1;e=0;b=""===b?".":b+":";if(Array.isArray(a))for(var f=0;f<a.length;f++){g=a[f];var h=b+M(g,f);e+=L(g,h,c,d)}else if(null===a||"object"!==typeof a?h=null:(h=ca&&a[ca]||a["@@iterator"],h="function"===typeof h?h:null),"function"===typeof h)for(a=h.call(a),f=0;!(g=a.next()).done;)g=g.value,h=b+M(g,f++),e+=L(g,h,c,d);else"object"===g&&(c=""+a,k("31","[object Object]"===c?"object with keys {"+Object.keys(a).join(", ")+
-"}":c,""));return e}function N(a,b,c){return null==a?0:L(a,"",b,c)}function M(a,b){return"object"===typeof a&&null!==a&&null!=a.key?ra(a.key):b.toString(36)}function ta(a,b,c){a.func.call(a.context,b,a.count++)}function ua(a,b,c){var d=a.result,e=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?O(a,d,c,function(a){return a}):null!=a&&(K(a)&&(a=qa(a,e+(!a.key||b&&b.key===a.key?"":(""+a.key).replace(da,"$&/")+"/")+c)),d.push(a))}function O(a,b,c,d,e){var g="";null!=c&&(g=(""+c).replace(da,
-"$&/")+"/");b=aa(b,g,d,e);N(a,ua,b);ba(b)}function va(a,b){var c=w.currentDispatcher;null===c?k("277"):void 0;return c.readContext(a,b)}var f="function"===typeof Symbol&&Symbol.for,r=f?Symbol.for("react.element"):60103,sa=f?Symbol.for("react.portal"):60106,l=f?Symbol.for("react.fragment"):60107,P=f?Symbol.for("react.strict_mode"):60108,wa=f?Symbol.for("react.profiler"):60114,xa=f?Symbol.for("react.provider"):60109,ya=f?Symbol.for("react.context"):60110,za=f?Symbol.for("react.async_mode"):60111,Aa=
-f?Symbol.for("react.forward_ref"):60112;f&&Symbol.for("react.placeholder");var ca="function"===typeof Symbol&&Symbol.iterator,ea=Object.getOwnPropertySymbols,Ba=Object.prototype.hasOwnProperty,Ca=Object.prototype.propertyIsEnumerable,y=function(){try{if(!Object.assign)return!1;var a=new String("abc");a[5]="de";if("5"===Object.getOwnPropertyNames(a)[0])return!1;var b={};for(a=0;10>a;a++)b["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(b).map(function(a){return b[a]}).join(""))return!1;
-var c={};"abcdefghijklmnopqrst".split("").forEach(function(a){c[a]=a});return"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},c)).join("")?!1:!0}catch(d){return!1}}()?Object.assign:function(a,b){if(null===a||void 0===a)throw new TypeError("Object.assign cannot be called with null or undefined");var c=Object(a);for(var d,e=1;e<arguments.length;e++){var f=Object(arguments[e]);for(var k in f)Ba.call(f,k)&&(c[k]=f[k]);if(ea){d=ea(f);for(var h=0;h<d.length;h++)Ca.call(f,d[h])&&(c[d[h]]=f[d[h]])}}return c},
-T={isMounted:function(a){return!1},enqueueForceUpdate:function(a,b,c){},enqueueReplaceState:function(a,b,c,d){},enqueueSetState:function(a,b,c,d){}},S={};p.prototype.isReactComponent={};p.prototype.setState=function(a,b){"object"!==typeof a&&"function"!==typeof a&&null!=a?k("85"):void 0;this.updater.enqueueSetState(this,a,b,"setState")};p.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,"forceUpdate")};U.prototype=p.prototype;f=E.prototype=new U;f.constructor=E;y(f,p.prototype);
-f.isPureReactComponent=!0;var e=null,G=!1,H=!1;f="object"===typeof performance&&"function"===typeof performance.now;var W={timeRemaining:f?function(){var a=q()-performance.now();return 0<a?a:0}:function(){var a=q()-Date.now();return 0<a?a:0},didTimeout:!1},Da=Date,Ea="function"===typeof setTimeout?setTimeout:void 0,Fa="function"===typeof clearTimeout?clearTimeout:void 0,fa="function"===typeof requestAnimationFrame?requestAnimationFrame:void 0,ha="function"===typeof cancelAnimationFrame?cancelAnimationFrame:
-void 0,ia,ja,ka=function(a){ia=fa(function(b){Fa(ja);a(b)});ja=Ea(function(){ha(ia);a(m())},100)};if(f){var Ga=performance;var m=function(){return Ga.now()}}else m=function(){return Da.now()};if("undefined"===typeof window){var la=-1;var J=function(a,b){la=setTimeout(a,0,!0)};var I=function(){clearTimeout(la)};var q=function(){return 0}}else if(window._schedMock)f=window._schedMock,J=f[0],I=f[1],q=f[2];else{"undefined"!==typeof console&&("function"!==typeof fa&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),
-"function"!==typeof ha&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"));var z=null,A=!1,t=-1,u=!1,Q=!1,B=0,C=33,v=33;q=function(){return B};var R="__reactIdleCallback$"+Math.random().toString(36).slice(2);window.addEventListener("message",function(a){if(a.source===window&&a.data===R){A=!1;var b=m();a=!1;if(0>=B-b)if(-1!==t&&t<=b)a=!0;else{u||(u=!0,ka(ma));return}t=-1;b=z;z=null;if(null!==b){Q=
-!0;try{b(a)}finally{Q=!1}}}},!1);var ma=function(a){u=!1;var b=a-B+v;b<v&&C<v?(8>b&&(b=8),v=b<C?C:b):C=b;B=a+v;A||(A=!0,window.postMessage(R,"*"))};J=function(a,b){z=a;t=b;Q?window.postMessage(R,"*"):u||(u=!0,ka(ma))};I=function(){z=null;A=!1;t=-1}}var Ha=0,w={current:null,currentDispatcher:null};f={ReactCurrentOwner:w,assign:y};y(f,{Schedule:{unstable_cancelScheduledWork:function(a){var b=a.next;if(null!==b){if(b===a)e=null;else{a===e&&(e=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=
-null}},unstable_now:m,unstable_scheduleWork:function(a,b){var c=m();b=void 0!==b&&null!==b&&null!==b.timeout&&void 0!==b.timeout?c+b.timeout:c+5E3;a={callback:a,timesOutAt:b,next:null,previous:null};if(null===e)e=a.next=a.previous=a,F(e);else{c=null;var d=e;do{if(d.timesOutAt>b){c=d;break}d=d.next}while(d!==e);null===c?c=e:c===e&&(e=a,F(e));b=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a}},ScheduleTracing:{__interactionsRef:null,__subscriberRef:null,unstable_clear:function(a){return a()},
-unstable_getCurrent:function(){return null},unstable_getThreadID:function(){return++Ha},unstable_subscribe:function(a){},unstable_trace:function(a,b,c){return c()},unstable_unsubscribe:function(a){},unstable_wrap:function(a){return a}}});var Y=Object.prototype.hasOwnProperty,Z={key:!0,ref:!0,__self:!0,__source:!0},da=/\/+/g,x=[];l={Children:{map:function(a,b,c){if(null==a)return a;var d=[];O(a,d,null,b,c);return d},forEach:function(a,b,c){if(null==a)return a;b=aa(null,null,b,c);N(a,ta,b);ba(b)},count:function(a){return N(a,
-function(){return null},null)},toArray:function(a){var b=[];O(a,b,null,function(a){return a});return b},only:function(a){K(a)?void 0:k("143");return a}},createRef:function(){return{current:null}},Component:p,PureComponent:E,createContext:function(a,b){void 0===b&&(b=null);a={$$typeof:ya,_calculateChangedBits:b,_currentValue:a,_currentValue2:a,Provider:null,Consumer:null,unstable_read:null};a.Provider={$$typeof:xa,_context:a};a.Consumer=a;a.unstable_read=va.bind(null,a);return a},forwardRef:function(a){return{$$typeof:Aa,
-render:a}},Fragment:l,StrictMode:P,unstable_AsyncMode:za,unstable_Profiler:wa,createElement:X,cloneElement:function(a,b,c){null===a||void 0===a?k("267",a):void 0;var d=void 0,e=y({},a.props),f=a.key,m=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(m=b.ref,h=w.current);void 0!==b.key&&(f=""+b.key);var l=void 0;a.type&&a.type.defaultProps&&(l=a.type.defaultProps);for(d in b)Y.call(b,d)&&!Z.hasOwnProperty(d)&&(e[d]=void 0===b[d]&&void 0!==l?l[d]:b[d])}d=arguments.length-2;if(1===d)e.children=c;else if(1<
-d){l=Array(d);for(var n=0;n<d;n++)l[n]=arguments[n+2];e.children=l}return{$$typeof:r,type:a.type,key:f,ref:m,props:e,_owner:h}},createFactory:function(a){var b=X.bind(null,a);b.type=a;return b},isValidElement:K,version:"16.5.2",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:f};l=(P={default:l},l)||P;return l.default||l});