swc/crates/swc_webpack_ast/tests/fixture/react-dom/dev-cjs/output.js

3647 lines
131 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

if (process.env.NODE_ENV !== "production") {
var React = require("react");
var _assign = require("object-assign");
var Scheduler = require("scheduler");
var tracing = require("scheduler/tracing");
var ReactSharedInternals;
var ReactDebugCurrentFrame;
var stack;
var argsWithFormat; // Careful: RN currently depends on this prefix
var FunctionComponent;
var ClassComponent;
var IndeterminateComponent; // Before we know whether it is function or class
var HostRoot; // Root of a host tree. Could be nested inside another node.
var HostPortal; // A subtree. Could be an entry point to a different renderer.
var HostComponent;
var HostText;
var Fragment;
var Mode;
var ContextConsumer;
var ContextProvider;
var ForwardRef;
var Profiler;
var SuspenseComponent;
var MemoComponent;
var SimpleMemoComponent;
var LazyComponent;
var IncompleteClassComponent;
var DehydratedFragment;
var SuspenseListComponent;
var FundamentalComponent;
var ScopeComponent;
var Block;
var OffscreenComponent;
var LegacyHiddenComponent;
// Filter certain DOM attributes (e.g. src, href) if their values are empty strings.
var enableProfilerTimer; // Record durations for commit and passive effects phases.
var enableFundamentalAPI; // Experimental Scope support.
var enableNewReconciler; // Errors that are thrown while unmounting (or after in the case of passive effects)
var warnAboutStringRefs;
var allNativeEvents;
/**
* Mapping from registration name to event name
*/ var registrationNameDependencies;
/**
* Mapping from lowercase registration names to the properly cased version,
* used to warn in the case of missing event handlers. Available
* only in true.
* @type {Object}
*/ var possibleRegistrationNames; // Trust the developer to only use possibleRegistrationNames in true
var lowerCasedName;
var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
// A reserved attribute.
// It is handled by React separately and shouldn't be written to the DOM.
var RESERVED; // A simple string attribute.
// Attributes that aren't in the filter are presumed to have this type.
var STRING; // A string attribute that accepts booleans in React. In HTML, these are called
// "enumerated" attributes with "true" and "false" as possible values.
// When true, it should be set to a "true" string.
// When false, it should be set to a "false" string.
var BOOLEANISH_STRING; // A real boolean attribute.
// When true, it should be present (set either to an empty string or its name).
// When false, it should be omitted.
var BOOLEAN; // An attribute that can be used as a flag as well as with a value.
// When true, it should be present (set either to an empty string or its name).
// When false, it should be omitted.
// For any other value, should be present with that value.
var OVERLOADED_BOOLEAN; // An attribute that must be numeric or parse as a numeric.
// When falsy, it should be removed.
var NUMERIC; // An attribute that must be positive numeric or parse as a positive numeric.
// When falsy, it should be removed.
var POSITIVE_NUMERIC;
/* eslint-disable max-len */ var ATTRIBUTE_NAME_START_CHAR;
/* eslint-enable max-len */ var ATTRIBUTE_NAME_CHAR;
var ROOT_ATTRIBUTE_NAME;
var VALID_ATTRIBUTE_NAME_REGEX;
var hasOwnProperty;
var illegalAttributeNameCache;
var validatedAttributeNameCache;
switch(null){
case "boolean":
var prefix;
}
// the `possibleStandardNames` module to ensure casing and incorrect
// name warnings.
var properties; // These props are reserved by React. They shouldn't be written to the DOM.
var reservedProps;
(function() {
var name, attributeName;
}); // These are "enumerated" HTML attributes that accept "true" and "false".
var CAMELIZE;
var capitalize; // This is a list of all SVG attributes that need special casing, namespacing,
(function() {
var name;
}); // String SVG attributes with the xlink namespace.
(function() {
var name;
}); // String SVG attributes with the xml namespace.
(function() {
var name;
}); // These attribute exists both in HTML and SVG.
// These will also need to accept Trusted Types object in the future.
var xlinkHref;
// and any newline or tab are filtered out as if they're not part of the URL.
// https://url.spec.whatwg.org/#url-parsing
// Tab or newline are defined as \r\n\t:
// https://infra.spec.whatwg.org/#ascii-tab-or-newline
// A C0 control is a code point in the range \u0000 NULL to \u001F
// INFORMATION SEPARATOR ONE, inclusive:
// https://infra.spec.whatwg.org/#c0-control-or-space
/* eslint-disable max-len */ var isJavaScriptProtocol;
var didWarn;
var propertyName;
var attributeName;
var stringValue;
var value;
var value1;
var propertyInfo;
var _attributeName;
var mustUseProperty;
var propertyName1;
var type;
var attributeName1, attributeNamespace;
var _type;
var attributeValue;
// ATTENTION
// When adding new symbols to this file,
// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'
// 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 REACT_ELEMENT_TYPE;
var REACT_PORTAL_TYPE;
var REACT_FRAGMENT_TYPE;
var REACT_STRICT_MODE_TYPE;
var REACT_PROFILER_TYPE;
var REACT_PROVIDER_TYPE;
var REACT_CONTEXT_TYPE;
var REACT_FORWARD_REF_TYPE;
var REACT_SUSPENSE_TYPE;
var REACT_SUSPENSE_LIST_TYPE;
var REACT_MEMO_TYPE;
var REACT_LAZY_TYPE;
var REACT_BLOCK_TYPE;
var REACT_SERVER_BLOCK_TYPE;
var REACT_FUNDAMENTAL_TYPE;
var REACT_SCOPE_TYPE;
var REACT_OPAQUE_ID_TYPE;
var REACT_DEBUG_TRACING_MODE_TYPE;
var REACT_OFFSCREEN_TYPE;
var REACT_LEGACY_HIDDEN_TYPE;
var symbolFor;
var MAYBE_ITERATOR_SYMBOL;
var FAUX_ITERATOR_SYMBOL;
var maybeIterator;
// Helpers to patch console.logs to avoid logging during side-effect free
// replaying on render function. This currently only patches the object
// lazily which won't cover if the log function was extracted eagerly.
// We could also eagerly patch the method.
var disabledDepth;
var prevLog;
var prevInfo;
var prevWarn;
var prevError;
var prevGroup;
var prevGroupCollapsed;
var prevGroupEnd;
var props; // $FlowFixMe Flow thinks console is immutable.
/* eslint-disable react-internal/no-production-logging */ var props1; // $FlowFixMe Flow thinks console is immutable.
var ReactCurrentDispatcher;
var prefix1;
var match;
var reentry;
var componentFrameCache;
var PossiblyWeakMap;
var frame;
var control;
var previousPrepareStackTrace; // $FlowFixMe It does accept undefined.
var previousDispatcher;
// Something should be setting the props in the constructor.
var Fake; // $FlowFixMe
// This extracts the first frame from the sample that isn't also in the control.
// Skipping one frame that we assume is the frame that calls the two.
var sampleLines;
var controlLines;
var s;
var c;
// V8 adds a "new" prefix for native classes. Let's remove it to make it prettier.
var _frame;
var name;
var syntheticFrame;
var prototype;
switch(null){
case null:
var lazyComponent;
var payload;
var init;
}
var owner;
var source;
var info;
var node;
var functionName;
switch(null){
case null:
var context;
case null:
var provider;
case null:
var lazyComponent1;
var payload1;
var init1;
}
var ReactDebugCurrentFrame1;
var current;
var isRendering;
var owner1;
var hasReadOnlyValue;
var type1;
var nodeName;
var value2;
var valueField;
var descriptor;
var currentValue; // if someone has already defined a value or Safari, then bail
var get, set;
var tracker;
var tracker1; // if there is no tracker at this point it's unlikely
var lastValue;
var nextValue;
var didWarnValueDefaultValue;
var didWarnCheckedDefaultChecked;
var didWarnControlledToUncontrolled;
var didWarnUncontrolledToControlled;
var usesChecked;
var node1;
var checked;
var hostProps;
var node2;
var defaultValue;
var node3;
var checked1;
var node4;
var controlled;
var value3;
var type2;
var node5; // Do not assign value if it is already set. This prevents user text input
var type3;
var isButton; // Avoid setting value attribute on submit/reset inputs as it overrides the
var initialValue; // Do not assign value if it is already set. This prevents user text input
// this is needed to work around a chrome bug where setting defaultChecked
// will sometimes influence the value of checked (even after detachment).
// Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416
// We need to temporarily unset name to avoid disrupting radio button groups.
var name1;
var node6;
var name2;
var queryRoot;
// but that sometimes behaves strangely in IE8. We could also try using
// `form.getElementsByName`, but that will only return direct children
// and won't include inputs that use the HTML5 `form=` attribute. Since
// the input might not even be in a form. It might not even be in the
// document. Let's just use the local `querySelectorAll` to ensure we don't
// miss anything.
var group;
var otherNode;
// and the same name are rendered into the same form (same as #1939).
// That's probably okay; we don't support it just as we don't support
// mixing React radio buttons with non-React ones.
var otherProps;
var didWarnSelectedSetOnOption;
var didWarnInvalidChild;
var content; // Flatten children. We'll warn if they are invalid
var hostProps1;
var content1;
var didWarnValueDefaultValue$1;
var ownerName;
var valuePropNames;
var propName;
var isArray;
var options;
var selectedValues;
var selectedValue;
var selected;
// Do not set `select.value` as exact behavior isn't consistent across all
// browsers for all cases.
var _selectedValue;
var defaultSelected;
var node7;
var node8;
var value4;
var node9;
var wasMultiple;
var value5;
var node10;
var value6;
var didWarnValDefaultVal;
var node11;
// get reset if `textContent` is mutated. We could add a check in setTextContent
// to only set the value if/when the value differs from the node value (which would
// completely solve this IE9 bug), but Sebastian+Sophie seemed to like this
// solution. The value can be a boolean or object so that's why it's forced
// to be a string.
var hostProps2;
var node12;
var initialValue1; // Only bother fetching default value if we're going to use it
var children, defaultValue1;
var node13;
var value7;
var defaultValue2;
// Cast `value` to a string to ensure the value is set correctly. While
// browsers typically do this as necessary, jsdom doesn't.
var newValue; // To avoid side effects (such as losing text selection), only set value if changed
var node14; // This is in postMount because we need access to the DOM node, which is not
// available until after the component has mounted.
var textContent; // Only set node.value if textContent is equal to the expected
var HTML_NAMESPACE;
var MATH_NAMESPACE;
var SVG_NAMESPACE;
var Namespaces; // Assumes there is no parent namespace.
/* globals MSApp */ /**
* Create a function which has 'unsafe' privileges (required by windows8 apps)
*/ var createMicrosoftUnsafeLocalFunction;
var reusableSVGContainer;
/**
* Set the innerHTML property of a node
*
* @param {DOMElement} node
* @param {string} html
* @internal
*/ var setInnerHTML = function() {
var svgNode;
};
/**
* HTML nodeType values that represent the type of the node
*/ var ELEMENT_NODE;
var TEXT_NODE;
var COMMENT_NODE;
var DOCUMENT_NODE;
var DOCUMENT_FRAGMENT_NODE;
/**
* Set the textContent property of a node. For text updates, it's faster
* to set the `nodeValue` of the Text node directly instead of using
* `.textContent` which will remove the existing node and create a new one.
*
* @param {DOMElement} node
* @param {string} text
* @internal
*/ var setTextContent = function() {
var firstChild;
};
// List derived from Gecko source code:
// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js
var shorthandToLonghand;
/**
* CSS properties which accept numbers but are not in units of "px".
*/ var isUnitlessNumber;
/**
* Support style names that may come passed in prefixed by adding permutations
* of vendor prefixes.
*/ var prefixes; // Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an
// Note that we've removed escapeTextForBrowser() calls here since the
// whole string will be escaped when the attribute is injected into
// the markup. If you provide unsafe user data here they can inject
// arbitrary CSS which may be problematic (I couldn't repro this):
// https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
// http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/
// This is not an XSS hole but instead a potential CSS injection issue
// which has lead to a greater discussion about how we're going to
// trust URLs moving forward. See #2115901
var isEmpty;
var uppercasePattern;
var msPattern;
var warnValidStyle;
// 'msTransform' is correct, but the other prefixes should be capitalized
var badVendoredStyleNamePattern;
var msPattern$1;
var hyphenPattern; // style values shouldn't contain a semicolon
var badStyleValueWithSemicolonPattern;
var warnedStyleNames;
var warnedStyleValues;
var warnedForNaNValue;
var warnedForInfinityValue;
var camelize;
var warnHyphenatedStyleName;
var warnBadVendoredStyleName;
var warnStyleValueWithSemicolon;
var warnStyleValueIsNaN;
var warnStyleValueIsInfinity;
var warnValidStyle$1;
var serialized;
var delimiter;
var styleName;
var styleValue;
var isCustomProperty;
var style;
var styleName1;
var isCustomProperty1;
var styleValue1;
var expanded;
var key;
var longhands;
var expandedUpdates;
var expandedStyles;
var warnedAbout;
var key1;
var originalKey;
var correctOriginalKey;
var warningKey;
// For HTML, certain tags should omit their close tag. We keep a list for
// those special-case tags.
var omittedCloseTags;
// `omittedCloseTags` except that `menuitem` should still have its closing tag.
var voidElementTags;
var HTML;
// When adding attributes to the HTML or SVG allowed attribute list, be sure to
// also add them to this module to ensure casing and incorrect name
// warnings.
var possibleStandardNames;
var ariaProperties;
var warnedProperties;
var rARIA;
var rARIACamel;
var hasOwnProperty$1;
var ariaName;
var correctName; // If this is an aria-* attribute, but is not listed in the known DOM
var lowerCasedName1;
var standardName; // If this is an aria-* attribute, but is not listed in the known DOM
var invalidProps;
var key2;
var isValid;
var unknownPropString;
var didWarnValueNull;
var validateProperty$1;
var warnedProperties$1;
var _hasOwnProperty;
var EVENT_NAME_REGEX;
var INVALID_EVENT_NAME_REGEX;
var rARIA$1;
var rARIACamel$1;
(function() {
var lowerCasedName;
var registrationNameDependencies, possibleRegistrationNames;
var registrationName;
var propertyInfo;
var isReserved; // Known attributes should match the casing specified in the property config.
var standardName;
});
var warnUnknownProperties = function() {
var unknownProps;
var key;
var isValid;
var unknownPropString;
};
var IS_EVENT_HANDLE_NON_MANAGED_NODE;
var IS_NON_DELEGATED;
var IS_CAPTURE_PHASE;
var IS_REPLAYED;
// set to LEGACY_FB_SUPPORT. LEGACY_FB_SUPPORT only gets set when
// we call willDeferLaterForLegacyFBSupport, thus not bailing out
// will result in endless cycles like an infinite loop.
// We also don't want to defer during event replaying.
var SHOULD_NOT_PROCESS_POLYFILL_EVENT_PLUGINS;
// Fallback to nativeEvent.srcElement for IE9
// https://github.com/facebook/react/issues/12506
var target; // Normalize SVG <use> element events #4963
var restoreImpl;
var restoreTarget;
var restoreQueue;
// We perform this translation at the end of the event loop so that we
// always receive the correct fiber here
var internalInstance;
var stateNode; // Guard against Fiber being unmounted.
var _props;
var target1;
var queuedTargets;
// the renderer. Such as when we're dispatching events or if third party
// libraries need to call batchedUpdates. Eventually, this API will go away when
// everything is batched by default. We'll then have a similar API to opt-out of
// scheduled work and instead do synchronous work.
// Defaults
var batchedUpdatesImpl;
var discreteUpdatesImpl;
var flushDiscreteUpdatesImpl;
var batchedEventUpdatesImpl;
var isInsideEventHandler;
var isBatchingEventUpdates;
// Here we wait until all updates have propagated, which is important
// when using controlled components within layers:
// https://github.com/facebook/react/issues/1698
// Then we restore state of any controlled component.
var controlledComponentsHavePendingUpdates;
var prevIsInsideEventHandler;
var stateNode1;
var props2;
var listener;
var passiveBrowserEventsSupported; // Check if browser support events with passive listeners
var options1; // $FlowFixMe: Ignore Flow complaining about needing a value
var funcArgs;
var invokeGuardedCallbackImpl;
var fakeNode;
(function invokeGuardedCallbackDev() {
var evt;
var didCall; // Keeps track of whether the user-provided callback threw an error. We
// set this to true at the beginning, then set it to false right after
// calling the function. If the function errors, `didError` will never be
// set to false. This strategy works even if the browser is flaky and
// fails to call our global error handler, because it doesn't rely on
// the error event at all.
var didError; // Keeps track of the value of window.event so that we can reset it
// during the callback to let user code access window.event in the
// browsers that support it.
var windowEvent; // Keeps track of the descriptor of window.event to restore it after event
// dispatching: https://github.com/facebook/react/issues/13688
var windowEventDescriptor;
// dispatch our fake event using `dispatchEvent`. Inside the handler, we
// call the user-provided callback.
var funcArgs;
// that was thrown. It's possible that this error handler will fire more
// than once; for example, if non-React code also calls `dispatchEvent`
// and a handler for that event throws. We should be resilient to most of
// those cases. Even if our error event handler fires more than once, the
// last error event is always used. If the callback actually does error,
// we know that the last error event is the correct one, because it's not
// possible for anything else to have happened in between our callback
// erroring and the code that follows the `dispatchEvent` call below. If
// the callback doesn't error, but the error event was fired, we know to
// ignore it because `didError` will be false, as described above.
var error; // Use this to track whether the error event is ever called.
var didSetError;
var isCrossOriginError;
var evtType; // Attach our event handlers
});
var invokeGuardedCallbackImpl$1;
var hasError;
var caughtError; // Used by event system to capture/rethrow the first error.
var hasRethrowError;
var rethrowError;
var reporter;
var error;
var error1;
var error2;
// Don't change these two values. They're used by React Dev Tools.
var NoFlags;
var PerformedWork; // You can change the rest (and add more).
var Placement;
var Update;
var PlacementAndUpdate;
var Deletion;
var ContentReset;
var Callback;
var DidCapture;
var Ref;
var Snapshot;
var Passive; // TODO (effects) Remove this bit once the new reconciler is synced to the old.
var PassiveUnmountPendingDev;
var Hydrating;
var HydratingAndUpdate; // Passive & Update & Callback & Ref & Snapshot
var LifecycleEffectMask; // Union of all host effects
var HostEffectMask; // These are not really side effects, but we still reuse this field.
var Incomplete;
var ShouldCapture;
var ForceUpdateForLegacySuspense; // Static tags describe aspects of a fiber that are not specific to a render,
var ReactCurrentOwner;
var node15;
var nearestMounted;
// If there is no alternate, this might be a new tree that isn't inserted
// yet. If it is, then it will have a pending insertion effect on it.
var nextNode;
var suspenseState;
var current1;
var owner2;
var ownerFiber;
var instance;
var fiber;
var alternate;
// If there is no alternate, then we only need to check if it is mounted.
var nearestMounted1;
// to see what path the root points to. On the way we may hit one of the
// special cases and we'll deal with them.
var a;
var b;
var parentA;
var parentB;
// There is no alternate. This is an unusual case. Currently, it only
// happens when a Suspense component is hidden. An extra fragment fiber
// is inserted in between the Suspense fiber and its children. Skip
// over this extra fragment fiber and proceed to the next parent.
var nextParent;
var child;
// The return pointers point to the same fiber. We'll have to use the
// default, slow path: scan the child sets of each parent alternate to see
// which child belongs to which set.
//
// Search parent A's child set
var didFindChild;
var _child;
var currentParent;
var node16;
var currentParent1;
var node17;
var node18;
var parentFiberAlternate;
var attemptUserBlockingHydration;
var attemptContinuousHydration;
var attemptHydrationAtCurrentPriority;
var attemptHydrationAtPriority;
var hasScheduledReplayAttempt; // The queue of discrete events to be replayed.
var queuedDiscreteEvents; // Indicates if any continuous event targets are non-null for early bailout.
// if the last target was dehydrated.
var queuedFocus;
var queuedDrag;
var queuedMouse; // For pointer events there can be one latest event per pointerId.
var queuedPointers;
var queuedPointerCaptures; // We could consider replaying selectionchange and touchmoves too.
var queuedExplicitHydrationTargets;
var discreteReplayableEvents;
var queuedEvent;
switch(null){
case "pointerout":
var pointerId;
case "lostpointercapture":
var _pointerId;
}
var queuedEvent1;
var _fiber2;
var targetContainers;
// These set relatedTarget to null because the replayed event will be treated as if we
// moved from outside the window (no target) onto the target once it hydrates.
// Instead of mutating we could clone the event.
switch(null){
case "focusin":
var focusEvent;
case "dragenter":
var dragEvent;
case "mouseover":
var mouseEvent;
case "pointerover":
var pointerEvent;
var pointerId1;
case "gotpointercapture":
var _pointerEvent;
var _pointerId2;
}
// TODO: This function shares a lot of logic with attemptToDispatchEvent.
// Try to unify them. It's a bit tricky since it would require two return
// values.
var targetInst;
var nearestMounted2;
var tag;
var instance1;
var root;
var targetContainers1;
var targetContainer;
var nextBlockedOn;
// We're still blocked. Try again later.
var _fiber3;
var nextDiscreteEvent;
// We're still blocked.
// Increase the priority of this boundary to unblock
// the next discrete event.
var _fiber4;
var targetContainers2;
var targetContainer1;
var nextBlockedOn1;
var queuedEvent2;
var unblock;
var queuedTarget;
var nextExplicitTarget;
var DiscreteEvent;
var UserBlockingEvent;
var ContinuousEvent;
var prefixes1;
/**
* A list of event names to a configurable list of vendor prefixes.
*/ var vendorPrefixes;
/**
* Event names that have already been detected and prefixed (if applicable).
*/ var prefixedEventNames;
/**
* Element to check for prefixes on.
*/ var style1;
var prefixMap;
var styleProp;
var ANIMATION_END;
var ANIMATION_ITERATION;
var ANIMATION_START;
var TRANSITION_END;
var topLevelEventsToReactNames;
var eventPriorities; // We store most of the events in this module in pairs of two strings so we can re-use
// the code required to apply the same logic for event prioritization and that of the
// SimpleEventPlugin. This complicates things slightly, but the aim is to reduce code
// duplication (for which there would be quite a bit). For the events that are not needed
// for the SimpleEventPlugin (otherDiscreteEvents) we process them separately as an
// array of top level events.
// Lastly, we ignore prettier so we can keep the formatting sane.
// prettier-ignore
var discreteEventPairsForSimpleEventPlugin;
var otherDiscreteEvents;
var userBlockingPairsForSimpleEventPlugin; // prettier-ignore
var continuousPairsForSimpleEventPlugin;
var topEvent;
var event;
var capitalizedEvent;
var reactName;
var priority; // Default to a ContinuousEvent. Note: we might
var Scheduler_now;
// ascending numbers so we can compare them like numbers. They start at 90 to
// avoid clashing with Scheduler's priorities.
var ImmediatePriority;
var UserBlockingPriority;
var NormalPriority;
var LowPriority;
var IdlePriority; // NoPriority is the absence of priority. Also React-only.
var NoPriority;
var initialTimeMs; // If the initial timestamp is reasonably small, use Scheduler's `now` directly.
var SyncLanePriority;
var SyncBatchedLanePriority;
var InputDiscreteHydrationLanePriority;
var InputDiscreteLanePriority;
var InputContinuousHydrationLanePriority;
var InputContinuousLanePriority;
var DefaultHydrationLanePriority;
var DefaultLanePriority;
var TransitionHydrationPriority;
var TransitionPriority;
var RetryLanePriority;
var SelectiveHydrationLanePriority;
var IdleHydrationLanePriority;
var IdleLanePriority;
var OffscreenLanePriority;
var NoLanePriority;
var TotalLanes;
var NoLanes;
var NoLane;
var SyncLane;
var SyncBatchedLane;
var InputDiscreteHydrationLane;
var InputDiscreteLanes;
var InputContinuousHydrationLane;
var InputContinuousLanes;
var DefaultHydrationLane;
var DefaultLanes;
var TransitionHydrationLane;
var TransitionLanes;
var RetryLanes;
var SomeRetryLane;
var SelectiveHydrationLane;
var NonIdleLanes;
var IdleHydrationLane;
var IdleLanes;
var OffscreenLane;
var NoTimestamp;
// Used by getHighestPriorityLanes and getNextLanes:
var return_highestLanePriority;
var inputDiscreteLanes;
var inputContinuousLanes;
var defaultLanes;
var transitionLanes;
var retryLanes;
var idleLanes;
// Early bailout if there's no pending work left.
var pendingLanes;
var nextLanes;
var nextLanePriority;
var expiredLanes;
var suspendedLanes;
var pingedLanes; // Check if any work has expired.
// Do not work on any idle work until all the non-idle work has finished,
// even if the work is suspended.
var nonIdlePendingLanes;
var nonIdleUnblockedLanes;
var nonIdlePingedLanes;
// The only remaining work is Idle.
var unblockedLanes;
var wipLanePriority;
//
// A lane is said to be entangled with another when it's not allowed to render
// in a batch that does not also include the other lane. Typically we do this
// when multiple updates have the same source, and we only want to respond to
// the most recent event from that source.
//
// Note that we apply entanglements *after* checking for partial work above.
// This means that if a lane is entangled during an interleaved event while
// it's already rendering, we won't interrupt it. This is intentional, since
// entanglement is usually "best effort": we'll try our best to render the
// lanes in the same batch, but it's not worth throwing out partially
// completed work in order to do it.
//
// For those exceptions where entanglement is semantically important, like
// useMutableSource, we should ensure that there is no partial work at the
// time we apply the entanglement.
var entangledLanes;
var entanglements;
var lanes;
var index;
var lane;
var eventTimes;
var mostRecentEventTime;
var index1;
var lane1;
var eventTime;
var priority1;
// TODO: This gets called every time we yield. We can optimize by storing
// the earliest expiration time on the root. Then use that to quickly bail out
// of this function.
var pendingLanes1;
var suspendedLanes1;
var pingedLanes1;
var expirationTimes; // Iterate through the pending lanes and check if we've reached their
// expiration time. If so, we'll assume the update is being starved and mark
// it as expired to force it to finish.
var lanes1;
var index2;
var lane2;
var expirationTime;
var everythingButOffscreen;
switch(null){
case null:
var _lane;
case null:
var _lane2;
case null:
var _lane3;
case null:
var lane3;
}
// First look for lanes that are completely unclaimed, i.e. have no
// pending work.
var lane4;
// This is a fork of `findUpdateLane` designed specifically for Suspense
// "retries" — a special update that attempts to flip a Suspense boundary
// from its placeholder state to its primary/resolved state.
var lane5;
// This finds the most significant non-zero bit.
var index3;
// Intentionally pushing one by one.
// https://v8.dev/blog/elements-kinds#avoid-creating-holes
var laneMap;
// it's not practical to try every single possible combination. We need a
// heuristic to decide which lanes to attempt to render, and in which batches.
// For now, we use the same heuristic as in the old ExpirationTimes model:
// retry any lane at equal or lower priority, but don't try updates at higher
// priority without also including the lower priority updates. This works well
// when considering updates across different priority levels, but isn't
// sufficient for updates within the same priority, since we want to treat
// those updates as parallel.
// Unsuspend any update at equal or lower priority.
var higherPriorityLanes; // Turns 0b1000 into 0b0111
var eventTimes1;
var index4; // We can always overwrite an existing timestamp because we prefer the most
var expirationTimes1;
var lanes2;
var index5;
var lane6;
var noLongerPendingLanes;
var entanglements1;
var eventTimes2;
var expirationTimes2; // Clear the lanes that no longer have pending work
var lanes3;
var index6;
var lane7;
var entanglements2;
var lanes4;
var index7;
var lane8;
var clz32; // Count leading zeros. Only used on lanes, so assume input is an integer.
// Based on:
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
var log;
var LN2;
// Intentionally not named imports because Rollup would use dynamic dispatch for
var UserBlockingPriority$1, runWithPriority; // TODO: can we stop exporting these?
var _enabled; // This is exported in FB builds for use by legacy FB layer infra.
var eventPriority;
var listenerWrapper;
var allowReplay;
var blockedOn;
// TODO: Warn if _enabled is false.
var nativeEventTarget;
var targetInst1;
var nearestMounted3;
var tag1;
var instance2;
var root1;
/**
* These variables store information about text content of a target node,
* allowing comparison of content before and after a given event.
*
* Identify the node where selection currently begins, then observe
* both its text content and its current position in the DOM. Since the
* browser may natively replace the target node during composition, we can
* use its position to find its replacement.
*
*
*/ var root2;
var startText;
var fallbackText;
var start;
var startValue;
var startLength;
var end;
var endValue;
var endLength;
var minEnd;
var sliceTail;
var charCode;
var keyCode;
var _propName;
var normalize;
var defaultPrevented;
(function() {
var event;
}), function() {
var event;
};
/**
* @interface Event
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/ var EventInterface;
var SyntheticEvent;
var UIEventInterface;
var SyntheticUIEvent;
var lastMovementX;
var lastMovementY;
var lastMouseEvent;
/**
* @interface MouseEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/ var MouseEventInterface;
var SyntheticMouseEvent;
/**
* @interface DragEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/ var DragEventInterface;
var SyntheticDragEvent;
/**
* @interface FocusEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/ var FocusEventInterface;
var SyntheticFocusEvent;
/**
* @interface Event
* @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface
* @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent
*/ var AnimationEventInterface;
var SyntheticAnimationEvent;
/**
* @interface Event
* @see http://www.w3.org/TR/clipboard-apis/
*/ var ClipboardEventInterface;
var SyntheticClipboardEvent;
/**
* @interface Event
* @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents
*/ var CompositionEventInterface;
var SyntheticCompositionEvent;
/**
* @interface Event
* @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105
* /#events-inputevents
*/ // Happens to share the same list for now.
var SyntheticInputEvent;
/**
* Normalization of deprecated HTML5 `key` values
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
*/ var normalizeKey;
/**
* Translation from legacy `keyCode` to HTML5 `key`
* Only special keys supported, all others depend on keyboard layout or browser
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
*/ var translateToKey;
// Normalize inconsistent values reported by browsers due to
// implementations of a working draft specification.
// FireFox implements `key` but returns `MozPrintableKey` for all
// printable characters (normalized to `Unidentified`), ignore it.
var key3;
var charCode1; // The enter-key is technically both printable and non-printable and can
/**
* Translation from modifier key to the associated property in the event.
* @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers
*/ var modifierKeyToProp; // Older browsers (Safari <= 10, iOS Safari <= 10.2) do not support
var syntheticEvent;
var nativeEvent;
var keyProp;
/**
* @interface KeyboardEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/ var KeyboardEventInterface;
var SyntheticKeyboardEvent;
/**
* @interface PointerEvent
* @see http://www.w3.org/TR/pointerevents/
*/ var PointerEventInterface;
var SyntheticPointerEvent;
/**
* @interface TouchEvent
* @see http://www.w3.org/TR/touch-events/
*/ var TouchEventInterface;
var SyntheticTouchEvent;
/**
* @interface Event
* @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-
* @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent
*/ var TransitionEventInterface;
var SyntheticTransitionEvent;
/**
* @interface WheelEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/ var WheelEventInterface;
var SyntheticWheelEvent;
var END_KEYCODES; // Tab, Return, Esc, Space
var START_KEYCODE;
var canUseCompositionEvent;
var documentMode;
// directly represent `beforeInput`. The IE `textinput` event is not as
// useful, so we don't use it.
var canUseTextInputEvent; // In IE9+, we have access to composition events, but the data supplied
// by the native compositionend event may be incorrect. Japanese ideographic
// spaces, for instance (\u3000) are not recorded correctly.
var useFallbackCompositionData;
var SPACEBAR_CODE;
var SPACEBAR_CHAR;
var hasSpaceKeypress;
var detail;
var isComposing;
var eventType;
var fallbackData;
var listeners;
var event1;
var customData;
switch(null){
case "keypress":
/**
* If native `textInput` events are available, our goal is to make
* use of them. However, there is a special case: the spacebar key.
* In Webkit, preventing default on a spacebar `textInput` event
* cancels character insertion, but it *also* causes the browser
* to fall back to its default spacebar behavior of scrolling the
* page.
*
* Tracking at:
* https://code.google.com/p/chromium/issues/detail?id=355103
*
* To avoid this issue, use the keypress event as if no `textInput`
* event is available.
*/ var which;
case "textInput":
// Record the characters to be added to the DOM.
var chars; // If it's a spacebar character, assume that we have already handled
}
var chars1;
var chars2;
var listeners1;
var event2;
/**
* @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
*/ var supportedInputTypes;
var nodeName1;
var eventName;
var isSupported;
var element;
var listeners2;
var event3;
/**
* For IE shims
*/ var activeElement;
var activeElementInst;
var nodeName2;
var dispatchQueue;
var targetNode;
/**
* SECTION: handle `input` event
*/ var isInputEventSupported;
// Use the `click` event to detect changes to checkbox and radio inputs.
// This approach works across all browsers, whereas `change` does not fire
// until `blur` in IE8.
var nodeName3;
var state;
var targetNode1;
var getTargetInstFunc, handleEventFunc;
var inst;
var isOverEvent;
var isOutEvent;
// If this is an over event with a target, we might have already dispatched
// the event in the out event of the other target. If this is replayed,
// then it's because we couldn't dispatch against this target previously
// so we have to do it now instead.
var related;
var win; // TODO: why is this nullable in the types but we read from it?
// TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.
var doc;
var from;
var to;
var _related;
var nearestMounted4;
var SyntheticEventCtor;
var leaveEventType;
var enterEventType;
var eventTypePrefix;
var fromNode;
var toNode;
var leave;
var enter; // We should only process this nativeEvent if we are processing
// the first ancestor. Next time, we will ignore the event.
var nativeTargetInst;
var enterEvent;
var objectIs;
var hasOwnProperty$2;
var keysA;
var keysB;
var node19;
var nodeStart;
var nodeEnd;
var ownerDocument;
var win1;
var selection;
var anchorNode, anchorOffset, focusNode, focusOffset; // In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the
var length;
var start1;
var end1;
var indexWithinAnchor;
var indexWithinFocus;
var node20;
var parentNode;
var next;
var doc1;
var win2; // Edge fails with "Object expected" in some scenarios.
var selection1;
var length1;
var start2;
var end2; // IE 11 uses modern selection, but doesn't support the extend method.
var temp;
var startMarker;
var endMarker;
var range;
var win3;
var element1;
var nodeName4;
var focusedElem;
var curFocusedElem;
var priorFocusedElem;
var priorSelectionRange;
var ancestors;
var ancestor;
var info1;
var selection2;
var start3;
var end3;
var skipSelectionChangeEvent;
var activeElement$1;
var activeElementInst$1;
var lastSelection;
var mouseDown;
var win4;
var selection3;
// Ensure we have the right element, and that the user is not dragging a
// selection (this matches native `select` event behavior). In HTML5, select
// fires only on input and textarea thus if there's no focused element we
// won't dispatch.
var doc2;
var currentSelection;
var listeners3;
var event4;
var targetNode2;
var reactName1;
var SyntheticEventCtor1;
var reactEventType;
var inCapturePhase;
// Some events don't bubble in the browser.
// In the past, React has always bubbled them, but this can be surprising.
// We're going to try aligning closer to the browser behavior by not bubbling
// them in React either. We'll start by not bubbling onScroll, and then expand.
var accumulateTargetOnly;
var _listeners;
// Intentionally create event lazily.
var _event;
var shouldProcessPolyfillPlugins; // We don't process these events unless we are in the
var mediaEventTypes; // We should not delegate these events to the container, but rather
// set them on the actual target element itself. This is primarily
// because these events do not consistently bubble in the DOM.
var nonDelegatedEvents;
var type4;
var previousInstance;
var _dispatchListeners$i, instance3, currentTarget, listener1;
var _dispatchListeners$_i, _instance, _currentTarget, _listener;
var inCapturePhase1;
var _dispatchQueue$i, event5, listeners4;
var nativeEventTarget1;
var dispatchQueue1;
var isCapturePhaseListener;
var listenerSet;
var listenerSetKey;
var listeningMarker;
var eventSystemFlags;
var target2; // selectionchange needs to be attached to the document
var listenerSet1;
var listenerSetKey1; // If the listener entry is empty or we should upgrade, then
var listener2; // If passive option is not supported, then the event will be
// active and not passive.
var isPassiveListener;
var unsubscribeListener; // When legacyFBSupport is enabled, it's for when we
var ancestorInst;
var targetContainerNode; // If we are using the legacy FB support flag, we
// The below logic attempts to work out if we need to change
// the target fiber to a different ancestor. We had similar logic
// in the legacy event system, except the big difference between
// systems is that the modern event system now has an event listener
// attached to each React Root and React Portal Root. Together,
// the DOM nodes representing these roots are the "rootContainer".
// To figure out which ancestor instance we should use, we traverse
// up the fiber tree from the target instance and attempt to find
// root boundaries that match that of our current "rootContainer".
// If we find that "rootContainer", we find the parent fiber
// sub-tree for that root and make that our ancestor instance.
var node21;
var nodeTag;
var container2;
// The target is a portal, but it's not the rootContainer we're looking for.
// Normally portals handle their own events all the way down to the root.
// So we should be able to stop now. However, we don't know if this portal
// was part of *our* root.
var grandNode;
var grandTag;
var grandContainer;
var parentNode1;
var parentTag;
var captureName;
var reactEventName;
var listeners5;
var instance4;
var lastHostComponent; // Accumulate all instances and listeners via the target -> root path.
var _instance2, stateNode2, tag2; // Handle listeners that are on HostComponents (i.e. <div>)
var listener3;
var captureName1;
var listeners6;
var instance5; // Accumulate all instances and listeners via the target -> root path.
var _instance3, stateNode3, tag3; // Handle listeners that are on HostComponents (i.e. <div>)
var currentTarget1;
var captureListener;
var bubbleListener;
var nodeA;
var nodeB;
var depthA;
var depthB;
var depth;
var registrationName;
var listeners7;
var instance6;
var _instance4, alternate1, stateNode4, tag4;
var currentTarget2;
var captureListener1;
var bubbleListener1;
var common;
var didWarnInvalidHydration;
var DANGEROUSLY_SET_INNER_HTML;
var SUPPRESS_CONTENT_EDITABLE_WARNING;
var SUPPRESS_HYDRATION_WARNING;
var AUTOFOCUS;
var CHILDREN;
var STYLE;
var HTML$1;
var HTML_NAMESPACE$1;
var warnedUnknownTags;
var suppressHydrationWarning;
var validatePropertiesInDevelopment;
var warnForTextDifference;
var warnForPropDifference;
var warnForExtraAttributes;
var warnForInvalidEventListener;
var canDiffStyleForHydrationWarning;
var normalizeMarkupForTextOrAttribute;
var normalizeHTML;
// It also can turn \u0000 into \uFFFD inside attributes.
// https://www.w3.org/TR/html5/single-page.html#preprocessing-the-input-stream
// If we have a mismatch, it might be caused by that.
// We will still patch up in this case but not fire the warning.
var NORMALIZE_NEWLINES_REGEX;
var NORMALIZE_NULL_AND_REPLACEMENT_REGEX;
(function() {
var markupString;
});
(function() {
var normalizedClientText;
var normalizedServerText;
});
(function() {
var normalizedClientValue;
var normalizedServerValue;
});
(function() {
var names;
});
(function() {
// We could have created a separate document here to avoid
// re-initializing custom elements if they exist. But this breaks
// how <noscript> is being handled. So we use the same document.
// See the discussion in https://github.com/facebook/react/pull/11157.
var testElement;
});
var propKey;
var nextProp;
var nextHtml;
// Avoid setting initial textContent when the text is empty. In IE11 setting
// textContent on a <textarea> will cause the placeholder to not
// show within the <textarea> until it has been focused and blurred again.
// https://github.com/facebook/react/issues/6731#issuecomment-254874553
var canSetTextContent;
var propKey1;
var propValue;
var isCustomComponentTag; // We create tags in the namespace of their parent container, except HTML
// tags get no namespace.
var ownerDocument1;
var domElement;
var namespaceURI;
// Create the script via .innerHTML so its "parser-inserted" flag is
// set to true and it does not execute
var div;
// This is guaranteed to yield a script element.
var firstChild;
var node22;
var isCustomComponentTag1;
var props3;
var updatePayload;
var lastProps;
var nextProps;
var propKey2;
var styleName2;
var styleUpdates;
var lastStyle;
var nextProp1;
var lastProp;
var nextHtml1;
var lastHtml;
var wasCustomComponentTag;
var isCustomComponentTag2; // Apply the diff.
var lowerCasedName2;
var isCustomComponentTag3;
var extraAttributeNames;
var attributes;
var name3;
var updatePayload1;
var propKey3;
var nextProp2;
// Validate that the properties correspond to their expected values.
var serverValue;
var propertyInfo1;
var serverHTML;
var nextHtml2;
var expectedHTML;
var expectedStyle;
var isMismatchDueToBadCasing;
var ownNamespace;
var standardName1;
var isDifferent;
var validateDOMNesting;
var updatedAncestorInfo;
// This validation code was written based on the HTML5 parsing spec:
// https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
//
// Note: this does not catch all invalid nesting, nor does it try to (as it's
// not clear what practical benefit doing so provides); instead, we warn only
// for cases where the parser will give a parse tree differing from what React
// intended. For example, <b><div></div></b> is invalid but we don't warn
// because it still parses correctly; we do warn for other cases like nested
// <p> tags where the beginning of the second element implicitly closes the
// first, causing a confusing mess.
// https://html.spec.whatwg.org/multipage/syntax.html#special
var specialTags; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope
var inScopeTags; // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope
var buttonScopeTags; // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags
var impliedEndTags;
var emptyAncestorInfo;
(function() {
var ancestorInfo;
var info;
});
/**
* Returns whether
*/ var isTagValidWithParent;
/**
* Returns whether
*/ var findInvalidAncestorForTag;
var didWarn$1;
(function() {
var parentInfo;
var parentTag;
var invalidParent;
var invalidAncestor;
var invalidParentOrAncestor;
var ancestorTag;
var warnKey;
var tagDisplayName;
var whitespaceInfo;
var info;
});
var SUPPRESS_HYDRATION_WARNING$1;
var SUSPENSE_START_DATA;
var SUSPENSE_END_DATA;
var SUSPENSE_PENDING_START_DATA;
var SUSPENSE_FALLBACK_START_DATA;
var STYLE$1;
var eventsEnabled;
var selectionInformation;
var type5;
var namespace;
var nodeType;
switch(null){
case null:
var root3;
default:
var container1;
var ownNamespace1;
}
var validatedTag;
var ancestorInfo;
var parentHostContextDev;
var namespace1;
var ancestorInfo1;
var activeInstance;
var parentNamespace;
// TODO: take namespace into account when validating.
var hostContextDev;
var string;
var ownAncestorInfo;
var domElement1;
var hostContextDev1;
var string1;
var ownAncestorInfo1;
var hostContextDev2;
var textNode;
// if a component just imports ReactDOM (e.g. for findDOMNode).
// Some environments might not have setTimeout or clearTimeout.
var scheduleTimeout;
var cancelTimeout;
var noTimeout; // -------------------
var parentNode2;
// If something inside a portal is clicked, that click should bubble
// through the React tree. However, on Mobile Safari the click would
// never bubble through the *DOM* tree unless an ancestor with onclick
// event exists. So we wouldn't see it and dispatch it.
// This is why we ensure that non React root containers have inline onclick
// defined.
// https://github.com/facebook/react/issues/11918
var reactRootContainer;
var style2;
var styleProp1;
var display;
var body;
var nodeType1;
var parentNamespace1;
var hostContextDev3;
var node23; // Skip past all nodes within this suspense boundary.
// There might be nested nodes so we need to keep track of how
// deep we are and only break out when we're back on top.
var depth1;
var data;
var node24; // Skip past all nodes within this suspense boundary.
// There might be nested nodes so we need to keep track of how
// deep we are and only break out when we're back on top.
var depth2;
var data1;
var clientId;
var id;
var randomKey;
var internalInstanceKey;
var internalPropsKey;
var internalContainerInstanceKey;
var internalEventHandlersKey;
var targetInst2;
// to see if one of its parents is a React owned DOM node.
var parentNode3;
// Since this wasn't the direct target of the event, we might have
// stepped past dehydrated DOM nodes to get here. However they could
// also have been non-React nodes. We need to answer which one.
// If we the instance doesn't have any children, then there can't be
// a nested suspense boundary within it. So we can use this as a fast
// bailout. Most of the time, when people add non-React children to
// the tree, it is using a ref to a child-less DOM node.
// Normally we'd only need to check one of the fibers because if it
// has ever gone from having children to deleting them or vice versa
// it would have deleted the dehydrated boundary nested inside already.
// However, since the HostRoot starts out with an alternate it might
// have one on the alternate so we need to check in case this was a
// root.
var alternate2;
// Next we need to figure out if the node that skipped past is
// nested within a dehydrated boundary and if so, which one.
var suspenseInstance;
// We found a suspense instance. That means that we haven't
// hydrated it yet. Even though we leave the comments in the
// DOM after hydrating, and there are boundaries in the DOM
// that could already be hydrated, we wouldn't have found them
// through this pass since if the target is hydrated it would
// have had an internalInstanceKey on it.
// Let's get the fiber associated with the SuspenseComponent
// as the deepest instance.
var targetSuspenseInst;
var inst1;
var elementListenerSet;
var loggedTypeFailures;
var ReactDebugCurrentFrame$1;
var owner3;
var stack1;
// $FlowFixMe This is okay but Flow doesn't know it.
var has;
var typeSpecName;
var error$1; // Prop type validation may throw. In case they do, we don't want to
var err;
var valueStack;
var fiberStack;
var index8;
var warnedAboutMissingGetChildContext;
var emptyContextObject;
var contextStackCursor; // A cursor to a boolean indicating whether the context has changed.
var didPerformWorkStackCursor; // Keep track of the previous context object that was on the stack.
// We use this to get access to the parent context after we have already
// pushed the next context provider, and now need to merge their contexts.
var previousContext;
var instance7;
var type6;
var contextTypes;
// Failing to do this will result in unnecessary calls to componentWillReceiveProps.
// This may trigger infinite loops if componentWillReceiveProps calls setState.
var instance8;
var context1;
var key4;
var name4;
var childContextTypes;
var instance9;
var childContextTypes1; // TODO (bvaughn) Replace this behavior with an invariant() in the future.
var componentName;
var childContext;
var contextKey;
var name5;
var instance10; // We push the context as early as possible to ensure stack integrity.
// If the instance does not exist yet, we will push null at first,
// and replace it on the stack later when invalidating the context.
var memoizedMergedChildContext; // Remember the parent context so we can merge with it later.
var instance11;
// Merge parent and own context.
// Skip this if we're not updating due to sCU.
// This avoids unnecessarily recomputing memoized values.
var mergedContext;
var node25;
switch(null){
case null:
var Component;
}
var LegacyRoot;
var BlockingRoot;
var ConcurrentRoot;
var rendererID;
var injectedHook;
var hasLoggedError;
var isDevToolsPresent;
var hook;
var didError;
var Scheduler_runWithPriority, Scheduler_scheduleCallback, Scheduler_cancelCallback, Scheduler_shouldYield, Scheduler_requestPaint, Scheduler_now$1, Scheduler_getCurrentPriorityLevel, Scheduler_ImmediatePriority, Scheduler_UserBlockingPriority, Scheduler_NormalPriority, Scheduler_LowPriority, Scheduler_IdlePriority;
var fakeCallbackNode; // Except for NoPriority, these correspond to Scheduler priorities. We use
// ascending numbers so we can compare them like numbers. They start at 90 to
// avoid clashing with Scheduler's priorities.
var ImmediatePriority$1;
var UserBlockingPriority$2;
var NormalPriority$1;
var LowPriority$1;
var IdlePriority$1; // NoPriority is the absence of priority. Also React-only.
var NoPriority$1;
var shouldYield;
var requestPaint;
var syncQueue;
var immediateQueueCallbackNode;
var isFlushingSyncQueue;
var initialTimeMs$1; // If the initial timestamp is reasonably small, use Scheduler's `now` directly.
// This will be the case for modern browsers that support `performance.now`. In
// older browsers, Scheduler falls back to `Date.now`, which returns a Unix
// timestamp. In that case, subtract the module initialization time to simulate
// the behavior of performance.now and keep our times small enough to fit
// within 32 bits.
// TODO: Consider lifting this into Scheduler.
var now;
var priorityLevel;
var priorityLevel1;
var node26;
var i;
var _isSync2;
var _queue;
(function() {
var callback;
});
// TODO: this is special because it gets imported during build.
var ReactVersion;
var NoMode;
var StrictMode; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root
// tag instead
var BlockingMode;
var ConcurrentMode;
var ProfileMode;
var DebugTracingMode;
var ReactCurrentBatchConfig;
var NoTransition;
var ReactStrictModeWarnings;
var findStrictRoot = function() {
var maybeStrictRoot;
var node;
};
var setToSortedString = function() {
var array;
};
var pendingComponentWillMountWarnings;
var pendingUNSAFE_ComponentWillMountWarnings;
var pendingComponentWillReceivePropsWarnings;
var pendingUNSAFE_ComponentWillReceivePropsWarnings;
var pendingComponentWillUpdateWarnings;
var pendingUNSAFE_ComponentWillUpdateWarnings; // Tracks components we have already warned about.
var didWarnAboutUnsafeLifecycles;
(function() {
// We do an initial pass to gather component names
var componentWillMountUniqueNames;
var UNSAFE_componentWillMountUniqueNames;
var componentWillReceivePropsUniqueNames;
var UNSAFE_componentWillReceivePropsUniqueNames;
var componentWillUpdateUniqueNames;
var UNSAFE_componentWillUpdateUniqueNames;
var sortedNames;
var _sortedNames;
var _sortedNames2;
var _sortedNames3;
var _sortedNames4;
var _sortedNames5;
});
var pendingLegacyContextWarning; // Tracks components we have already warned about.
var didWarnAboutLegacyContext;
(function() {
var strictRoot;
var warningsForRoot;
});
(function() {
(function() {
var firstFiber;
var uniqueNames;
var sortedNames;
});
});
// Resolve default props. Taken from ReactElement
var props4;
var defaultProps;
var propName1;
// Max 31 bit integer. The max integer size in V8 for 32-bit systems.
// Math.pow(2, 30) - 1
// 0b111111111111111111111111111111
var MAX_SIGNED_31_BIT_INT;
var valueCursor;
var rendererSigil;
var currentlyRenderingFiber;
var lastContextDependency;
var lastContextWithAllBitsObserved;
var isDisallowedContextReadInDEV;
var context2;
var currentValue1;
var context3;
var changedBits;
// Update the child lanes of all the ancestors, including the alternates.
var node27;
var alternate3;
var fiber1;
var nextFiber; // Visit this fiber.
var list;
var dependency;
// Schedule a force update on the work-in-progress.
var update;
var alternate4;
var sibling;
var dependencies;
var firstContext;
var resolvedObservedBits; // Avoid deopting on observable arguments or heterogeneous types.
var contextItem;
var UpdateState;
var ReplaceState;
var ForceUpdate;
var CaptureUpdate; // Global state that is reset at the beginning of calling `processUpdateQueue`.
// It should only be read right after calling `processUpdateQueue`, via
// `checkHasForceUpdateAfterProcessing`.
var hasForceUpdate;
var didWarnUpdateInsideUpdate;
var currentlyProcessingQueue;
var queue;
// Clone the update queue from current. Unless it's already a clone.
var queue1;
var currentQueue;
var clone;
var update1;
var updateQueue;
var sharedQueue;
var pending;
// Captured updates are updates that are thrown by a child during the render
// phase. They should be discarded if the render is aborted. Therefore,
// we should only put them on the work-in-progress queue, not the current one.
var queue2; // Check if the work-in-progress queue is a clone.
var current2;
var currentQueue1;
// The work-in-progress queue is the same as current. This happens when
// we bail out on a parent fiber that then captures an error thrown by
// a child. Since we want to append the update only to the work-in
// -progress queue, we need to clone the updates. We usually clone during
// processUpdateQueue, but that didn't happen in this case because we
// skipped over the parent when we bailed out.
var newFirst;
var newLast;
var firstBaseUpdate;
// Loop through the updates and clone them.
var update2;
var clone1;
var lastBaseUpdate;
switch(null){
case null:
var payload2;
var nextState;
// Intentional fallthrough
case null:
var _payload;
var partialState;
}
// This is always non-null on a ClassComponent or HostRoot
var queue3;
var firstBaseUpdate1;
var lastBaseUpdate1; // Check if there are pending updates. If so, transfer them to the base queue.
var pendingQueue;
// and last so that it's non-circular.
var lastPendingUpdate;
var firstPendingUpdate;
// we need to transfer the updates to that queue, too. Because the base
// queue is a singly-linked list with no cycles, we can append to both
// lists and take advantage of structural sharing.
// TODO: Pass `current` as argument
var current3;
// This is always non-null on a ClassComponent or HostRoot
var currentQueue2;
var currentLastBaseUpdate;
// Iterate through the list of updates to compute the result.
var newState; // TODO: Don't need to accumulate this. Instead, we can remove renderLanes
// from the original lanes.
var newLanes;
var newBaseState;
var newFirstBaseUpdate;
var newLastBaseUpdate;
var update3;
var updateLane;
var updateEventTime;
// Priority is insufficient. Skip this update. If this is the first
// skipped update, the previous update/state is the new base
// update/state.
var clone2;
var _clone;
var callback;
var effects;
// An update was scheduled from inside a reducer. Add the new
// pending updates to the end of the list and keep processing.
var _lastPendingUpdate; // Intentionally unsound. Pending updates form a circular list, but we
// unravel them when transferring them to the base queue.
var _firstPendingUpdate;
// Commit the effects
var effects1;
var effect;
var callback1;
var fakeInternalInstance;
var isArray1; // React.Component uses a shared frozen object by default.
// We'll use it to determine whether we need to initialize legacy refs.
var emptyRefsObject;
var didWarnAboutStateAssignmentForComponent;
var didWarnAboutUninitializedState;
var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate;
var didWarnAboutLegacyLifecyclesAndDerivedState;
var didWarnAboutUndefinedDerivedState;
var warnOnUndefinedDerivedState;
var warnOnInvalidCallback;
var didWarnAboutDirectlyAssigningPropsToState;
var didWarnAboutContextTypeAndContextTypes;
var didWarnAboutInvalidateContextType;
var didWarnOnInvalidCallback;
(function() {
var key;
});
(function() {
var componentName;
}); // This is so gross but it's at least non-critical and can be removed if
var prevState;
var partialState1;
var memoizedState;
// Queue is always non-null for classes
var updateQueue1;
var classComponentUpdater = (function() {
var fiber;
var eventTime;
var lane;
var update;
}, function() {
var fiber;
var eventTime;
var lane;
var update;
});
var instance12;
var shouldUpdate;
var instance13;
var name6;
var renderPresent;
var hasMutatedProps;
var _state;
var isLegacyContextConsumer;
var unmaskedContext;
var context4;
var contextType;
var isValid1; // Not a <Context.Consumer>
var addendum;
var contextTypes1;
var instance14;
var state1;
var componentName1;
var foundWillMountName;
var foundWillReceivePropsName;
var foundWillUpdateName;
var _componentName;
var newApiName;
var oldState;
var oldState1;
var componentName2;
var instance15;
var contextType1;
var unmaskedContext1;
var componentName3;
var getDerivedStateFromProps;
var instance16;
var oldProps;
var oldContext;
var contextType2;
var nextContext;
var nextLegacyUnmaskedContext;
var getDerivedStateFromProps1;
var hasNewLifecycles; // Note: During these life-cycles, instance.props/instance.state are what
var oldState2;
var newState1;
var shouldUpdate1;
var instance17;
var unresolvedOldProps;
var oldProps1;
var unresolvedNewProps;
var oldContext1;
var contextType3;
var nextContext1;
var nextUnmaskedContext;
var getDerivedStateFromProps2;
var hasNewLifecycles1; // Note: During these life-cycles, instance.props/instance.state are what
var oldState3;
var newState2;
var shouldUpdate2;
var didWarnAboutMaps;
var didWarnAboutGenerators;
var didWarnAboutStringRefs;
var ownerHasKeyUseWarning;
var ownerHasFunctionTypeWarning;
var warnForMissingKey;
(function() {
var componentName;
});
var isArray$1;
var mixedRef;
var componentName4;
var owner4;
var inst2;
var ownerFiber1;
var stringRef; // Check if previous string ref matches new string ref
var ref = function() {
var refs;
};
var componentName5;
// At this point, the return fiber's effect list is empty except for
// deletions, so we can just append the deletion to the list. The remaining
// effects aren't added until the complete phase. Once we implement
// resuming, this may not be true.
var last;
// assuming that after the first child we've already added everything.
var childToDelete;
// Add the remaining children to a temporary map so that we can find them by
// keys quickly. Implicit (null) keys get added to this set with their index
// instead.
var existingChildren;
var existingChild;
// We currently set sibling to null and index to 0 here because it is easy
// to forget to do before returning it. E.g. for the single child case.
var clone3;
var current4;
var oldIndex;
// Insert
var created;
// Update
var existing;
// Move based on index
var existing1;
var created1;
// Insert
var created2;
// Update
var existing2;
// Insert
var created3;
// Update
var existing3;
// Text nodes don't have keys. If the previous node is implicitly keyed
// we can continue to replace it without aborting even if it is not a text
// node.
var created4;
switch(null){
case null:
var _created;
case null:
var _created2;
}
var _created3;
// Update the fiber if the keys match, otherwise return null.
var key5;
// Text nodes don't have keys, so we neither have to check the old nor
// new node for the key. If both are text nodes, they match.
var matchedFiber;
switch(null){
case null:
var _matchedFiber;
case null:
var _matchedFiber2;
}
var _matchedFiber3;
switch(null){
case null:
var key6;
}
// First, validate keys.
var knownKeys;
var child1;
var resultingFirstChild;
var previousNewFiber;
var oldFiber;
var lastPlacedIndex;
var newIdx;
var nextOldFiber;
var newFiber;
var _newFiber;
var existingChildren1; // Keep scanning and use the map to restore deleted items as moves.
var _newFiber2;
// This is the same implementation as reconcileChildrenArray(),
// but using the iterator instead.
var iteratorFn;
// We'll get a different iterator later for the main pass.
var _newChildren;
var knownKeys1;
var _step;
var child2;
var newChildren;
var resultingFirstChild1;
var previousNewFiber1;
var oldFiber1;
var lastPlacedIndex1;
var newIdx1;
var nextOldFiber1;
var step;
var newFiber1;
var _newFiber3;
var existingChildren2; // Keep scanning and use the map to restore deleted items as moves.
var _newFiber4;
var existing4;
var created5;
var key7;
var child3;
switch(null){
case null:
var existing5;
// We intentionally fallthrough here if enableBlocksAPI is not on.
// eslint-disable-next-lined no-fallthrough
default:
var _existing3;
} // Didn't match.
var created6;
var _created4;
var key8;
var child4;
var existing6;
var created7;
// This function is not recursive.
// If the top level item is an array, we treat it as a set of children,
// not as a fragment. Nested arrays on the other hand will be treated as
// fragment nodes. Recursion happens at the normal flow.
// Handle top level unkeyed fragments as if they were arrays.
// This leads to an ambiguity between <>{[...]}</> and <>...</>.
// We treat the ambiguous cases above the same.
var isUnkeyedTopLevelFragment;
var isObject;
// If the new child is undefined, and the return fiber is a composite
// component, throw an error. If Fiber return types are disabled,
// we already threw above.
switch(null){
case null:
var instance18;
}
var reconcileChildFibers;
var mountChildFibers;
var currentChild;
var newChild;
var child5;
var NO_CONTEXT;
var contextStackCursor$1;
var contextFiberStackCursor;
var rootInstanceStackCursor;
var rootInstance;
var nextRootContext; // Now that we know this function doesn't throw, replace it.
var context5;
var rootInstance1;
var context6;
var nextContext2; // Don't push this Fiber's context unless it's unique.
var DefaultSuspenseContext; // The Suspense Context is split into two parts. The lower bits is
// inherited deeply down the subtree. The upper bits only affect
// this immediate suspense boundary and gets reset each new
// boundary or suspense list.
var SubtreeSuspenseContextMask; // Subtree Flags:
// InvisibleParentSuspenseContext indicates that one of our parent Suspense
// boundaries is not currently showing visible main content.
// Either because it is already showing a fallback or is not mounted at all.
// We can use this to determine if it is desirable to trigger a fallback at
// the parent. If not, then we might need to trigger undesirable boundaries
// and/or suspend the commit to avoid hiding the parent content.
var InvisibleParentSuspenseContext; // Shallow Flags:
// ForceSuspenseFallback can be used by SuspenseList to force newly added
// items into their fallback state during one of the render passes.
var ForceSuspenseFallback;
var suspenseStackCursor;
// If it was the primary children that just suspended, capture and render the
// fallback. Otherwise, don't capture and bubble to the next boundary.
var nextState1;
var props5; // In order to capture, the Suspense component must have a fallback prop.
var node28;
var state2;
var dehydrated;
var didSuspend;
var NoFlags$1; // Represents whether effect should fire.
var HasEffect; // Represents the phase in which the effect (not the clean-up) fires.
var Layout;
var Passive$1;
// This may have been an insertion or a hydration.
var hydrationParentFiber;
var nextHydratableInstance;
var isHydrating;
var parentInstance;
var childToDelete1;
switch(null){
case null:
var parentContainer;
switch(null){
case null:
var type7;
var props6;
case null:
var text;
}
case null:
var parentType;
var parentProps;
var parentInstance1;
switch(null){
case null:
var _type1;
var _props1;
case null:
var _text;
}
}
switch(null){
case null:
var type8;
var props7;
var instance19;
case null:
var text1;
var textInstance;
}
var nextInstance;
var firstAttemptedInstance;
var instance20;
var updatePayload2; // TODO: Type this specific to this type of component.
var textInstance1;
var textContent1;
var shouldUpdate3;
// We assume that prepareToHydrateHostTextInstance is called in a context where the
// hydration parent is the parent host component of this host text.
var returnFiber;
switch(null){
case null:
var parentContainer1;
case null:
var parentType1;
var parentProps1;
var parentInstance2;
}
var suspenseState1;
var suspenseInstance1;
var parent;
var type9; // If we have any remaining hydratable nodes, we need to delete them now.
var nextInstance1;
// and should be reset before starting a new render.
// This tracks which mutable sources need to be reset after a render.
var workInProgressSources;
var rendererSigil$1;
var mutableSource;
var ReactCurrentDispatcher$1, ReactCurrentBatchConfig$1;
var didWarnAboutMismatchedHooksForComponent;
var didWarnAboutUseOpaqueIdentifier;
// These are set right before calling the component.
var renderLanes; // The work-in-progress fiber. I've named it differently to distinguish it from
// the work-in-progress hook.
var currentlyRenderingFiber$1; // Hooks are stored as a linked list on the fiber's memoizedState field. The
// current hook list is the list that belongs to the current fiber. The
// work-in-progress hook list is a new list that will be added to the
// work-in-progress fiber.
var currentHook;
var workInProgressHook; // Whether an update was scheduled at any point during the render phase. This
// does not get reset if we do another render pass; only when we're completely
// finished evaluating this component. This is an optimization so we know
// whether we need to clear render phase updates after a throw.
var didScheduleRenderPhaseUpdate; // Where an update was scheduled only during the current render pass. This
// gets reset after each attempt.
// TODO: Maybe there's some way to consolidate this with
// `didScheduleRenderPhaseUpdate`. Or with `numberOfReRenders`.
var didScheduleRenderPhaseUpdateDuringThisPass;
var RE_RENDER_LIMIT; // In DEV, this is the name of the currently executing primitive hook
var currentHookNameInDev; // In DEV, this list ensures that hooks are called in the same order between renders.
// The list stores the order of hooks used during the initial render (mount).
// Subsequent renders (updates) reference this list.
var hookTypesDev;
var hookTypesUpdateIndexDev; // In DEV, this tracks whether currently rendering component needs to ignore
// the dependencies for Hooks that need them (e.g. useEffect or useMemo).
// When true, such Hooks will always be "remounted". Only used during hot reload.
var ignorePreviousDependencies;
var hookName;
var hookName1;
var componentName6;
var table;
var secondColumnStart;
var oldHookName;
var newHookName;
var row; // Extra space so second column lines up
var children1; // Check if there was a render phase update
// Keep rendering in a loop for as long as render phase updates continue to
// be scheduled. Use a counter to prevent infinite loops.
var numberOfReRenders;
// hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.
var didRenderTooFewHooks;
// There were render phase updates. These are only valid for this render
// phase, which we are now aborting. Remove the updates from the queues so
// they do not persist to the next render. Do not remove updates from hooks
// that weren't processed.
//
// Only reset the updates from the queue if it has a clone. If it does
// not have a clone, that means it wasn't processed, and the updates were
// scheduled before we entered the render phase.
var hook1;
var queue4;
var hook2;
// This function is used both for updates and for re-renders triggered by a
// render phase update. It assumes there is either a current hook we can
// clone, or a work-in-progress hook from a previous render pass that we can
// use as a base. When we reach the end of the base list, we must switch to
// the dispatcher used for mounts.
var nextCurrentHook;
var current5;
var nextWorkInProgressHook;
var newHook;
var hook3;
var initialState;
var queue5;
var dispatch;
var hook4;
var queue6;
var current6; // The last rebase update that is NOT part of the base state.
var baseQueue; // The last pending update that hasn't been processed yet.
var pendingQueue1;
// Merge the pending queue and the base queue.
var baseFirst;
var pendingFirst;
// We have a queue to process.
var first;
var newState3;
var newBaseState1;
var newBaseQueueFirst;
var newBaseQueueLast;
var update4;
var updateLane1;
// Priority is insufficient. Skip this update. If this is the first
// skipped update, the previous update/state is the new base
// update/state.
var clone4;
var _clone1;
var action;
var dispatch1;
var hook5;
var queue7;
// work-in-progress hook.
var dispatch2;
var lastRenderPhaseUpdate;
var newState4;
var firstRenderPhaseUpdate;
var update5;
// Process this render phase update. We don't have to check the
// priority because it will always be the same as the current
// render's.
var action1;
var getVersion;
var version; // Is it safe for this component to read from this source during the current render?
var isSafeToReadFromSource; // Check the version first.
// If this render has already been started with a specific version,
// we can use it alone to determine if we can safely read from the source.
var currentRenderVersion;
var snapshot;
var root4;
var getVersion1;
var version1;
var dispatcher; // eslint-disable-next-line prefer-const
var _dispatcher$useState, currentSnapshot, setSnapshot;
var snapshot1; // Grab a handle to the state hook as well.
// We use it to clear the pending update queue if we have a new source.
var stateHook;
var memoizedState1;
var refs;
var prevGetSnapshot;
var prevSource;
var prevSubscribe;
var fiber2;
(function() {
var maybeNewVersion;
var maybeNewSnapshot;
var lane;
}); // If we got a new source or subscribe function, re-subscribe in a passive effect.
(function() {
var handleChange = function() {
var latestGetSnapshot;
var latestSetSnapshot;
var lane;
};
var unsubscribe;
}); // If any of the inputs to useMutableSource change, reading is potentially unsafe.
// Create a new queue and setState method,
// So if there are interleaved updates, they get pushed to the older queue.
// When this becomes current, the previous queue and dispatch method will be discarded,
// including any interleaving updates that occur.
var newQueue;
var hook6;
var hook7;
var hook8;
var queue8;
var dispatch3;
var effect1;
var componentUpdateQueue;
var lastEffect;
var firstEffect;
var hook9;
var ref1;
var hook10;
var hook11;
var nextDeps;
var hook12;
var nextDeps1;
var destroy;
var prevEffect;
var prevDeps;
var refCallback;
var _inst;
var refObject;
var _inst2;
var effectDeps;
var effectDeps1;
var updateDebugValue;
var hook13;
var nextDeps2;
var hook14;
var nextDeps3;
var prevState1;
var prevDeps1;
var hook15;
var nextDeps4;
var nextValue1;
var hook16;
var nextDeps5;
var prevState2;
var prevDeps2;
var nextValue2;
var _mountState, prevValue, setValue;
(function() {
var prevTransition;
});
var _updateState, prevValue1, setValue1;
(function() {
var prevTransition;
});
var _rerenderState, prevValue2, setValue2;
(function() {
var prevTransition;
});
var priorityLevel2;
(function() {
var prevTransition;
});
var _mountState2, isPending, setPending; // The `start` method can be stored on a ref, since `setPending`
// never changes.
var start4;
var _updateState2, isPending1;
var startRef;
var start5;
var _rerenderState2, isPending2;
var startRef1;
var start6;
var isUpdatingOpaqueValueInRenderPhase;
// TODO: Should warn in effects and callbacks, too
var name7;
var makeId;
var didUpgrade;
var fiber3;
var readValue;
var id1;
var setId;
var _id;
var id2;
var id3;
var eventTime1;
var lane9;
var update6; // Append the update to the end of the list.
var pending1;
var alternate5;
// The queue is currently empty, which means we can eagerly compute the
// next state before entering the render phase. If the new state is the
// same as the current state, we may be able to bail out entirely.
var lastRenderedReducer;
var prevDispatcher;
var currentState;
var eagerState; // Stash the eagerly computed state, and the reducer used to compute
var ContextOnlyDispatcher;
var HooksDispatcherOnMountInDEV;
var HooksDispatcherOnMountWithHookTypesInDEV;
var HooksDispatcherOnUpdateInDEV;
var HooksDispatcherOnRerenderInDEV;
var InvalidNestedHooksDispatcherOnMountInDEV;
var InvalidNestedHooksDispatcherOnUpdateInDEV;
var InvalidNestedHooksDispatcherOnRerenderInDEV;
var warnInvalidContextAccess;
var warnInvalidHookAccess;
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
(function() {
var prevDispatcher;
}), function() {
var prevDispatcher;
};
var now$1;
var commitTime;
var profilerStartTime;
var elapsedTime;
// Transfer time spent rendering these children so we don't lose it
// after we rerender. This is used as a helper in special cases
// where we should count the work of multiple passes.
var child6;
var ReactCurrentOwner$1;
var didReceiveUpdate;
var didWarnAboutBadClass;
var didWarnAboutModulePatternComponent;
var didWarnAboutContextTypeOnFunctionComponent;
var didWarnAboutGetDerivedStateOnFunctionComponent;
var didWarnAboutFunctionRefs;
var didWarnAboutReassigningProps;
var didWarnAboutRevealOrder;
var didWarnAboutTailOptions;
// Lazy component props can't be validated in createElement
// because they're only guaranteed to be resolved here.
var innerPropTypes;
var render;
var ref2; // The rest is a fork of updateFunctionComponent
var nextChildren;
var type10;
var resolvedType;
var innerPropTypes1;
var child7;
var _type2;
var _innerPropTypes;
var currentChild1; // This is always exactly one child
// This will be the props with resolved defaultProps,
// unlike current.memoizedProps which will be the unresolved ones.
var prevProps; // Default to shallow comparison
var compare;
var newChild1;
// Lazy component props can't be validated in createElement
// because they're only guaranteed to be resolved here.
var outerMemoType;
// We warn when you define propTypes on lazy()
// so let's just skip over it to find memo() outer wrapper.
// Inner props for memo are validated later.
var lazyComponent2;
var payload3;
var init2;
var outerPropTypes;
var prevProps1;
var nextProps1;
var nextChildren1;
var prevState3;
// In legacy sync mode, don't defer the subtree. Render it now.
// TODO: Figure out what we should do in Blocking mode.
var nextState2;
var nextBaseLanes;
var prevBaseLanes;
var _nextState;
// Rendering at offscreen, so we can clear the base lanes.
var _nextState2;
var subtreeRenderLanes;
var _subtreeRenderLanes;
// ourselves to this constraint, though. If the behavior diverges, we should
// fork the function.
var updateLegacyHiddenComponent;
var nextChildren2;
var nextChildren3;
// These are reset during render to allow the DevTools commit hook a chance to read them,
var stateNode5;
var nextProps2;
var nextChildren4;
var ref3;
// Lazy component props can't be validated in createElement
// because they're only guaranteed to be resolved here.
var innerPropTypes2;
var context7;
var unmaskedContext2;
var nextChildren5;
// Lazy component props can't be validated in createElement
// because they're only guaranteed to be resolved here.
var innerPropTypes3;
// During mounting we don't know the child context yet as the instance doesn't exist.
// We will invalidate the child context in finishClassComponent() right after rendering.
var hasContext;
var instance21;
var shouldUpdate4;
var nextUnitOfWork;
var inst3;
var didCaptureError;
var instance22; // Rerender
var nextChildren6;
var root5;
var updateQueue2;
var nextProps3;
var prevState4;
var prevChildren;
var nextState3; // Caution: React DevTools currently depends on this property
// being called "element".
var nextChildren7;
var root6;
var mutableSourceEagerHydrationData;
var mutableSource1;
var version2;
var child8;
var node29;
var type11;
var nextProps4;
var prevProps2;
var nextChildren8;
var isDirectTextChild;
var props8;
var lazyComponent3;
var payload4;
var init3;
var Component1; // Store the unwrapped component in the type.
var resolvedTag;
var resolvedProps;
var child9;
switch(null){
case null:
var outerPropTypes1;
}
var hint;
// Push context providers early to prevent context stack mismatches.
// During mounting we don't know the child context yet as the instance doesn't exist.
// We will invalidate the child context in finishClassComponent() right after rendering.
var hasContext1;
var props9;
var context8;
var unmaskedContext3;
var value8;
var componentName7;
var _componentName1;
var _componentName2;
// During mounting we don't know the child context yet as the instance doesn't exist.
// We will invalidate the child context in finishClassComponent() right after rendering.
var hasContext2;
var getDerivedStateFromProps3;
var info2;
var ownerName1;
var warningKey1;
var debugSource;
var _componentName3;
var _componentName4;
var SUSPENDED_MARKER;
var suspenseState2;
var nextProps5; // This is used by DevTools to force a boundary to suspend.
var suspenseContext;
var showFallback;
var didSuspend1;
var nextPrimaryChildren;
var nextFallbackChildren;
var fallbackFragment;
var primaryChildFragment;
// This is a CPU-bound tree. Skip this tree and show a placeholder to
// unblock the surrounding content. Then immediately retry after the
// initial commit.
var _fallbackFragment;
var _primaryChildFragment;
// This is an update.
// If the current fiber has a SuspenseState, that means it's already showing
// a fallback.
var prevState5;
var _nextFallbackChildren2;
var _nextPrimaryChildren2;
var _fallbackChildFragment;
var _primaryChildFragment3;
var prevOffscreenState;
var _nextPrimaryChildren3;
var _primaryChildFragment4;
// Timed out.
var _nextFallbackChildren3;
var _nextPrimaryChildren4;
var _fallbackChildFragment2;
var _primaryChildFragment5;
var _prevOffscreenState;
// Still haven't timed out. Continue rendering the children, like we
// normally do.
var _nextPrimaryChildren5;
var _primaryChildFragment6;
var mode;
var primaryChildProps;
var primaryChildFragment1;
var mode1;
var progressedPrimaryFragment;
var primaryChildProps1;
var primaryChildFragment2;
var fallbackChildFragment;
var currentPrimaryChildFragment;
var currentFallbackChildFragment;
var primaryChildFragment3;
var mode2;
var currentPrimaryChildFragment1;
var currentFallbackChildFragment1;
var primaryChildProps2;
var primaryChildFragment4;
var progressedPrimaryFragment1;
// However, since we're going to remain on the fallback, we no longer want
// to delete it. So we need to remove it from the list. Deletions are stored
// on the same list as effects. We want to keep the effects from the primary
// tree. So we copy the primary child fragment's effect list, which does not
// include the fallback deletion effect.
var progressedLastEffect;
var fallbackChildFragment1;
var alternate6;
// Mark any Suspense boundaries with fallbacks as having work to do.
// If they were previously forced into fallbacks, they may now be able
// to unblock.
var node30;
var state3;
// This is going to find the last row among these children that is already
// showing content on the screen, as opposed to being in fallback state or
// new. If a row has multiple Suspense boundaries, any of them being in the
// fallback state, counts as the whole row being in a fallback state.
// Note that the "rows" will be workInProgress, but any nested children
// will still be current since we haven't rendered them yet. The mounted
// order may not be the same as the new order. We use the new order.
var row1;
var lastContentRow;
var currentRow; // New rows can't be content rows.
var isArray2;
var isIterable;
var type12;
var iteratorFn1;
var childrenIterator;
var step1;
var _i;
var renderState;
var nextProps6;
var revealOrder;
var tailMode;
var newChildren1;
var suspenseContext1;
var shouldForceFallback;
var didSuspendBefore;
switch(null){
case "forwards":
var lastContentRow1;
var tail;
case "backwards":
// We're going to find the first row that has existing content.
// At the same time we're going to reverse the list of everything
// we pass in the meantime. That's going to be our tail in reverse
// order.
var _tail;
var row2;
var currentRow1; // New rows can't be content rows.
var nextRow;
}
var nextChildren9;
var hasWarnedAboutUsingNoValuePropOnContextProvider;
var providerType;
var context9;
var newProps;
var oldProps2;
var newValue1;
var providerPropTypes;
var oldValue;
var changedBits1;
var newChildren2;
var hasWarnedAboutUsingContextAsConsumer;
var context10; // The logic below for Context differs depending on PROD or DEV mode. In
var newProps1;
var render1;
var newValue2;
var newChildren3;
var returnFiber1;
var prevSibling;
// Since the old fiber is disconnected, we have to schedule it manually.
var last1;
var updateLanes;
var oldProps3;
var newProps2;
// the begin phase. There's still some bookkeeping we that needs to be done
// in this optimized path, mostly pushing stuff onto the stack.
switch(null){
case null:
var Component2;
case null:
var newValue3;
case null:
// Profiler should only call onRender when one of its descendants actually rendered.
var hasChildWork;
// These are reset during render to allow the DevTools commit hook a chance to read them,
var stateNode6;
case null:
var state4;
// whether to retry the primary children, or to skip over it and
// go straight to the fallback. Check the priority of the primary
// child fragment.
var primaryChildFragment5;
var primaryChildLanes;
// priority. Bailout.
var child10;
case null:
var didSuspendBefore1;
var _hasChildWork;
// then the tail doesn't matter. Anything new that suspends will work
// in the "together" mode, so we can continue from the state we had.
var renderState1;
}
switch(null){
case null:
var elementType;
case null:
var _Component;
var unresolvedProps;
var resolvedProps1;
case null:
var _Component2;
var _unresolvedProps;
var _resolvedProps;
case null:
var type13;
var _unresolvedProps2;
var _resolvedProps2;
case null:
var _type21;
var _unresolvedProps3; // Resolve outer props first, then resolve inner props.
var _resolvedProps3;
var outerPropTypes2;
case null:
var _Component3;
var _unresolvedProps4;
var _resolvedProps4;
}
var appendAllChildren;
var updateHostContainer;
var updateHostComponent$1;
var updateHostText$1;
(function() {
// We only have the top Fiber that was created but we need recurse down its
// children to find all the terminal nodes.
var node;
});
(function() {
// If we have an alternate, that means this is an update and we need to
// schedule a side-effect to do the updates.
var oldProps;
// have newProps so we'll have to reuse them.
// TODO: Split the update API as separate for the props vs. children.
// Even better would be if children weren't special cased at all tho.
var instance;
var currentHostContext; // TODO: Experiencing an error where oldProps is null. Suggests a host
// component is hitting the resume path. Figure out why. Possibly
// related to `hidden`.
var updatePayload; // TODO: Type this specific to this type of component.
});
switch(null){
case "hidden":
// Any insertions at the end of the tail list after this point
// should be invisible. If there are already mounted boundaries
// anything before them are not considered for collapsing.
// Therefore we need to go through the whole tail to find if
// there are any.
var tailNode;
var lastTailNode;
case "collapsed":
// Any insertions at the end of the tail list after this point
// should be invisible. If there are already mounted boundaries
// anything before them are not considered for collapsing.
// Therefore we need to go through the whole tail to find if
// there are any.
var _tailNode;
var _lastTailNode;
}
var newProps3;
switch(null){
case null:
var Component3;
case null:
var fiberRoot;
// If we hydrated, pop so that we can delete any remaining children
// that weren't hydrated.
var wasHydrated;
case null:
var rootContainerInstance;
var type14;
var currentHostContext; // TODO: Move createInstance to beginWork and keep it on a context
// "stack" as the parent. Then append children as we go in beginWork
// or completeWork depending on whether we want to add them top->down or
// bottom->up. Top->down is faster in IE11.
var _wasHydrated;
var instance23;
case null:
var newText;
var oldText; // If we have an alternate, that means this is an update and we need
var _rootContainerInstance;
var _currentHostContext;
var _wasHydrated2;
case null:
var nextState4;
var nextDidTimeout;
var prevDidTimeout;
var prevState6;
// TODO: Move this back to throwException because this is too late
// if this is a large tree which is common for initial loads. We
// don't know if we should restart a render or not until we get
// this marker, and this is too late.
// If this render already had a ping or lower pri updates,
// and this is the first time we know we're going to suspend we
// should be able to immediately restart from within throwException.
var hasInvisibleChildContext;
case null:
// Same as class component case. I put it down here so that the tags are
// sequential to ensure this switch is compiled to a jump table.
var _Component1;
case null:
var renderState2;
var didSuspendAlready;
var renderedTail;
// This is the first pass. We need to figure out if anything is still
// suspended in the rendered set.
// If new content unsuspended, but there's still some content that
// didn't. Then we need to do a second pass that forces everything
// to keep showing their fallbacks.
// We might be suspended if something in this render pass suspended, or
// something in the previous committed pass suspended. Otherwise,
// there's no chance so we can skip the expensive call to
// findFirstSuspended.
var cannotBeSuspended;
var row3;
var suspended;
// part of the second pass. In that case nothing will subscribe to
// its thennables. Instead, we'll transfer its thennables to the
// SuspenseList so that it can retry if they resolve.
// There might be multiple of these in the list but since we're
// going to wait for all of them anyway, it doesn't really matter
// which ones gets to ping. In theory we could get clever and keep
// track of how many dependencies remain but it gets tricky because
// in the meantime, we can add/remove/change items and dependencies.
// We might bail out of the loop before finding any but that
// doesn't matter since that means that the other boundaries that
// we did find already has their listeners attached.
var newThennables;
var _suspended;
// get lost if this row ends up dropped during a second pass.
var _newThennables;
// We need to delete the row we just rendered.
// Reset the effect list to what it was before we rendered this
// child. The nested children have already appended themselves.
var lastEffect1; // Remove any effects that were appended after this point.
var previousSibling;
// We still have tail rows to render.
// Pop a row.
var next1;
// TODO: We can probably just avoid popping it instead and only
// setting it the first time we go from not suspended to suspended.
var suspenseContext2;
case null:
var _nextState1;
var _prevState;
var prevIsHidden;
var nextIsHidden;
}
switch(null){
case null:
var Component4;
var flags;
case null:
var _flags;
case null:
var _flags2;
}
switch(null){
case null:
var childContextTypes2;
}
var logError; // Allow injected showErrorDialog() to prevent default console.error logging.
var error3;
var source1;
var stack2;
var componentStack; // Browsers support silencing uncaught errors by calling
var componentName8;
var componentNameMessage;
var errorBoundaryMessage;
var errorBoundaryName;
var combinedMessage; // In development, we provide our own message with just the component stack.
var PossiblyWeakMap$1;
var update7; // Unmount the root by rendering null.
var error4;
var update8;
var getDerivedStateFromError;
var error$11;
var inst4;
(function callback() {
var error$1;
var stack;
});
// Attach a listener to the promise to "ping" the root and retry. But only if
// one does not already exist for the lanes we're currently rendering (which
// acts like a "thread ID" here).
var pingCache;
var threadIDs;
var ping;
// This is a wakeable.
var wakeable;
// Reset the memoizedState to what it was before we attempted
// to render it.
var currentSource;
var hasInvisibleParentBoundary; // Schedule the nearest Suspense to re-render the timed out view.
var _workInProgress;
// Found the nearest boundary.
// Stash the promise on the boundary fiber. If the boundary times out, we'll
// attach another listener to flip the boundary back to its normal state.
var wakeables;
var updateQueue3;
var currentSourceFiber;
// When we try rendering again, we should not reuse the current fiber,
// since it's known to be in an inconsistent state. Use a force update to
// prevent a bail out.
var update9;
var workInProgress;
switch(null){
case null:
var _errorInfo;
var lane10;
var _update;
case null:
// Capture and retry
var errorInfo;
var ctor;
var instance24;
var _lane1;
var _update2;
}
var didWarnAboutUndefinedSnapshotBeforeUpdate;
var PossiblyWeakSet;
var callComponentWillUnmountWithTimer; // Capture errors so they don't interrupt unmounting.
var unmountError;
var ref4;
var refError;
var error5;
switch(null){
case null:
var prevProps3;
var prevState7;
var instance25; // We could update instance props and state here,
var snapshot2;
var didWarnSet;
case null:
var root7;
}
var updateQueue4;
var lastEffect2;
var firstEffect1;
var effect2;
// Unmount
var destroy1;
var updateQueue5;
var lastEffect3;
var firstEffect2;
var effect3;
// Mount
var create;
var destroy2;
var addendum1;
var updateQueue6;
var lastEffect4;
var firstEffect3;
var effect4;
var _effect, next2, tag5;
switch(null){
case null:
var instance26;
var prevProps4;
var prevState8; // We could update instance props and state here,
// commit phase. Consider removing the type check.
var updateQueue7;
case null:
// TODO: I think this is now always non-null by the time it reaches the
// commit phase. Consider removing the type check.
var _updateQueue;
var _instance1;
case null:
var _instance21; // Renderers may schedule work to be done after host components are mounted
var type15;
var props10;
case null:
var _finishedWork$memoize2, onCommit, onRender;
var effectDuration;
var commitTime1;
}
// We only have the top Fiber that was inserted but we need to recurse down its
// children to find all the terminal nodes.
var node31;
var instance27;
var _instance31;
var ref5;
var instance28;
var instanceToUse;
var currentRef;
switch(null){
case null:
var updateQueue8;
var lastEffect5;
var firstEffect4;
var effect5;
var _effect2, destroy3, tag6;
case null:
var instance29;
}
// While we're inside a removed host node we don't want to call
// removeChild on the inner nodes because they're removed by the top
// call anyway. We also want to call componentWillUnmount on all
// composites before this host node is removed from the tree. Therefore
// we do an inner loop while we're still inside the host node.
var node32;
var parent1;
// We're going to search forward into the tree until we find a sibling host
// node. Unfortunately, if multiple insertions are done in a row we have to
// search past them. This leads to exponential search for the next sibling.
// TODO: Find a more efficient way to do this.
var node33;
var parentFiber; // Note: these two variables *must* always be updated together.
var parent2;
var isContainer;
var parentStateNode;
var before; // We only have the top Fiber that was inserted but we need to recurse down its
var tag7;
var isHost;
var stateNode7;
var child11;
var sibling1;
var tag8;
var isHost1;
var stateNode8;
var child12;
var sibling2;
// We only have the top Fiber that was deleted but we need to recurse down its
// children to find all the terminal nodes.
var node34; // Each iteration, currentParent is populated with node's host parent if not
// currentParentIsValid.
var currentParentIsValid; // Note: these two variables *must* always be updated together.
var currentParent2;
var currentParentIsContainer;
var parent3;
var parentStateNode1;
var alternate7;
switch(null){
case null:
var instance30;
// Commit the work prepared earlier.
var newProps4; // For hydration we reuse the update path but we treat the oldProps
// as the newProps. The updatePayload will contain the real change in
// this case.
var oldProps4;
var type16; // TODO: Type the updateQueue to be specific to host components.
var updatePayload3;
case null:
var textInstance2;
var newText1; // For hydration we reuse the update path but we treat the oldProps
// as the newProps. The updatePayload will contain the real change in
// this case.
var oldText1;
case null:
var _root;
case null:
var newState5;
var isHidden;
}
var newState6;
// Hide the Offscreen component that contains the primary children. TODO:
// Ideally, this effect would have been scheduled on the Offscreen fiber
// itself. That's how unhiding works: the Offscreen component schedules an
// effect on itself. However, in this case, the component didn't complete,
// so the fiber was never added to the effect list in the normal path. We
// could have appended it to the effect list in the Suspense component's
// second pass, but doing it this way is less complicated. This would be
// simpler if we got rid of the effect list and traversed the tree, like
// we're planning to do.
var primaryChildParent;
var newState7;
var current7;
var prevState9;
var suspenseInstance2;
// If this boundary just timed out, then it will have a set of wakeables.
// For each wakeable, attach a listener so that when it resolves, React
// attempts to re-render the boundary in the primary (pre-timeout) state.
var wakeables1;
var retryCache;
(function() {
// Memoize using the boundary fiber to prevent redundant listeners.
var retry;
});
var oldState4;
var newState8;
var COMPONENT_TYPE;
var HAS_PSEUDO_CLASS_TYPE;
var ROLE_TYPE;
var TEST_NAME_TYPE;
var TEXT_TYPE;
var symbolFor$1;
var commitHooks;
var ceil;
var ReactCurrentDispatcher$2, ReactCurrentOwner$2, IsSomeRendererActing;
var NoContext;
var BatchedContext;
var EventContext;
var DiscreteEventContext;
var LegacyUnbatchedContext;
var RenderContext;
var CommitContext;
var RetryAfterError;
var RootIncomplete;
var RootFatalErrored;
var RootErrored;
var RootSuspended;
var RootSuspendedWithDelay;
var RootCompleted; // Describes where we are in the React execution stack
var executionContext; // The root we're working on
var workInProgressRoot; // The fiber we're working on
var workInProgress1; // The lanes we're rendering
var workInProgressRootRenderLanes; // Stack that allows components to change the render lanes for its subtree
// This is a superset of the lanes we started working on at the root. The only
// case where it's different from `workInProgressRootRenderLanes` is when we
// enter a subtree that is hidden and needs to be unhidden: Suspense and
// Offscreen component.
//
// Most things in the work loop should deal with workInProgressRootRenderLanes.
// Most things in begin/complete phases should deal with subtreeRenderLanes.
var subtreeRenderLanes1;
var subtreeRenderLanesCursor; // Whether to root completed, errored, suspended, etc.
var workInProgressRootExitStatus; // A fatal error, if one is thrown
var workInProgressRootFatalError; // "Included" lanes refer to lanes that were worked on during this render. It's
// slightly different than `renderLanes` because `renderLanes` can change as you
// enter and exit an Offscreen tree. This value is the combination of all render
// lanes for the entire render phase.
var workInProgressRootIncludedLanes; // The work left over by components that were visited during this render. Only
// includes unprocessed updates, not work in bailed out children.
var workInProgressRootSkippedLanes; // Lanes that were updated (in an interleaved event) during this render.
var workInProgressRootUpdatedLanes; // Lanes that were pinged (in an interleaved event) during this render.
var workInProgressRootPingedLanes;
var mostRecentlyUpdatedRoot; // The most recent time we committed a fallback. This lets us ensure a train
// model where we don't commit new loading states in too quick succession.
var globalMostRecentFallbackTime;
var FALLBACK_THROTTLE_MS; // The absolute time for when we should start giving up on rendering
// more and prefer CPU suspense heuristics instead.
var workInProgressRootRenderTargetTime; // How long a render is supposed to take before we start following CPU
// suspense heuristics and opt out of rendering more content.
var RENDER_TIMEOUT_MS;
var nextEffect;
var hasUncaughtError;
var firstUncaughtError;
var legacyErrorBoundariesThatAlreadyFailed;
var rootDoesHavePassiveEffects;
var rootWithPendingPassiveEffects;
var pendingPassiveEffectsRenderPriority;
var pendingPassiveEffectsLanes;
var pendingPassiveHookEffectsMount;
var pendingPassiveHookEffectsUnmount;
var rootsWithPendingDiscreteUpdates; // Use these to prevent an infinite loop of nested updates
var NESTED_UPDATE_LIMIT;
var nestedUpdateCount;
var rootWithNestedUpdates;
var NESTED_PASSIVE_UPDATE_LIMIT;
var nestedPassiveUpdateCount; // Marks the need to reschedule pending interactions at these lanes
// during the commit phase. This enables them to be traced across components
// that spawn new work during render. E.g. hidden boundaries, suspended SSR
// hydration or SuspenseList.
// TODO: Can use a bitmask instead of an array
var spawnedWorkDuringRender; // If two updates are scheduled within the same event, we should treat their
// event times as simultaneous, even if the actual clock time has advanced
// between the first and second call.
var currentEventTime;
var currentEventWipLanes;
var currentEventPendingLanes; // Dev only flag that tracks if passive effects are currently being flushed.
// We warn about state updates for unmounted components differently in this case.
var isFlushingPassiveEffects;
var focusedInstanceHandle;
var shouldFireAfterActiveInstanceBlur;
// Special cases
var mode3;
var isTransition;
// To do that, we're replacing it with an update lane priority.
var schedulerPriority; // The old behavior was using the priority level of the Scheduler.
// This couples React to the Scheduler internals, so we're replacing it
// with the currentUpdateLanePriority above. As an example of how this
// could be problematic, if we're not inside `Scheduler.runWithPriority`,
// then we'll get the priority of the current running Scheduler task,
// which is probably not what we want.
var lane11;
var schedulerLanePriority;
// This is a fork of `requestUpdateLane` designed specifically for Suspense
// "retries" — a special update that attempts to flip a Suspense boundary
// from its placeholder state to its primary/resolved state.
// Special cases
var mode4;
var root8;
// priority as an argument to that function and this one.
var priorityLevel3;
var alternate8;
var node35;
var parent4;
var root9;
var existingCallbackNode; // Check if any lanes are being starved by other work. If so, mark them as
var nextLanes1; // This returns the priority level computed during the `getNextLanes` call.
var newCallbackPriority;
var existingCallbackPriority;
var newCallbackNode;
var schedulerPriorityLevel;
// in case they schedule additional work.
var originalCallbackNode;
var didFlushPassiveEffects;
// on the root.
var lanes5;
var exitStatus;
var fatalError;
// or, if something suspended, wait to commit it after a timeout.
var finishedWork;
switch(null){
case null:
// This render only included retries, no updates. Throttle committing
// retries so that we don't show too many loading states too quickly.
var msUntilTimeout; // Don't bother with a very short suspense time.
var nextLanes2;
var suspendedLanes2;
// We should prefer to render the fallback of at the last
// suspended level. Ping the last suspended level to try
// rendering it again.
// FIXME: What if the suspended lanes are Idle? Should not restart.
var eventTime2;
case null:
// This is not a transition, but we did trigger an avoided state.
// Schedule a placeholder to display after a short delay, using the Just
// Noticeable Difference.
// TODO: Is the JND optimization worth the added complexity? If this is
// the only reason we track the event time, then probably not.
// Consider removing.
var mostRecentEventTime1;
var eventTimeMs;
var timeElapsedMs;
var _msUntilTimeout; // Don't bother with a very short suspense time.
}
var lanes6;
var exitStatus1;
var fatalError1;
// will commit it even if something suspended.
var finishedWork1;
// For each root with pending discrete updates, schedule a callback to
// immediately flush them.
var roots;
var prevExecutionContext;
var prevExecutionContext1;
var prevExecutionContext2;
var prevExecutionContext3;
var prevExecutionContext4;
var timeoutHandle;
var interruptedWork;
var erroredWork;
var prevDispatcher1;
var prevInteractions;
var prevExecutionContext5;
var prevDispatcher2; // If the root or lanes have changed, throw out the existing stack
var prevInteractions1;
var prevExecutionContext6;
var prevDispatcher3; // If the root or lanes have changed, throw out the existing stack
var prevInteractions2;
// The current, flushed, state of this fiber is the alternate. Ideally
// nothing should rely on this, but relying on it here means that we don't
// need an additional field on the work in progress.
var current8;
var next3;
// Attempt to complete the current unit of work, then move to the next
// sibling. If there are no more siblings, return to the parent fiber.
var completedWork;
// The current, flushed, state of this fiber is the alternate. Ideally
// nothing should rely on this, but relying on it here means that we don't
// need an additional field on the work in progress.
var current9;
var returnFiber2; // Check if the work completed or if something threw.
var next4;
// side-effects. We can perform certain side-effects earlier if needed,
// by doing multiple passes over the effect list. We don't want to
// schedule our own side-effect on our own list because if end up
// reusing children we'll schedule this effect onto itself since we're
// at the end.
var flags1; // Skip both NoWork and PerformedWork tags when creating the effect
// This fiber did not complete because something threw. Pop values off
// the stack without entering the complete phase. If this is a boundary,
// capture values if possible.
var _next; // Because this fiber did not complete, don't reset its expiration time.
var actualDuration;
var child13;
var siblingFiber;
var newChildLanes; // Bubble up the earliest expiration time.
// In profiling mode, resetChildExpirationTime is also used to reset
// profiler durations.
var actualDuration1;
var treeBaseDuration; // When a fiber is cloned, its actualDuration is reset to 0. This value will
// only be updated if work is done on the fiber (i.e. it doesn't bailout).
// When work is done, it should bubble to the parent's actualDuration. If
// the fiber has not been cloned though, (meaning no work was done), then
// this value will reflect the amount of time spent working on a previous
// render. In that case it should not bubble. We determine whether it was
// cloned by comparing the child pointer.
var shouldBubbleActualDurations;
var child14;
var isTimedOutSuspense;
// Don't count time spent in a timed out Suspense subtree as part of the base duration.
var primaryChildFragment6;
var _child1;
var renderPriorityLevel;
var finishedWork2;
var lanes7;
// pending time is whatever is left on the root fiber.
var remainingLanes;
var firstEffect5;
var prevExecutionContext7;
var prevInteractions3; // Reset this to null before calling lifecycles
var error6;
var _error;
var _error2;
var rootDidHavePassiveEffects;
var nextNextEffect;
var expirationTimes3;
var _error3;
var current10;
var flags2;
var flags3;
var current11;
// updates, and deletions. To avoid needing to add a case for every possible
// bitmap value, we remove the secondary effects from the effect tag and
// switch on that value.
var primaryFlags;
switch(null){
case null:
var _current;
case null:
var _current2;
case null:
var _current3;
}
var flags4;
var current12;
var priorityLevel4;
var alternate9;
var create1;
var root10;
var lanes8;
var prevExecutionContext8;
var prevInteractions4; // It's important that ALL pending passive effect destroy functions are called
// before ANY passive effect create functions are called.
// Otherwise effects in sibling components might interfere with each other.
// e.g. a destroy function in one component may unintentionally override a ref
// value set by a create function in another component.
// Layout effects have the same constraint.
// First pass: Destroy stale passive effects.
var unmountEffects;
var _effect1;
var fiber4;
var destroy4;
var alternate10;
var error7;
var mountEffects;
var _effect21;
var _fiber;
var _error4;
// because the root is not part of its own effect list.
// This could change in the future.
var effect6;
var nextNextEffect1; // Remove nextEffect pointer to assist GC
var onUncaughtError;
var errorInfo1;
var update10;
var eventTime3;
var root11;
var fiber5;
var ctor1;
var instance31;
var errorInfo2;
var update11;
var eventTime4;
var root12;
var pingCache1;
var eventTime5;
var eventTime6;
var root13;
var retryLane; // Default
var retryCache1;
var didWarnStateUpdateForNotYetMountedComponent;
var tag9;
// the problematic code almost always lies inside that component.
var componentName9;
var previousFiber;
var didWarnStateUpdateForUnmountedComponent;
var tag10;
// the problematic code almost always lies inside that component.
var componentName10;
var previousFiber1;
var beginWork$1;
var dummyFiber;
(function() {
// If a component throws an error, we replay it again in a synchronously
// dispatched event, so that the debugger will treat it as an uncaught
// error See ReactErrorUtils for more information.
// Before entering the begin phase, copy the work-in-progress onto a dummy
// fiber. If beginWork throws, we'll use this to reset the state.
var originalWorkInProgressCopy;
var replayError; // `invokeGuardedCallback` sometimes sets an expando `_suppressLogging`.
});
var didWarnAboutUpdateInRender;
var didWarnAboutUpdateInRenderForAnotherComponent;
switch(null){
case null:
var renderingComponentName; // Dedupe by the rendering component because it's the one that needs to be fixed.
var dedupeKey;
var setStateComponentName;
}
var IsThisRendererActing;
var previousFiber2;
var previousFiber3;
var warnIfNotCurrentlyActingUpdatesInDev; // In tests, we want to enforce a mocked scheduler.
var didWarnAboutUnmockedScheduler; // TODO Before we release concurrent mode, revisit this and decide whether a mocked
var pendingInteractionMap;
var pendingInteractions;
var subscriber;
var threadID;
// we can accurately attribute time spent working on it, And so that cascading
// work triggered during the render phase will be associated with it.
var interactions;
var subscriber1;
var threadID1;
var remainingLanesAfterCommit;
var subscriber2;
// FIXME: More than one lane can finish in a single commit.
var threadID2;
// Clear completed interactions from the pending Map.
// Unless the render was suspended or cascading work was scheduled,
// In which case leave pending interactions until the subsequent render.
var pendingInteractionMap1;
// so we can tell if any async act() calls try to run in parallel.
var actingUpdatesScopeDepth;
var resolveFamily; // $FlowFixMe Flow gets confused by a WeakSet feature check below.
var failedBoundaries;
var setRefreshHandler;
var family;
var family1;
// ForwardRef is special because its resolved .type is an object,
// but it's possible that we only have its inner render function in the map.
// If that inner render function is different, we'll build a new forwardRef type.
var currentRender;
var syntheticType;
var prevType;
var nextType; // If we got here, we know types aren't === equal.
var needsCompareFamilies;
var $$typeofNextType;
// Note: memo() and forwardRef() we'll compare outer rather than inner type.
// This means both of them need to be registered to preserve state.
// If we unwrapped and compared the inner types for wrappers instead,
// then we would risk falsely saying two separate memo(Foo)
// calls are equivalent because they wrap the same Foo function.
var prevFamily;
var scheduleRefresh = function() {
var staleFamilies, updatedFamilies;
};
var scheduleRoot;
var alternate11, child15, sibling3, tag11, type17;
var candidateType;
var needsRender;
var needsRemount;
var family2;
var findHostInstancesForRefresh = function() {
var hostInstances;
var types;
};
var child16, sibling4, tag12, type18;
var candidateType1;
var didMatch;
var foundHostInstances;
var node36;
var node37;
var foundHostInstances1;
var hasBadMapPolyfill;
var nonExtensibleObject;
var debugCounter;
// please ensure we do the following:
// 1) Nobody should add any instance methods on this. Instance methods can be
// more difficult to predict when they get optimized and they are almost
// never inlined properly in static compilers.
// 2) Nobody should rely on `instanceof Fiber` for type testing. We should
// always know when it is a fiber.
// 3) We might want to experiment with using numeric keys since they are easier
// to optimize in a non-JIT environment.
// 4) We can easily go from a constructor to a createFiber object literal if that
// is faster.
// 5) It should be easy to port this to a C struct and keep a C implementation
// compatible.
var createFiber;
var prototype1;
var $$typeof;
var workInProgress2;
// it cannot be shared with the current fiber.
var currentDependencies;
var current13;
// it cannot be shared with the current fiber.
var currentDependencies1;
var mode5;
var fiberTag; // The resolved type is set if we know what the final type will be. I.e. it's not lazy.
var resolvedType1;
switch(null){
// eslint-disable-next-line no-fallthrough
default:
var info3;
var ownerName2;
}
var fiber6;
var owner5;
var type19;
var key9;
var pendingProps;
var fiber7;
var fiber8;
var fiber9; // TODO: The Profiler fiber shouldn't have a type. It has a tag.
var fiber10; // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag.
var fiber11;
var fiber12; // TODO: The OffscreenComponent fiber shouldn't have a type. It has a tag.
var fiber13; // TODO: The LegacyHidden fiber shouldn't have a type. It has a tag.
var fiber14;
var fiber15; // TODO: These should not need a type.
var pendingProps1;
var fiber16;
var root14;
// stateNode is any.
var uninitializedFiber;
var getVersion2;
var version3; // TODO Clear this data once all pending hydration work is finished.
var key10;
var didWarnAboutNestedUpdates;
var didWarnAboutFindNodeInStrictMode;
var fiber17;
var parentContext;
var Component5;
var fiber18;
var hostFiber;
var componentName11;
var previousFiber4;
var current$1;
var eventTime7;
var lane12;
var context11;
var update12; // Caution: React DevTools currently depends on this property
var containerFiber;
var suspenseState3;
var alternate12;
var eventTime8;
var lane13;
var eventTime9;
var lane14;
var eventTime10;
var lane15;
var hostFiber1;
var shouldSuspendImpl;
var overrideHookState;
var overrideHookStateDeletePath;
var overrideHookStateRenamePath;
var overrideProps;
var overridePropsDeletePath;
var overridePropsRenamePath;
var scheduleUpdate;
var setSuspenseHandler;
var copyWithDeleteImpl = function() {
var key;
var updated;
};
var copyWithDelete;
var copyWithRenameImpl = function() {
var oldKey;
var updated;
var newKey; // $FlowFixMe number or string is fine here
};
var copyWithRename;
var copyWithSetImpl = function() {
var key;
var updated; // $FlowFixMe number or string is fine here
};
var copyWithSet;
var findHook = function() {
// For now, the "id" of stateful hooks is just the stateful hook index.
// This may change in the future with e.g. nested hooks.
var currentHook;
}; // Support DevTools editable values for useState and useReducer.
(function() {
var hook;
var newState;
});
(function() {
var hook;
var newState;
});
(function() {
var hook;
var newState;
}); // Support DevTools props for function components, forwardRef, memo, host components, etc.
var hostFiber2;
var findFiberByHostInstance;
var ReactCurrentDispatcher1;
(function() {
var root;
var container;
var hostInstance;
});
(function() {
var root;
var container;
});
// Tag is either LegacyRoot or Concurrent Root
var hydrate;
var hydrationCallbacks;
var mutableSources;
var root15;
var containerNodeType;
var rootContainerElement;
var mutableSource2;
var ReactCurrentOwner$3;
var topLevelUpdateWarnings;
var warnedAboutHydrateAPI;
(function() {
var hostInstance;
var isRootRenderedBySomeReact = !!container._reactRootContainer;
var rootEl2;
var hasNonRootReactChild = !!(rootEl2 && getInstanceFromNode(rootEl2));
});
var rootElement;
var shouldHydrate; // First clear any existing content.
var warned;
var rootSibling;
// member of intersection type." Whyyyyyy.
var root16;
var fiberRoot1;
var originalCallback;
(function() {
var instance;
});
var _originalCallback;
(function() {
var instance;
});
var owner6;
var warnedAboutRefsInRender;
var isModernRoot;
var isModernRoot1;
var isModernRoot2;
var rootEl1;
var renderedByDifferentReact;
var _rootEl;
var hasNonRootReactChild = !!(_rootEl && getInstanceFromNode(_rootEl)); // Check if the container itself is a React root node.
var isContainerReactRoot = !container.parentNode._reactRootContainer;
var didWarnAboutUnstableCreatePortal;
var key11;
var key12;
var Internals;
var foundDevTools;
var protocol; // Don't warn in exotic cases like chrome-extension://.
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = null;
exports.createPortal = null;
exports.findDOMNode = null;
exports.flushSync = null;
exports.hydrate = null;
exports.render = null;
exports.unmountComponentAtNode = null;
exports.unstable_batchedUpdates = null;
exports.unstable_createPortal = null;
exports.unstable_renderSubtreeIntoContainer = null;
exports.version = null;
}