react-reconciler 0.23.0 → 0.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build-info.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "branch": "master",
3
- "buildNumber": "54423",
4
- "checksum": "3b849cc",
5
- "commit": "5faf377df",
3
+ "buildNumber": "59518",
4
+ "checksum": "6f449c4",
5
+ "commit": "b53ea6ca0",
6
6
  "environment": "ci",
7
- "reactVersion": "16.10.2-5faf377df"
7
+ "reactVersion": "16.11.0-b53ea6ca0"
8
8
  }
@@ -1,4 +1,4 @@
1
- /** @license React v0.23.0
1
+ /** @license React v0.24.0
2
2
  * react-reconciler-persistent.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -388,7 +388,6 @@ var ShouldCapture =
388
388
  /* */
389
389
  4096;
390
390
 
391
- var debugRenderPhaseSideEffects = false;
392
391
  var debugRenderPhaseSideEffectsForStrictMode = false;
393
392
  var enableUserTimingAPI = true;
394
393
  var warnAboutDeprecatedLifecycles = true;
@@ -413,6 +412,7 @@ var warnAboutDefaultPropsOnFunctionComponents = false;
413
412
  var warnAboutStringRefs = false;
414
413
  var disableLegacyContext = false;
415
414
  var disableSchedulerTimeoutBasedOnReactExpirationTime = false;
415
+
416
416
  // Only used in www builds.
417
417
 
418
418
  // Flow magic to verify the exports of this file match the original version.
@@ -1736,7 +1736,7 @@ function findCurrentUnmaskedContext(fiber) {
1736
1736
  }
1737
1737
  }
1738
1738
 
1739
- var BatchedRoot = 1;
1739
+ var BlockingRoot = 1;
1740
1740
  var ConcurrentRoot = 2;
1741
1741
 
1742
1742
  // Intentionally not named imports because Rollup would use dynamic dispatch for
@@ -1920,10 +1920,10 @@ function flushSyncCallbackQueueImpl() {
1920
1920
  }
1921
1921
 
1922
1922
  var NoMode = 0;
1923
- var StrictMode = 1; // TODO: Remove BatchedMode and ConcurrentMode by reading from the root
1923
+ var StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root
1924
1924
  // tag instead
1925
1925
 
1926
- var BatchedMode = 2;
1926
+ var BlockingMode = 2;
1927
1927
  var ConcurrentMode = 4;
1928
1928
  var ProfileMode = 8;
1929
1929
 
@@ -3349,7 +3349,7 @@ function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps,
3349
3349
  {
3350
3350
  enterDisallowedContextReadInDEV();
3351
3351
 
3352
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3352
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3353
3353
  payload.call(instance, prevState, nextProps);
3354
3354
  }
3355
3355
  }
@@ -3383,7 +3383,7 @@ function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps,
3383
3383
  {
3384
3384
  enterDisallowedContextReadInDEV();
3385
3385
 
3386
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3386
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3387
3387
  _payload.call(instance, prevState, nextProps);
3388
3388
  }
3389
3389
  }
@@ -3696,7 +3696,7 @@ function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromPro
3696
3696
  var prevState = workInProgress.memoizedState;
3697
3697
 
3698
3698
  {
3699
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3699
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3700
3700
  // Invoke the function an extra time to help detect side-effects.
3701
3701
  getDerivedStateFromProps(nextProps, prevState);
3702
3702
  }
@@ -3943,7 +3943,7 @@ function constructClassInstance(workInProgress, ctor, props, renderExpirationTim
3943
3943
 
3944
3944
 
3945
3945
  {
3946
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3946
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3947
3947
  new ctor(props, context); // eslint-disable-line no-new
3948
3948
  }
3949
3949
  }
@@ -7889,7 +7889,7 @@ function updateForwardRef(current$$1, workInProgress, Component, nextProps, rend
7889
7889
  setCurrentPhase('render');
7890
7890
  nextChildren = renderWithHooks(current$$1, workInProgress, render, nextProps, ref, renderExpirationTime);
7891
7891
 
7892
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
7892
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
7893
7893
  // Only double-render components with Hooks
7894
7894
  if (workInProgress.memoizedState !== null) {
7895
7895
  nextChildren = renderWithHooks(current$$1, workInProgress, render, nextProps, ref, renderExpirationTime);
@@ -8093,7 +8093,7 @@ function updateFunctionComponent(current$$1, workInProgress, Component, nextProp
8093
8093
  setCurrentPhase('render');
8094
8094
  nextChildren = renderWithHooks(current$$1, workInProgress, Component, nextProps, context, renderExpirationTime);
8095
8095
 
8096
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8096
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8097
8097
  // Only double-render components with Hooks
8098
8098
  if (workInProgress.memoizedState !== null) {
8099
8099
  nextChildren = renderWithHooks(current$$1, workInProgress, Component, nextProps, context, renderExpirationTime);
@@ -8216,7 +8216,7 @@ function finishClassComponent(current$$1, workInProgress, Component, shouldUpdat
8216
8216
  setCurrentPhase('render');
8217
8217
  nextChildren = instance.render();
8218
8218
 
8219
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8219
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8220
8220
  instance.render();
8221
8221
  }
8222
8222
 
@@ -8589,7 +8589,7 @@ function mountIndeterminateComponent(_current, workInProgress, Component, render
8589
8589
  warningWithoutStack$1(false, '%s uses the legacy contextTypes API which is no longer supported. ' + 'Use React.createContext() with React.useContext() instead.', getComponentName(Component) || 'Unknown');
8590
8590
  }
8591
8591
 
8592
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8592
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8593
8593
  // Only double-render components with Hooks
8594
8594
  if (workInProgress.memoizedState !== null) {
8595
8595
  value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
@@ -8765,8 +8765,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8765
8765
  var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null);
8766
8766
  primaryChildFragment.return = workInProgress;
8767
8767
 
8768
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8769
- // Outside of batched mode, we commit the effects from the
8768
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8769
+ // Outside of blocking mode, we commit the effects from the
8770
8770
  // partially completed, timed-out tree, too.
8771
8771
  var progressedState = workInProgress.memoizedState;
8772
8772
  var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child;
@@ -8829,8 +8829,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8829
8829
 
8830
8830
  _primaryChildFragment.child = null;
8831
8831
 
8832
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8833
- // Outside of batched mode, we commit the effects from the
8832
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8833
+ // Outside of blocking mode, we commit the effects from the
8834
8834
  // partially completed, timed-out tree, too.
8835
8835
  var _progressedChild = _primaryChildFragment.child = workInProgress.child;
8836
8836
 
@@ -8889,8 +8889,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8889
8889
 
8890
8890
  _primaryChildFragment2.return = workInProgress;
8891
8891
 
8892
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8893
- // Outside of batched mode, we commit the effects from the
8892
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8893
+ // Outside of blocking mode, we commit the effects from the
8894
8894
  // partially completed, timed-out tree, too.
8895
8895
  var _progressedState = workInProgress.memoizedState;
8896
8896
 
@@ -8974,8 +8974,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8974
8974
  // primaryChildFragment.effectTag |= Placement;
8975
8975
 
8976
8976
 
8977
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8978
- // Outside of batched mode, we commit the effects from the
8977
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8978
+ // Outside of blocking mode, we commit the effects from the
8979
8979
  // partially completed, timed-out tree, too.
8980
8980
  var _progressedState2 = workInProgress.memoizedState;
8981
8981
 
@@ -9044,9 +9044,9 @@ function retrySuspenseComponentWithoutHydrating(current$$1, workInProgress, rend
9044
9044
  function mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderExpirationTime) {
9045
9045
  // During the first pass, we'll bail out and not drill into the children.
9046
9046
  // Instead, we'll leave the content in place and try to hydrate it later.
9047
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9047
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9048
9048
  {
9049
- warning$1(false, 'Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOM.createSyncRoot(container, { hydrate: true })' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');
9049
+ warning$1(false, 'Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOM.createBlockingRoot(container, { hydrate: true })' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');
9050
9050
  }
9051
9051
 
9052
9052
  workInProgress.expirationTime = Sync;
@@ -9088,7 +9088,7 @@ function updateDehydratedSuspenseComponent(current$$1, workInProgress, suspenseI
9088
9088
  // but after we've already committed once.
9089
9089
  warnIfHydrating();
9090
9090
 
9091
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9091
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9092
9092
  return retrySuspenseComponentWithoutHydrating(current$$1, workInProgress, renderExpirationTime);
9093
9093
  }
9094
9094
 
@@ -9410,8 +9410,8 @@ function updateSuspenseListComponent(current$$1, workInProgress, renderExpiratio
9410
9410
 
9411
9411
  pushSuspenseContext(workInProgress, suspenseContext);
9412
9412
 
9413
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9414
- // Outside of batched mode, SuspenseList doesn't work so we just
9413
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9414
+ // Outside of blocking mode, SuspenseList doesn't work so we just
9415
9415
  // use make it a noop by treating it as the default revealOrder.
9416
9416
  workInProgress.memoizedState = null;
9417
9417
  } else {
@@ -9783,7 +9783,12 @@ function beginWork$1(current$$1, workInProgress, renderExpirationTime) {
9783
9783
 
9784
9784
  case Profiler:
9785
9785
  if (enableProfilerTimer) {
9786
- workInProgress.effectTag |= Update;
9786
+ // Profiler should only call onRender when one of its descendants actually rendered.
9787
+ var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
9788
+
9789
+ if (hasChildWork) {
9790
+ workInProgress.effectTag |= Update;
9791
+ }
9787
9792
  }
9788
9793
 
9789
9794
  break;
@@ -9839,10 +9844,11 @@ function beginWork$1(current$$1, workInProgress, renderExpirationTime) {
9839
9844
  case SuspenseListComponent:
9840
9845
  {
9841
9846
  var didSuspendBefore = (current$$1.effectTag & DidCapture) !== NoEffect;
9842
- var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
9847
+
9848
+ var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
9843
9849
 
9844
9850
  if (didSuspendBefore) {
9845
- if (hasChildWork) {
9851
+ if (_hasChildWork) {
9846
9852
  // If something was in fallback state last time, and we have all the
9847
9853
  // same children then we're still in progressive loading state.
9848
9854
  // Something might get unblocked by state updates or retries in the
@@ -9871,7 +9877,7 @@ function beginWork$1(current$$1, workInProgress, renderExpirationTime) {
9871
9877
 
9872
9878
  pushSuspenseContext(workInProgress, suspenseStackCursor.current);
9873
9879
 
9874
- if (hasChildWork) {
9880
+ if (_hasChildWork) {
9875
9881
  break;
9876
9882
  } else {
9877
9883
  // If none of the children had any work, that means that none of
@@ -10054,14 +10060,19 @@ function getSuspenseFallbackChild(fiber) {
10054
10060
  return fiber.child.sibling.child;
10055
10061
  }
10056
10062
 
10063
+ var emptyObject$1 = {};
10064
+
10057
10065
  function collectScopedNodes(node, fn, scopedNodes) {
10058
10066
  if (enableScopeAPI) {
10059
10067
  if (node.tag === HostComponent) {
10060
10068
  var _type = node.type,
10061
- memoizedProps = node.memoizedProps;
10069
+ memoizedProps = node.memoizedProps,
10070
+ stateNode = node.stateNode;
10062
10071
 
10063
- if (fn(_type, memoizedProps) === true) {
10064
- scopedNodes.push(getPublicInstance(node.stateNode));
10072
+ var _instance = getPublicInstance(stateNode);
10073
+
10074
+ if (_instance !== null && fn(_type, memoizedProps || emptyObject$1, _instance) === true) {
10075
+ scopedNodes.push(_instance);
10065
10076
  }
10066
10077
  }
10067
10078
 
@@ -10081,10 +10092,13 @@ function collectFirstScopedNode(node, fn) {
10081
10092
  if (enableScopeAPI) {
10082
10093
  if (node.tag === HostComponent) {
10083
10094
  var _type2 = node.type,
10084
- memoizedProps = node.memoizedProps;
10095
+ memoizedProps = node.memoizedProps,
10096
+ stateNode = node.stateNode;
10097
+
10098
+ var _instance2 = getPublicInstance(stateNode);
10085
10099
 
10086
- if (fn(_type2, memoizedProps) === true) {
10087
- return getPublicInstance(node.stateNode);
10100
+ if (_instance2 !== null && fn(_type2, memoizedProps, _instance2) === true) {
10101
+ return _instance2;
10088
10102
  }
10089
10103
  }
10090
10104
 
@@ -10968,12 +10982,12 @@ function completeWork(current, workInProgress, renderExpirationTime) {
10968
10982
  }
10969
10983
 
10970
10984
  if (nextDidTimeout && !prevDidTimeout) {
10971
- // If this subtreee is running in batched mode we can suspend,
10985
+ // If this subtreee is running in blocking mode we can suspend,
10972
10986
  // otherwise we won't suspend.
10973
10987
  // TODO: This will still suspend a synchronous tree if anything
10974
10988
  // in the concurrent tree already suspended during this render.
10975
10989
  // This is a known bug.
10976
- if ((workInProgress.mode & BatchedMode) !== NoMode) {
10990
+ if ((workInProgress.mode & BlockingMode) !== NoMode) {
10977
10991
  // TODO: Move this back to throwException because this is too late
10978
10992
  // if this is a large tree which is common for initial loads. We
10979
10993
  // don't know if we should restart a render or not until we get
@@ -11162,9 +11176,9 @@ function completeWork(current, workInProgress, renderExpirationTime) {
11162
11176
 
11163
11177
  cutOffTailIfNeeded(renderState, true); // This might have been modified.
11164
11178
 
11165
- if (renderState.tail === null && renderState.tailMode === 'hidden') {
11179
+ if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) {
11166
11180
  // We need to delete the row we just rendered.
11167
- // Reset the effect list to what it w as before we rendered this
11181
+ // Reset the effect list to what it was before we rendered this
11168
11182
  // child. The nested children have already appended themselves.
11169
11183
  var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point.
11170
11184
 
@@ -13299,17 +13313,17 @@ function throwException(root, returnFiber, sourceFiber, value, renderExpirationT
13299
13313
  _workInProgress.updateQueue = updateQueue;
13300
13314
  } else {
13301
13315
  thenables.add(thenable);
13302
- } // If the boundary is outside of batched mode, we should *not*
13316
+ } // If the boundary is outside of blocking mode, we should *not*
13303
13317
  // suspend the commit. Pretend as if the suspended component rendered
13304
13318
  // null and keep rendering. In the commit phase, we'll schedule a
13305
13319
  // subsequent synchronous update to re-render the Suspense.
13306
13320
  //
13307
13321
  // Note: It doesn't matter whether the component that suspended was
13308
- // inside a batched mode tree. If the Suspense is outside of it, we
13322
+ // inside a blocking mode tree. If the Suspense is outside of it, we
13309
13323
  // should *not* suspend the commit.
13310
13324
 
13311
13325
 
13312
- if ((_workInProgress.mode & BatchedMode) === NoMode) {
13326
+ if ((_workInProgress.mode & BlockingMode) === NoMode) {
13313
13327
  _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete.
13314
13328
  // But we shouldn't call any lifecycle methods or callbacks. Remove
13315
13329
  // all lifecycle effect tags.
@@ -13556,7 +13570,7 @@ function getCurrentTime() {
13556
13570
  function computeExpirationForFiber(currentTime, fiber, suspenseConfig) {
13557
13571
  var mode = fiber.mode;
13558
13572
 
13559
- if ((mode & BatchedMode) === NoMode) {
13573
+ if ((mode & BlockingMode) === NoMode) {
13560
13574
  return Sync;
13561
13575
  }
13562
13576
 
@@ -13657,7 +13671,7 @@ function scheduleUpdateOnFiber(fiber, expirationTime) {
13657
13671
  // a batch. This is intentionally inside scheduleUpdateOnFiber instead of
13658
13672
  // scheduleCallbackForFiber to preserve the ability to schedule a callback
13659
13673
  // without immediately flushing it. We only do this for user-initiated
13660
- // updates, to preserve historical behavior of sync mode.
13674
+ // updates, to preserve historical behavior of legacy mode.
13661
13675
  flushSyncCallbackQueue();
13662
13676
  }
13663
13677
  }
@@ -14879,7 +14893,16 @@ function commitRoot(root) {
14879
14893
  }
14880
14894
 
14881
14895
  function commitRootImpl(root, renderPriorityLevel) {
14882
- flushPassiveEffects();
14896
+ do {
14897
+ // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which
14898
+ // means `flushPassiveEffects` will sometimes result in additional
14899
+ // passive effects. So we need to keep flushing in a loop until there are
14900
+ // no more pending effects.
14901
+ // TODO: Might be better if `flushPassiveEffects` did not automatically
14902
+ // flush synchronous work at the end, to avoid factoring hazards like this.
14903
+ flushPassiveEffects();
14904
+ } while (rootWithPendingPassiveEffects !== null);
14905
+
14883
14906
  flushRenderPhaseStrictModeWarningsInDEV();
14884
14907
 
14885
14908
  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
@@ -15806,7 +15829,7 @@ var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent
15806
15829
  function warnIfUnmockedScheduler(fiber) {
15807
15830
  {
15808
15831
  if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) {
15809
- if (fiber.mode & BatchedMode || fiber.mode & ConcurrentMode) {
15832
+ if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) {
15810
15833
  didWarnAboutUnmockedScheduler = true;
15811
15834
  warningWithoutStack$1(false, 'In Concurrent or Sync modes, the "scheduler" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \n' + "jest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\n" + 'For more info, visit https://fb.me/react-mock-scheduler');
15812
15835
  } else if (warnAboutUnmockedScheduler === true) {
@@ -16449,9 +16472,9 @@ function createHostRootFiber(tag) {
16449
16472
  var mode;
16450
16473
 
16451
16474
  if (tag === ConcurrentRoot) {
16452
- mode = ConcurrentMode | BatchedMode | StrictMode;
16453
- } else if (tag === BatchedRoot) {
16454
- mode = BatchedMode | StrictMode;
16475
+ mode = ConcurrentMode | BlockingMode | StrictMode;
16476
+ } else if (tag === BlockingRoot) {
16477
+ mode = BlockingMode | StrictMode;
16455
16478
  } else {
16456
16479
  mode = NoMode;
16457
16480
  }
@@ -16493,7 +16516,7 @@ key, pendingProps, owner, mode, expirationTime) {
16493
16516
 
16494
16517
  case REACT_CONCURRENT_MODE_TYPE:
16495
16518
  fiberTag = Mode;
16496
- mode |= ConcurrentMode | BatchedMode | StrictMode;
16519
+ mode |= ConcurrentMode | BlockingMode | StrictMode;
16497
16520
  break;
16498
16521
 
16499
16522
  case REACT_STRICT_MODE_TYPE:
@@ -1,4 +1,4 @@
1
- /** @license React v0.23.0
1
+ /** @license React v0.24.0
2
2
  * react-reconciler-persistent.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -25,7 +25,7 @@ function Ab(a){var b="";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:c
25
25
  var Db={},A={current:Db},B={current:!1},Eb=Db;function Fb(a,b){var c=a.type.contextTypes;if(!c)return Db;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function C(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gb(a){y(B,a);y(A,a)}
26
26
  function Hb(a){y(B,a);y(A,a)}function Ib(a,b,c){if(A.current!==Db)throw Error(n(168));z(A,b,a);z(B,c,a)}function Jb(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(n(108,ta(b)||"Unknown",e));return aa({},c,{},d)}function Kb(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Db;Eb=A.current;z(A,b,a);z(B,B.current,a);return!0}
27
27
  function Lb(a,b,c){var d=a.stateNode;if(!d)throw Error(n(169));c?(b=Jb(a,b,Eb),d.__reactInternalMemoizedMergedChildContext=b,y(B,a),y(A,a),z(A,b,a)):y(B,a);z(B,c,a)}
28
- var Mb=m.unstable_runWithPriority,Nb=m.unstable_scheduleCallback,Ob=m.unstable_cancelCallback,Pb=m.unstable_shouldYield,Qb=m.unstable_requestPaint,Tb=m.unstable_now,Ub=m.unstable_getCurrentPriorityLevel,Vb=m.unstable_ImmediatePriority,Wb=m.unstable_UserBlockingPriority,Xb=m.unstable_NormalPriority,Yb=m.unstable_LowPriority,Zb=m.unstable_IdlePriority,$b={},ac=void 0!==Qb?Qb:function(){},bc=null,cc=null,dc=!1,ec=Tb(),E=1E4>ec?Tb:function(){return Tb()-ec};
28
+ var Mb=m.unstable_runWithPriority,Nb=m.unstable_scheduleCallback,Ob=m.unstable_cancelCallback,Pb=m.unstable_shouldYield,Qb=m.unstable_requestPaint,Rb=m.unstable_now,Ub=m.unstable_getCurrentPriorityLevel,Vb=m.unstable_ImmediatePriority,Wb=m.unstable_UserBlockingPriority,Xb=m.unstable_NormalPriority,Yb=m.unstable_LowPriority,Zb=m.unstable_IdlePriority,$b={},ac=void 0!==Qb?Qb:function(){},bc=null,cc=null,dc=!1,ec=Rb(),E=1E4>ec?Rb:function(){return Rb()-ec};
29
29
  function fc(){switch(Ub()){case Vb:return 99;case Wb:return 98;case Xb:return 97;case Yb:return 96;case Zb:return 95;default:throw Error(n(332));}}function gc(a){switch(a){case 99:return Vb;case 98:return Wb;case 97:return Xb;case 96:return Yb;case 95:return Zb;default:throw Error(n(332));}}function hc(a,b){a=gc(a);return Mb(a,b)}function ic(a,b,c){a=gc(a);return Nb(a,b,c)}function jc(a){null===bc?(bc=[a],cc=Nb(Vb,kc)):bc.push(a);return $b}function F(){if(null!==cc){var a=cc;cc=null;Ob(a)}kc()}
30
30
  function kc(){if(!dc&&null!==bc){dc=!0;var a=0;try{var b=bc;hc(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});bc=null}catch(c){throw null!==bc&&(bc=bc.slice(a+1)),Nb(Vb,F),c;}finally{dc=!1}}}var lc=3;function mc(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function nc(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var oc="function"===typeof Object.is?Object.is:nc,pc=Object.prototype.hasOwnProperty;
31
31
  function qc(a,b){if(oc(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!pc.call(b,c[d])||!oc(a[c[d]],b[c[d]]))return!1;return!0}function rc(a,b){if(a&&a.defaultProps){b=aa({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var sc={current:null},tc=null,uc=null,vc=null;function wc(){vc=uc=tc=null}
@@ -135,23 +135,23 @@ function Wf(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutH
135
135
  function Zf(a,b){do{try{wc();Nd();if(null===V||null===V.return)return X=uf,zf=b,null;a:{var c=a,d=V.return,e=V,f=b;b=W;e.effectTag|=2048;e.firstEffect=e.lastEffect=null;if(null!==f&&"object"===typeof f&&"function"===typeof f.then){var g=f,l=0!==(I.current&1),h=d;do{var k;if(k=13===h.tag){var p=h.memoizedState;if(null!==p)k=null!==p.dehydrated?!0:!1;else{var D=h.memoizedProps;k=void 0===D.fallback?!1:!0!==D.unstable_avoidThisFallback?!0:l?!1:!0}}if(k){var x=h.updateQueue;if(null===x){var K=new Set;
136
136
  K.add(g);h.updateQueue=K}else x.add(g);if(0===(h.mode&2)){h.effectTag|=64;e.effectTag&=-2981;if(1===e.tag)if(null===e.alternate)e.tag=17;else{var Ha=Gc(1073741823,null);Ha.tag=2;Ic(e,Ha)}e.expirationTime=1073741823;break a}f=void 0;e=b;var O=c.pingCache;null===O?(O=c.pingCache=new hf,f=new Set,O.set(g,f)):(f=O.get(g),void 0===f&&(f=new Set,O.set(g,f)));if(!f.has(e)){f.add(e);var w=fg.bind(null,c,g,e);g.then(w,w)}h.effectTag|=4096;h.expirationTime=b;break a}h=h.return}while(null!==h);f=Error((ta(e.type)||
137
137
  "A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+Ab(e))}X!==yf&&(X=vf);f=Ne(f,e);h=d;do{switch(h.tag){case 3:g=f;h.effectTag|=4096;h.expirationTime=b;var r=jf(h,g,b);Jc(h,r);break a;case 1:g=f;var t=h.type,N=h.stateNode;if(0===(h.effectTag&64)&&("function"===typeof t.getDerivedStateFromError||null!==N&&"function"===typeof N.componentDidCatch&&
138
- (null===nf||!nf.has(N)))){h.effectTag|=4096;h.expirationTime=b;var Mc=mf(h,g,b);Jc(h,Mc);break a}}h=h.return}while(null!==h)}V=gg(V)}catch(Rb){b=Rb;continue}break}while(1)}function Xf(){var a=pf.current;pf.current=Md;return null===a?Md:a}function Oc(a,b){a<Af&&2<a&&(Af=a);null!==b&&a<Bf&&2<a&&(Bf=a,Cf=b)}function Pc(a){a>Df&&(Df=a)}function bg(){for(;null!==V;)V=hg(V)}function Yf(){for(;null!==V&&!Pb();)V=hg(V)}
138
+ (null===nf||!nf.has(N)))){h.effectTag|=4096;h.expirationTime=b;var Mc=mf(h,g,b);Jc(h,Mc);break a}}h=h.return}while(null!==h)}V=gg(V)}catch(Sb){b=Sb;continue}break}while(1)}function Xf(){var a=pf.current;pf.current=Md;return null===a?Md:a}function Oc(a,b){a<Af&&2<a&&(Af=a);null!==b&&a<Bf&&2<a&&(Bf=a,Cf=b)}function Pc(a){a>Df&&(Df=a)}function bg(){for(;null!==V;)V=hg(V)}function Yf(){for(;null!==V&&!Pb();)V=hg(V)}
139
139
  function hg(a){var b=ig(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=gg(a));qf.current=null;return b}
140
140
  function gg(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&2048)){a:{var c=b;b=V;var d=W,e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:C(b.type)&&Gb(b);break;case 3:rd(b);Hb(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ne(b)&&Fe(b);He(b);break;case 5:td(b);var f=pd(od.current);d=b.type;if(null!==c&&null!=b.stateNode)Ie(c,b,d,e,f),c.ref!==b.ref&&(b.effectTag|=128);else if(e){c=pd(H.current);
141
141
  if(ne(b)){e=b;if(!Sa)throw Error(n(175));c=ub(e.stateNode,e.type,e.memoizedProps,f,c,e);e.updateQueue=c;c=null!==c?!0:!1;c&&Fe(b)}else{var g=Ea(d,e,f,c,b);Ge(g,b,!1,!1);b.stateNode=g;Ga(g,d,e,f,c)&&Fe(b)}null!==b.ref&&(b.effectTag|=128)}else if(null===b.stateNode)throw Error(n(166));break;case 6:if(c&&null!=b.stateNode)Je(c,b,c.memoizedProps,e);else{if("string"!==typeof e&&null===b.stateNode)throw Error(n(166));c=pd(od.current);f=pd(H.current);if(ne(b)){c=b;if(!Sa)throw Error(n(176));(c=vb(c.stateNode,
142
142
  c.memoizedProps,c))&&Fe(b)}else b.stateNode=La(e,c,f,b)}break;case 11:break;case 13:y(I,b);e=b.memoizedState;if(0!==(b.effectTag&64)){b.expirationTime=d;break a}e=null!==e;f=!1;null===c?void 0!==b.memoizedProps.fallback&&ne(b):(d=c.memoizedState,f=null!==d,e||null===d||(d=c.child.sibling,null!==d&&(g=b.firstEffect,null!==g?(b.firstEffect=d,d.nextEffect=g):(b.firstEffect=b.lastEffect=d,d.nextEffect=null),d.effectTag=8)));if(e&&!f&&0!==(b.mode&2))if(null===c&&!0!==b.memoizedProps.unstable_avoidThisFallback||
143
143
  0!==(I.current&1))X===tf&&(X=wf);else{if(X===tf||X===wf)X=xf;0!==Df&&null!==U&&(Pf(U,W),Qf(U,Df))}Ra&&e&&(b.effectTag|=4);Qa&&(e||f)&&(b.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:rd(b);He(b);break;case 10:yc(b);break;case 9:break;case 14:break;case 17:C(b.type)&&Gb(b);break;case 19:y(I,b);e=b.memoizedState;if(null===e)break;f=0!==(b.effectTag&64);g=e.rendering;if(null===g)if(f)Le(e,!1);else{if(X!==tf||null!==c&&0!==(c.effectTag&64))for(c=b.child;null!==c;){g=ud(c);if(null!==
144
144
  g){b.effectTag|=64;Le(e,!1);c=g.updateQueue;null!==c&&(b.updateQueue=c,b.effectTag|=4);null===e.lastEffect&&(b.firstEffect=null);b.lastEffect=e.lastEffect;c=d;for(e=b.child;null!==e;)f=e,d=c,f.effectTag&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childExpirationTime=0,f.expirationTime=d,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null):(f.childExpirationTime=g.childExpirationTime,f.expirationTime=g.expirationTime,
145
- f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,d=g.dependencies,f.dependencies=null===d?null:{expirationTime:d.expirationTime,firstContext:d.firstContext,responders:d.responders}),e=e.sibling;z(I,I.current&1|2,b);b=b.child;break a}c=c.sibling}}else{if(!f)if(c=ud(g),null!==c){if(b.effectTag|=64,f=!0,c=c.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),Le(e,!0),null===e.tail&&"hidden"===e.tailMode){b=b.lastEffect=e.lastEffect;null!==
146
- b&&(b.nextEffect=null);break}}else E()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,Le(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(g.sibling=b.child,b.child=g):(c=e.last,null!==c?c.sibling=g:b.child=g,e.last=g)}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=E()+500);c=e.tail;e.rendering=c;e.tail=c.sibling;e.lastEffect=b.lastEffect;c.sibling=null;e=I.current;e=f?e&1|2:e&1;z(I,e,b);b=c;break a}break;case 20:break;case 21:break;default:throw Error(n(156,b.tag));}b=null}c=
147
- V;if(1===W||1!==c.childExpirationTime){e=0;for(f=c.child;null!==f;)d=f.expirationTime,g=f.childExpirationTime,d>e&&(e=d),g>e&&(e=g),f=f.sibling;c.childExpirationTime=e}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1<V.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=V:a.firstEffect=V,a.lastEffect=V))}else{b=Me(V,W);if(null!==
148
- b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=V.sibling;if(null!==b)return b;V=a}while(null!==V);X===tf&&(X=yf);return null}function $f(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function ag(a){var b=fc();hc(99,jg.bind(null,a,b));return null}
149
- function jg(a,b){Vf();if((T&(S|sf))!==R)throw Error(n(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(n(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=$f(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=d-1);d<=a.lastPingedTime&&
150
- (a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=T;T|=sf;qf.current=null;Ca(a.containerInfo);Y=e;do try{kg()}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(var g=a,l=b;null!==Y;){var h=Y.effectTag;h&16&&Qa&&bb(Y.stateNode);if(h&128){var k=Y.alternate;if(null!==k){var p=k.ref;null!==p&&("function"===
151
- typeof p?p(null):p.current=null)}}switch(h&1038){case 2:bf(Y);Y.effectTag&=-3;break;case 6:bf(Y);Y.effectTag&=-3;cf(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=-1025;cf(Y.alternate,Y);break;case 4:cf(Y.alternate,Y);break;case 8:var D=g,x=Y,K=l;Qa?Xe(D,x,K):Ze(D,x,K);$e(x)}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Da(a.containerInfo);a.current=c;Y=e;do try{for(h=d;null!==Y;){var Ha=Y.effectTag;if(Ha&36){var O=
152
- Y.alternate;k=Y;p=h;switch(k.tag){case 0:case 11:case 15:Ue(16,32,k);break;case 1:var w=k.stateNode;if(k.effectTag&4)if(null===O)w.componentDidMount();else{var r=k.elementType===k.type?O.memoizedProps:rc(k.type,O.memoizedProps);w.componentDidUpdate(r,O.memoizedState,w.__reactInternalSnapshotBeforeUpdate)}var t=k.updateQueue;null!==t&&Qc(k,t,w,p);break;case 3:var N=k.updateQueue;if(null!==N){g=null;if(null!==k.child)switch(k.child.tag){case 5:g=za(k.child.stateNode);break;case 1:g=k.child.stateNode}Qc(k,
153
- N,g,p)}break;case 5:var Mc=k.stateNode;null===O&&k.effectTag&4&&Wa(Mc,k.type,k.memoizedProps,k);break;case 6:break;case 4:break;case 12:break;case 13:if(Sa&&null===k.memoizedState){var Rb=k.alternate;if(null!==Rb){var le=Rb.memoizedState;if(null!==le){var me=le.dehydrated;null!==me&&yb(me)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163));}}if(Ha&128){k=void 0;var Sb=Y.ref;if(null!==Sb){var v=Y.stateNode;switch(Y.tag){case 5:k=za(v);break;default:k=v}"function"===typeof Sb?
154
- Sb(k):Sb.current=k}}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=null;ac();T=f}else a.current=c;if(Gf)Gf=!1,Hf=a,If=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(nf=null);1073741823===b?a===Lf?Kf++:(Kf=0,Lf=a):Kf=0;"function"===typeof lg&&lg(c.stateNode,d);Z(a);if(kf)throw kf=!1,a=lf,lf=null,a;if((T&rf)!==R)return null;F();return null}
145
+ f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,d=g.dependencies,f.dependencies=null===d?null:{expirationTime:d.expirationTime,firstContext:d.firstContext,responders:d.responders}),e=e.sibling;z(I,I.current&1|2,b);b=b.child;break a}c=c.sibling}}else{if(!f)if(c=ud(g),null!==c){if(b.effectTag|=64,f=!0,c=c.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),Le(e,!0),null===e.tail&&"hidden"===e.tailMode&&!g.alternate){b=b.lastEffect=e.lastEffect;
146
+ null!==b&&(b.nextEffect=null);break}}else E()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,Le(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(g.sibling=b.child,b.child=g):(c=e.last,null!==c?c.sibling=g:b.child=g,e.last=g)}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=E()+500);c=e.tail;e.rendering=c;e.tail=c.sibling;e.lastEffect=b.lastEffect;c.sibling=null;e=I.current;e=f?e&1|2:e&1;z(I,e,b);b=c;break a}break;case 20:break;case 21:break;default:throw Error(n(156,b.tag));
147
+ }b=null}c=V;if(1===W||1!==c.childExpirationTime){e=0;for(f=c.child;null!==f;)d=f.expirationTime,g=f.childExpirationTime,d>e&&(e=d),g>e&&(e=g),f=f.sibling;c.childExpirationTime=e}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1<V.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=V:a.firstEffect=V,a.lastEffect=V))}else{b=Me(V,
148
+ W);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=V.sibling;if(null!==b)return b;V=a}while(null!==V);X===tf&&(X=yf);return null}function $f(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function ag(a){var b=fc();hc(99,jg.bind(null,a,b));return null}
149
+ function jg(a,b){do Vf();while(null!==Hf);if((T&(S|sf))!==R)throw Error(n(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(n(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=$f(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=
150
+ d-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=T;T|=sf;qf.current=null;Ca(a.containerInfo);Y=e;do try{kg()}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(var g=a,l=b;null!==Y;){var h=Y.effectTag;h&16&&Qa&&bb(Y.stateNode);if(h&128){var k=Y.alternate;if(null!==k){var p=
151
+ k.ref;null!==p&&("function"===typeof p?p(null):p.current=null)}}switch(h&1038){case 2:bf(Y);Y.effectTag&=-3;break;case 6:bf(Y);Y.effectTag&=-3;cf(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=-1025;cf(Y.alternate,Y);break;case 4:cf(Y.alternate,Y);break;case 8:var D=g,x=Y,K=l;Qa?Xe(D,x,K):Ze(D,x,K);$e(x)}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Da(a.containerInfo);a.current=c;Y=e;do try{for(h=d;null!==Y;){var Ha=
152
+ Y.effectTag;if(Ha&36){var O=Y.alternate;k=Y;p=h;switch(k.tag){case 0:case 11:case 15:Ue(16,32,k);break;case 1:var w=k.stateNode;if(k.effectTag&4)if(null===O)w.componentDidMount();else{var r=k.elementType===k.type?O.memoizedProps:rc(k.type,O.memoizedProps);w.componentDidUpdate(r,O.memoizedState,w.__reactInternalSnapshotBeforeUpdate)}var t=k.updateQueue;null!==t&&Qc(k,t,w,p);break;case 3:var N=k.updateQueue;if(null!==N){g=null;if(null!==k.child)switch(k.child.tag){case 5:g=za(k.child.stateNode);break;
153
+ case 1:g=k.child.stateNode}Qc(k,N,g,p)}break;case 5:var Mc=k.stateNode;null===O&&k.effectTag&4&&Wa(Mc,k.type,k.memoizedProps,k);break;case 6:break;case 4:break;case 12:break;case 13:if(Sa&&null===k.memoizedState){var Sb=k.alternate;if(null!==Sb){var le=Sb.memoizedState;if(null!==le){var me=le.dehydrated;null!==me&&yb(me)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163));}}if(Ha&128){k=void 0;var Tb=Y.ref;if(null!==Tb){var v=Y.stateNode;switch(Y.tag){case 5:k=za(v);break;default:k=
154
+ v}"function"===typeof Tb?Tb(k):Tb.current=k}}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=null;ac();T=f}else a.current=c;if(Gf)Gf=!1,Hf=a,If=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(nf=null);1073741823===b?a===Lf?Kf++:(Kf=0,Lf=a):Kf=0;"function"===typeof lg&&lg(c.stateNode,d);Z(a);if(kf)throw kf=!1,a=lf,lf=null,a;if((T&rf)!==R)return null;F();return null}
155
155
  function kg(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Te(Y.alternate,Y);0===(a&512)||Gf||(Gf=!0,ic(97,function(){Vf();return null}));Y=Y.nextEffect}}function Vf(){if(90!==If){var a=97<If?97:If;If=90;return hc(a,mg)}}
156
156
  function mg(){if(null===Hf)return!1;var a=Hf;Hf=null;if((T&(S|sf))!==R)throw Error(n(331));var b=T;T|=sf;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:Ue(128,0,c),Ue(0,64,c)}}catch(d){if(null===a)throw Error(n(330));Re(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}T=b;F();return!0}function ng(a,b,c){b=Ne(c,b);b=jf(a,b,1073741823);Ic(a,b);a=Nf(a,1073741823);null!==a&&Z(a)}
157
157
  function Re(a,b){if(3===a.tag)ng(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){ng(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===nf||!nf.has(d))){a=Ne(b,a);a=mf(c,a,1073741823);Ic(c,a);c=Nf(c,1073741823);null!==c&&Z(c);break}}c=c.return}}
@@ -1,4 +1,4 @@
1
- /** @license React v0.23.0
1
+ /** @license React v0.24.0
2
2
  * react-reconciler-reflection.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -277,12 +277,8 @@ var Hydrating =
277
277
 
278
278
  // Union of all host effects
279
279
 
280
- // Helps identify side effects in begin-phase lifecycle hooks and setState reducers:
281
-
282
- // In some cases, StrictMode should also double-render lifecycles.
283
- // This can be confusing for tests though,
284
- // And it can be bad for performance in production.
285
- // This feature flag can be used to control the behavior:
280
+ // Helps identify side effects in render-phase lifecycle hooks and setState
281
+ // reducers by double invoking them in Strict Mode.
286
282
 
287
283
  // To preserve the "Pause on caught exceptions" behavior of the debugger, we
288
284
  // replay the begin phase of a failed component inside invokeGuardedCallback.
@@ -318,7 +314,7 @@ var enableFundamentalAPI = false; // Experimental Scope support.
318
314
  // New API for JSX transforms to target - https://github.com/reactjs/rfcs/pull/107
319
315
 
320
316
  // We will enforce mocking scheduler with scheduler/unstable_mock at some point. (v17?)
321
- // Till then, we warn about the missing mock, but still fallback to a sync mode compatible version
317
+ // Till then, we warn about the missing mock, but still fallback to a legacy mode compatible version
322
318
 
323
319
  // For tests, we flush suspense fallbacks in an act scope;
324
320
  // *except* in some of our own tests, where we test incremental loading states.
@@ -333,6 +329,12 @@ var enableFundamentalAPI = false; // Experimental Scope support.
333
329
  // from React.createElement to React.jsx
334
330
  // https://github.com/reactjs/rfcs/blob/createlement-rfc/text/0000-create-element-changes.md
335
331
 
332
+
333
+
334
+
335
+
336
+ // Flag to turn event.target and event.currentTarget in ReactNative from a reactTag to a component instance
337
+
336
338
  var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
337
339
  function getNearestMountedFiber(fiber) {
338
340
  var node = fiber;
@@ -1,4 +1,4 @@
1
- /** @license React v0.23.0
1
+ /** @license React v0.24.0
2
2
  * react-reconciler-reflection.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -1,4 +1,4 @@
1
- /** @license React v0.23.0
1
+ /** @license React v0.24.0
2
2
  * react-reconciler.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -388,12 +388,8 @@ var ShouldCapture =
388
388
  /* */
389
389
  4096;
390
390
 
391
- var enableUserTimingAPI = true; // Helps identify side effects in begin-phase lifecycle hooks and setState reducers:
392
-
393
- var debugRenderPhaseSideEffects = false; // In some cases, StrictMode should also double-render lifecycles.
394
- // This can be confusing for tests though,
395
- // And it can be bad for performance in production.
396
- // This feature flag can be used to control the behavior:
391
+ var enableUserTimingAPI = true; // Helps identify side effects in render-phase lifecycle hooks and setState
392
+ // reducers by double invoking them in Strict Mode.
397
393
 
398
394
  var debugRenderPhaseSideEffectsForStrictMode = true; // To preserve the "Pause on caught exceptions" behavior of the debugger, we
399
395
  // replay the begin phase of a failed component inside invokeGuardedCallback.
@@ -429,7 +425,7 @@ var enableFundamentalAPI = false; // Experimental Scope support.
429
425
  var enableScopeAPI = false; // New API for JSX transforms to target - https://github.com/reactjs/rfcs/pull/107
430
426
 
431
427
  // We will enforce mocking scheduler with scheduler/unstable_mock at some point. (v17?)
432
- // Till then, we warn about the missing mock, but still fallback to a sync mode compatible version
428
+ // Till then, we warn about the missing mock, but still fallback to a legacy mode compatible version
433
429
 
434
430
  var warnAboutUnmockedScheduler = false; // For tests, we flush suspense fallbacks in an act scope;
435
431
  // *except* in some of our own tests, where we test incremental loading states.
@@ -448,6 +444,7 @@ var warnAboutDefaultPropsOnFunctionComponents = false;
448
444
  var warnAboutStringRefs = false;
449
445
  var disableLegacyContext = false;
450
446
  var disableSchedulerTimeoutBasedOnReactExpirationTime = false;
447
+ // Flag to turn event.target and event.currentTarget in ReactNative from a reactTag to a component instance
451
448
 
452
449
  var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;
453
450
  function getNearestMountedFiber(fiber) {
@@ -1768,7 +1765,7 @@ function findCurrentUnmaskedContext(fiber) {
1768
1765
  }
1769
1766
  }
1770
1767
 
1771
- var BatchedRoot = 1;
1768
+ var BlockingRoot = 1;
1772
1769
  var ConcurrentRoot = 2;
1773
1770
 
1774
1771
  // Intentionally not named imports because Rollup would use dynamic dispatch for
@@ -1952,10 +1949,10 @@ function flushSyncCallbackQueueImpl() {
1952
1949
  }
1953
1950
 
1954
1951
  var NoMode = 0;
1955
- var StrictMode = 1; // TODO: Remove BatchedMode and ConcurrentMode by reading from the root
1952
+ var StrictMode = 1; // TODO: Remove BlockingMode and ConcurrentMode by reading from the root
1956
1953
  // tag instead
1957
1954
 
1958
- var BatchedMode = 2;
1955
+ var BlockingMode = 2;
1959
1956
  var ConcurrentMode = 4;
1960
1957
  var ProfileMode = 8;
1961
1958
 
@@ -3381,7 +3378,7 @@ function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps,
3381
3378
  {
3382
3379
  enterDisallowedContextReadInDEV();
3383
3380
 
3384
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3381
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3385
3382
  payload.call(instance, prevState, nextProps);
3386
3383
  }
3387
3384
  }
@@ -3415,7 +3412,7 @@ function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps,
3415
3412
  {
3416
3413
  enterDisallowedContextReadInDEV();
3417
3414
 
3418
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3415
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3419
3416
  _payload.call(instance, prevState, nextProps);
3420
3417
  }
3421
3418
  }
@@ -3728,7 +3725,7 @@ function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromPro
3728
3725
  var prevState = workInProgress.memoizedState;
3729
3726
 
3730
3727
  {
3731
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3728
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3732
3729
  // Invoke the function an extra time to help detect side-effects.
3733
3730
  getDerivedStateFromProps(nextProps, prevState);
3734
3731
  }
@@ -3975,7 +3972,7 @@ function constructClassInstance(workInProgress, ctor, props, renderExpirationTim
3975
3972
 
3976
3973
 
3977
3974
  {
3978
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3975
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
3979
3976
  new ctor(props, context); // eslint-disable-line no-new
3980
3977
  }
3981
3978
  }
@@ -7921,7 +7918,7 @@ function updateForwardRef(current$$1, workInProgress, Component, nextProps, rend
7921
7918
  setCurrentPhase('render');
7922
7919
  nextChildren = renderWithHooks(current$$1, workInProgress, render, nextProps, ref, renderExpirationTime);
7923
7920
 
7924
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
7921
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
7925
7922
  // Only double-render components with Hooks
7926
7923
  if (workInProgress.memoizedState !== null) {
7927
7924
  nextChildren = renderWithHooks(current$$1, workInProgress, render, nextProps, ref, renderExpirationTime);
@@ -8125,7 +8122,7 @@ function updateFunctionComponent(current$$1, workInProgress, Component, nextProp
8125
8122
  setCurrentPhase('render');
8126
8123
  nextChildren = renderWithHooks(current$$1, workInProgress, Component, nextProps, context, renderExpirationTime);
8127
8124
 
8128
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8125
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8129
8126
  // Only double-render components with Hooks
8130
8127
  if (workInProgress.memoizedState !== null) {
8131
8128
  nextChildren = renderWithHooks(current$$1, workInProgress, Component, nextProps, context, renderExpirationTime);
@@ -8248,7 +8245,7 @@ function finishClassComponent(current$$1, workInProgress, Component, shouldUpdat
8248
8245
  setCurrentPhase('render');
8249
8246
  nextChildren = instance.render();
8250
8247
 
8251
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8248
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8252
8249
  instance.render();
8253
8250
  }
8254
8251
 
@@ -8621,7 +8618,7 @@ function mountIndeterminateComponent(_current, workInProgress, Component, render
8621
8618
  warningWithoutStack$1(false, '%s uses the legacy contextTypes API which is no longer supported. ' + 'Use React.createContext() with React.useContext() instead.', getComponentName(Component) || 'Unknown');
8622
8619
  }
8623
8620
 
8624
- if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8621
+ if (debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) {
8625
8622
  // Only double-render components with Hooks
8626
8623
  if (workInProgress.memoizedState !== null) {
8627
8624
  value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime);
@@ -8797,8 +8794,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8797
8794
  var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null);
8798
8795
  primaryChildFragment.return = workInProgress;
8799
8796
 
8800
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8801
- // Outside of batched mode, we commit the effects from the
8797
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8798
+ // Outside of blocking mode, we commit the effects from the
8802
8799
  // partially completed, timed-out tree, too.
8803
8800
  var progressedState = workInProgress.memoizedState;
8804
8801
  var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child;
@@ -8861,8 +8858,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8861
8858
 
8862
8859
  _primaryChildFragment.child = null;
8863
8860
 
8864
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8865
- // Outside of batched mode, we commit the effects from the
8861
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8862
+ // Outside of blocking mode, we commit the effects from the
8866
8863
  // partially completed, timed-out tree, too.
8867
8864
  var _progressedChild = _primaryChildFragment.child = workInProgress.child;
8868
8865
 
@@ -8921,8 +8918,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
8921
8918
 
8922
8919
  _primaryChildFragment2.return = workInProgress;
8923
8920
 
8924
- if ((workInProgress.mode & BatchedMode) === NoMode) {
8925
- // Outside of batched mode, we commit the effects from the
8921
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
8922
+ // Outside of blocking mode, we commit the effects from the
8926
8923
  // partially completed, timed-out tree, too.
8927
8924
  var _progressedState = workInProgress.memoizedState;
8928
8925
 
@@ -9006,8 +9003,8 @@ function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTim
9006
9003
  // primaryChildFragment.effectTag |= Placement;
9007
9004
 
9008
9005
 
9009
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9010
- // Outside of batched mode, we commit the effects from the
9006
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9007
+ // Outside of blocking mode, we commit the effects from the
9011
9008
  // partially completed, timed-out tree, too.
9012
9009
  var _progressedState2 = workInProgress.memoizedState;
9013
9010
 
@@ -9076,9 +9073,9 @@ function retrySuspenseComponentWithoutHydrating(current$$1, workInProgress, rend
9076
9073
  function mountDehydratedSuspenseComponent(workInProgress, suspenseInstance, renderExpirationTime) {
9077
9074
  // During the first pass, we'll bail out and not drill into the children.
9078
9075
  // Instead, we'll leave the content in place and try to hydrate it later.
9079
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9076
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9080
9077
  {
9081
- warning$1(false, 'Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOM.createSyncRoot(container, { hydrate: true })' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');
9078
+ warning$1(false, 'Cannot hydrate Suspense in legacy mode. Switch from ' + 'ReactDOM.hydrate(element, container) to ' + 'ReactDOM.createBlockingRoot(container, { hydrate: true })' + '.render(element) or remove the Suspense components from ' + 'the server rendered components.');
9082
9079
  }
9083
9080
 
9084
9081
  workInProgress.expirationTime = Sync;
@@ -9120,7 +9117,7 @@ function updateDehydratedSuspenseComponent(current$$1, workInProgress, suspenseI
9120
9117
  // but after we've already committed once.
9121
9118
  warnIfHydrating();
9122
9119
 
9123
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9120
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9124
9121
  return retrySuspenseComponentWithoutHydrating(current$$1, workInProgress, renderExpirationTime);
9125
9122
  }
9126
9123
 
@@ -9442,8 +9439,8 @@ function updateSuspenseListComponent(current$$1, workInProgress, renderExpiratio
9442
9439
 
9443
9440
  pushSuspenseContext(workInProgress, suspenseContext);
9444
9441
 
9445
- if ((workInProgress.mode & BatchedMode) === NoMode) {
9446
- // Outside of batched mode, SuspenseList doesn't work so we just
9442
+ if ((workInProgress.mode & BlockingMode) === NoMode) {
9443
+ // Outside of blocking mode, SuspenseList doesn't work so we just
9447
9444
  // use make it a noop by treating it as the default revealOrder.
9448
9445
  workInProgress.memoizedState = null;
9449
9446
  } else {
@@ -9815,7 +9812,12 @@ function beginWork$1(current$$1, workInProgress, renderExpirationTime) {
9815
9812
 
9816
9813
  case Profiler:
9817
9814
  if (enableProfilerTimer) {
9818
- workInProgress.effectTag |= Update;
9815
+ // Profiler should only call onRender when one of its descendants actually rendered.
9816
+ var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
9817
+
9818
+ if (hasChildWork) {
9819
+ workInProgress.effectTag |= Update;
9820
+ }
9819
9821
  }
9820
9822
 
9821
9823
  break;
@@ -9871,10 +9873,11 @@ function beginWork$1(current$$1, workInProgress, renderExpirationTime) {
9871
9873
  case SuspenseListComponent:
9872
9874
  {
9873
9875
  var didSuspendBefore = (current$$1.effectTag & DidCapture) !== NoEffect;
9874
- var hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
9876
+
9877
+ var _hasChildWork = workInProgress.childExpirationTime >= renderExpirationTime;
9875
9878
 
9876
9879
  if (didSuspendBefore) {
9877
- if (hasChildWork) {
9880
+ if (_hasChildWork) {
9878
9881
  // If something was in fallback state last time, and we have all the
9879
9882
  // same children then we're still in progressive loading state.
9880
9883
  // Something might get unblocked by state updates or retries in the
@@ -9903,7 +9906,7 @@ function beginWork$1(current$$1, workInProgress, renderExpirationTime) {
9903
9906
 
9904
9907
  pushSuspenseContext(workInProgress, suspenseStackCursor.current);
9905
9908
 
9906
- if (hasChildWork) {
9909
+ if (_hasChildWork) {
9907
9910
  break;
9908
9911
  } else {
9909
9912
  // If none of the children had any work, that means that none of
@@ -10086,14 +10089,19 @@ function getSuspenseFallbackChild(fiber) {
10086
10089
  return fiber.child.sibling.child;
10087
10090
  }
10088
10091
 
10092
+ var emptyObject$1 = {};
10093
+
10089
10094
  function collectScopedNodes(node, fn, scopedNodes) {
10090
10095
  if (enableScopeAPI) {
10091
10096
  if (node.tag === HostComponent) {
10092
10097
  var _type = node.type,
10093
- memoizedProps = node.memoizedProps;
10098
+ memoizedProps = node.memoizedProps,
10099
+ stateNode = node.stateNode;
10094
10100
 
10095
- if (fn(_type, memoizedProps) === true) {
10096
- scopedNodes.push(getPublicInstance(node.stateNode));
10101
+ var _instance = getPublicInstance(stateNode);
10102
+
10103
+ if (_instance !== null && fn(_type, memoizedProps || emptyObject$1, _instance) === true) {
10104
+ scopedNodes.push(_instance);
10097
10105
  }
10098
10106
  }
10099
10107
 
@@ -10113,10 +10121,13 @@ function collectFirstScopedNode(node, fn) {
10113
10121
  if (enableScopeAPI) {
10114
10122
  if (node.tag === HostComponent) {
10115
10123
  var _type2 = node.type,
10116
- memoizedProps = node.memoizedProps;
10124
+ memoizedProps = node.memoizedProps,
10125
+ stateNode = node.stateNode;
10126
+
10127
+ var _instance2 = getPublicInstance(stateNode);
10117
10128
 
10118
- if (fn(_type2, memoizedProps) === true) {
10119
- return getPublicInstance(node.stateNode);
10129
+ if (_instance2 !== null && fn(_type2, memoizedProps, _instance2) === true) {
10130
+ return _instance2;
10120
10131
  }
10121
10132
  }
10122
10133
 
@@ -11000,12 +11011,12 @@ function completeWork(current, workInProgress, renderExpirationTime) {
11000
11011
  }
11001
11012
 
11002
11013
  if (nextDidTimeout && !prevDidTimeout) {
11003
- // If this subtreee is running in batched mode we can suspend,
11014
+ // If this subtreee is running in blocking mode we can suspend,
11004
11015
  // otherwise we won't suspend.
11005
11016
  // TODO: This will still suspend a synchronous tree if anything
11006
11017
  // in the concurrent tree already suspended during this render.
11007
11018
  // This is a known bug.
11008
- if ((workInProgress.mode & BatchedMode) !== NoMode) {
11019
+ if ((workInProgress.mode & BlockingMode) !== NoMode) {
11009
11020
  // TODO: Move this back to throwException because this is too late
11010
11021
  // if this is a large tree which is common for initial loads. We
11011
11022
  // don't know if we should restart a render or not until we get
@@ -11194,9 +11205,9 @@ function completeWork(current, workInProgress, renderExpirationTime) {
11194
11205
 
11195
11206
  cutOffTailIfNeeded(renderState, true); // This might have been modified.
11196
11207
 
11197
- if (renderState.tail === null && renderState.tailMode === 'hidden') {
11208
+ if (renderState.tail === null && renderState.tailMode === 'hidden' && !renderedTail.alternate) {
11198
11209
  // We need to delete the row we just rendered.
11199
- // Reset the effect list to what it w as before we rendered this
11210
+ // Reset the effect list to what it was before we rendered this
11200
11211
  // child. The nested children have already appended themselves.
11201
11212
  var lastEffect = workInProgress.lastEffect = renderState.lastEffect; // Remove any effects that were appended after this point.
11202
11213
 
@@ -13331,17 +13342,17 @@ function throwException(root, returnFiber, sourceFiber, value, renderExpirationT
13331
13342
  _workInProgress.updateQueue = updateQueue;
13332
13343
  } else {
13333
13344
  thenables.add(thenable);
13334
- } // If the boundary is outside of batched mode, we should *not*
13345
+ } // If the boundary is outside of blocking mode, we should *not*
13335
13346
  // suspend the commit. Pretend as if the suspended component rendered
13336
13347
  // null and keep rendering. In the commit phase, we'll schedule a
13337
13348
  // subsequent synchronous update to re-render the Suspense.
13338
13349
  //
13339
13350
  // Note: It doesn't matter whether the component that suspended was
13340
- // inside a batched mode tree. If the Suspense is outside of it, we
13351
+ // inside a blocking mode tree. If the Suspense is outside of it, we
13341
13352
  // should *not* suspend the commit.
13342
13353
 
13343
13354
 
13344
- if ((_workInProgress.mode & BatchedMode) === NoMode) {
13355
+ if ((_workInProgress.mode & BlockingMode) === NoMode) {
13345
13356
  _workInProgress.effectTag |= DidCapture; // We're going to commit this fiber even though it didn't complete.
13346
13357
  // But we shouldn't call any lifecycle methods or callbacks. Remove
13347
13358
  // all lifecycle effect tags.
@@ -13588,7 +13599,7 @@ function getCurrentTime() {
13588
13599
  function computeExpirationForFiber(currentTime, fiber, suspenseConfig) {
13589
13600
  var mode = fiber.mode;
13590
13601
 
13591
- if ((mode & BatchedMode) === NoMode) {
13602
+ if ((mode & BlockingMode) === NoMode) {
13592
13603
  return Sync;
13593
13604
  }
13594
13605
 
@@ -13689,7 +13700,7 @@ function scheduleUpdateOnFiber(fiber, expirationTime) {
13689
13700
  // a batch. This is intentionally inside scheduleUpdateOnFiber instead of
13690
13701
  // scheduleCallbackForFiber to preserve the ability to schedule a callback
13691
13702
  // without immediately flushing it. We only do this for user-initiated
13692
- // updates, to preserve historical behavior of sync mode.
13703
+ // updates, to preserve historical behavior of legacy mode.
13693
13704
  flushSyncCallbackQueue();
13694
13705
  }
13695
13706
  }
@@ -14911,7 +14922,16 @@ function commitRoot(root) {
14911
14922
  }
14912
14923
 
14913
14924
  function commitRootImpl(root, renderPriorityLevel) {
14914
- flushPassiveEffects();
14925
+ do {
14926
+ // `flushPassiveEffects` will call `flushSyncUpdateQueue` at the end, which
14927
+ // means `flushPassiveEffects` will sometimes result in additional
14928
+ // passive effects. So we need to keep flushing in a loop until there are
14929
+ // no more pending effects.
14930
+ // TODO: Might be better if `flushPassiveEffects` did not automatically
14931
+ // flush synchronous work at the end, to avoid factoring hazards like this.
14932
+ flushPassiveEffects();
14933
+ } while (rootWithPendingPassiveEffects !== null);
14934
+
14915
14935
  flushRenderPhaseStrictModeWarningsInDEV();
14916
14936
 
14917
14937
  if (!((executionContext & (RenderContext | CommitContext)) === NoContext)) {
@@ -15838,7 +15858,7 @@ var didWarnAboutUnmockedScheduler = false; // TODO Before we release concurrent
15838
15858
  function warnIfUnmockedScheduler(fiber) {
15839
15859
  {
15840
15860
  if (didWarnAboutUnmockedScheduler === false && Scheduler.unstable_flushAllWithoutAsserting === undefined) {
15841
- if (fiber.mode & BatchedMode || fiber.mode & ConcurrentMode) {
15861
+ if (fiber.mode & BlockingMode || fiber.mode & ConcurrentMode) {
15842
15862
  didWarnAboutUnmockedScheduler = true;
15843
15863
  warningWithoutStack$1(false, 'In Concurrent or Sync modes, the "scheduler" module needs to be mocked ' + 'to guarantee consistent behaviour across tests and browsers. ' + 'For example, with jest: \n' + "jest.mock('scheduler', () => require('scheduler/unstable_mock'));\n\n" + 'For more info, visit https://fb.me/react-mock-scheduler');
15844
15864
  } else if (warnAboutUnmockedScheduler === true) {
@@ -16481,9 +16501,9 @@ function createHostRootFiber(tag) {
16481
16501
  var mode;
16482
16502
 
16483
16503
  if (tag === ConcurrentRoot) {
16484
- mode = ConcurrentMode | BatchedMode | StrictMode;
16485
- } else if (tag === BatchedRoot) {
16486
- mode = BatchedMode | StrictMode;
16504
+ mode = ConcurrentMode | BlockingMode | StrictMode;
16505
+ } else if (tag === BlockingRoot) {
16506
+ mode = BlockingMode | StrictMode;
16487
16507
  } else {
16488
16508
  mode = NoMode;
16489
16509
  }
@@ -16525,7 +16545,7 @@ key, pendingProps, owner, mode, expirationTime) {
16525
16545
 
16526
16546
  case REACT_CONCURRENT_MODE_TYPE:
16527
16547
  fiberTag = Mode;
16528
- mode |= ConcurrentMode | BatchedMode | StrictMode;
16548
+ mode |= ConcurrentMode | BlockingMode | StrictMode;
16529
16549
  break;
16530
16550
 
16531
16551
  case REACT_STRICT_MODE_TYPE:
@@ -1,4 +1,4 @@
1
- /** @license React v0.23.0
1
+ /** @license React v0.24.0
2
2
  * react-reconciler.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -25,7 +25,7 @@ function Ab(a){var b="";do{a:switch(a.tag){case 3:case 4:case 6:case 7:case 10:c
25
25
  var Db={},A={current:Db},B={current:!1},Eb=Db;function Fb(a,b){var c=a.type.contextTypes;if(!c)return Db;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function C(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Gb(a){y(B,a);y(A,a)}
26
26
  function Hb(a){y(B,a);y(A,a)}function Ib(a,b,c){if(A.current!==Db)throw Error(n(168));z(A,b,a);z(B,c,a)}function Jb(a,b,c){var d=a.stateNode;a=b.childContextTypes;if("function"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in a))throw Error(n(108,ta(b)||"Unknown",e));return aa({},c,{},d)}function Kb(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||Db;Eb=A.current;z(A,b,a);z(B,B.current,a);return!0}
27
27
  function Lb(a,b,c){var d=a.stateNode;if(!d)throw Error(n(169));c?(b=Jb(a,b,Eb),d.__reactInternalMemoizedMergedChildContext=b,y(B,a),y(A,a),z(A,b,a)):y(B,a);z(B,c,a)}
28
- var Mb=m.unstable_runWithPriority,Nb=m.unstable_scheduleCallback,Ob=m.unstable_cancelCallback,Pb=m.unstable_shouldYield,Qb=m.unstable_requestPaint,Tb=m.unstable_now,Ub=m.unstable_getCurrentPriorityLevel,Vb=m.unstable_ImmediatePriority,Wb=m.unstable_UserBlockingPriority,Xb=m.unstable_NormalPriority,Yb=m.unstable_LowPriority,Zb=m.unstable_IdlePriority,$b={},ac=void 0!==Qb?Qb:function(){},bc=null,cc=null,dc=!1,ec=Tb(),E=1E4>ec?Tb:function(){return Tb()-ec};
28
+ var Mb=m.unstable_runWithPriority,Nb=m.unstable_scheduleCallback,Ob=m.unstable_cancelCallback,Pb=m.unstable_shouldYield,Qb=m.unstable_requestPaint,Rb=m.unstable_now,Ub=m.unstable_getCurrentPriorityLevel,Vb=m.unstable_ImmediatePriority,Wb=m.unstable_UserBlockingPriority,Xb=m.unstable_NormalPriority,Yb=m.unstable_LowPriority,Zb=m.unstable_IdlePriority,$b={},ac=void 0!==Qb?Qb:function(){},bc=null,cc=null,dc=!1,ec=Rb(),E=1E4>ec?Rb:function(){return Rb()-ec};
29
29
  function fc(){switch(Ub()){case Vb:return 99;case Wb:return 98;case Xb:return 97;case Yb:return 96;case Zb:return 95;default:throw Error(n(332));}}function gc(a){switch(a){case 99:return Vb;case 98:return Wb;case 97:return Xb;case 96:return Yb;case 95:return Zb;default:throw Error(n(332));}}function hc(a,b){a=gc(a);return Mb(a,b)}function ic(a,b,c){a=gc(a);return Nb(a,b,c)}function jc(a){null===bc?(bc=[a],cc=Nb(Vb,kc)):bc.push(a);return $b}function F(){if(null!==cc){var a=cc;cc=null;Ob(a)}kc()}
30
30
  function kc(){if(!dc&&null!==bc){dc=!0;var a=0;try{var b=bc;hc(99,function(){for(;a<b.length;a++){var c=b[a];do c=c(!0);while(null!==c)}});bc=null}catch(c){throw null!==bc&&(bc=bc.slice(a+1)),Nb(Vb,F),c;}finally{dc=!1}}}var lc=3;function mc(a,b,c){c/=10;return 1073741821-(((1073741821-a+b/10)/c|0)+1)*c}function nc(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var oc="function"===typeof Object.is?Object.is:nc,pc=Object.prototype.hasOwnProperty;
31
31
  function qc(a,b){if(oc(a,b))return!0;if("object"!==typeof a||null===a||"object"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++)if(!pc.call(b,c[d])||!oc(a[c[d]],b[c[d]]))return!1;return!0}function rc(a,b){if(a&&a.defaultProps){b=aa({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}var sc={current:null},tc=null,uc=null,vc=null;function wc(){vc=uc=tc=null}
@@ -135,23 +135,23 @@ function Wf(a,b){a.finishedWork=null;a.finishedExpirationTime=0;var c=a.timeoutH
135
135
  function Zf(a,b){do{try{wc();Nd();if(null===V||null===V.return)return X=uf,zf=b,null;a:{var c=a,d=V.return,e=V,f=b;b=W;e.effectTag|=2048;e.firstEffect=e.lastEffect=null;if(null!==f&&"object"===typeof f&&"function"===typeof f.then){var g=f,l=0!==(I.current&1),h=d;do{var k;if(k=13===h.tag){var p=h.memoizedState;if(null!==p)k=null!==p.dehydrated?!0:!1;else{var D=h.memoizedProps;k=void 0===D.fallback?!1:!0!==D.unstable_avoidThisFallback?!0:l?!1:!0}}if(k){var x=h.updateQueue;if(null===x){var K=new Set;
136
136
  K.add(g);h.updateQueue=K}else x.add(g);if(0===(h.mode&2)){h.effectTag|=64;e.effectTag&=-2981;if(1===e.tag)if(null===e.alternate)e.tag=17;else{var Ha=Gc(1073741823,null);Ha.tag=2;Ic(e,Ha)}e.expirationTime=1073741823;break a}f=void 0;e=b;var O=c.pingCache;null===O?(O=c.pingCache=new hf,f=new Set,O.set(g,f)):(f=O.get(g),void 0===f&&(f=new Set,O.set(g,f)));if(!f.has(e)){f.add(e);var w=fg.bind(null,c,g,e);g.then(w,w)}h.effectTag|=4096;h.expirationTime=b;break a}h=h.return}while(null!==h);f=Error((ta(e.type)||
137
137
  "A React component")+" suspended while rendering, but no fallback UI was specified.\n\nAdd a <Suspense fallback=...> component higher in the tree to provide a loading indicator or placeholder to display."+Ab(e))}X!==yf&&(X=vf);f=Ne(f,e);h=d;do{switch(h.tag){case 3:g=f;h.effectTag|=4096;h.expirationTime=b;var r=jf(h,g,b);Jc(h,r);break a;case 1:g=f;var t=h.type,N=h.stateNode;if(0===(h.effectTag&64)&&("function"===typeof t.getDerivedStateFromError||null!==N&&"function"===typeof N.componentDidCatch&&
138
- (null===nf||!nf.has(N)))){h.effectTag|=4096;h.expirationTime=b;var Mc=mf(h,g,b);Jc(h,Mc);break a}}h=h.return}while(null!==h)}V=gg(V)}catch(Rb){b=Rb;continue}break}while(1)}function Xf(){var a=pf.current;pf.current=Md;return null===a?Md:a}function Oc(a,b){a<Af&&2<a&&(Af=a);null!==b&&a<Bf&&2<a&&(Bf=a,Cf=b)}function Pc(a){a>Df&&(Df=a)}function bg(){for(;null!==V;)V=hg(V)}function Yf(){for(;null!==V&&!Pb();)V=hg(V)}
138
+ (null===nf||!nf.has(N)))){h.effectTag|=4096;h.expirationTime=b;var Mc=mf(h,g,b);Jc(h,Mc);break a}}h=h.return}while(null!==h)}V=gg(V)}catch(Sb){b=Sb;continue}break}while(1)}function Xf(){var a=pf.current;pf.current=Md;return null===a?Md:a}function Oc(a,b){a<Af&&2<a&&(Af=a);null!==b&&a<Bf&&2<a&&(Bf=a,Cf=b)}function Pc(a){a>Df&&(Df=a)}function bg(){for(;null!==V;)V=hg(V)}function Yf(){for(;null!==V&&!Pb();)V=hg(V)}
139
139
  function hg(a){var b=ig(a.alternate,a,W);a.memoizedProps=a.pendingProps;null===b&&(b=gg(a));qf.current=null;return b}
140
140
  function gg(a){V=a;do{var b=V.alternate;a=V.return;if(0===(V.effectTag&2048)){a:{var c=b;b=V;var d=W,e=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:C(b.type)&&Gb(b);break;case 3:rd(b);Hb(b);e=b.stateNode;e.pendingContext&&(e.context=e.pendingContext,e.pendingContext=null);(null===c||null===c.child)&&ne(b)&&Fe(b);He(b);break;case 5:td(b);var f=pd(od.current);d=b.type;if(null!==c&&null!=b.stateNode)Ie(c,b,d,e,f),c.ref!==b.ref&&(b.effectTag|=128);else if(e){c=pd(H.current);
141
141
  if(ne(b)){e=b;if(!Sa)throw Error(n(175));c=ub(e.stateNode,e.type,e.memoizedProps,f,c,e);e.updateQueue=c;c=null!==c?!0:!1;c&&Fe(b)}else{var g=Ea(d,e,f,c,b);Ge(g,b,!1,!1);b.stateNode=g;Ga(g,d,e,f,c)&&Fe(b)}null!==b.ref&&(b.effectTag|=128)}else if(null===b.stateNode)throw Error(n(166));break;case 6:if(c&&null!=b.stateNode)Je(c,b,c.memoizedProps,e);else{if("string"!==typeof e&&null===b.stateNode)throw Error(n(166));c=pd(od.current);f=pd(H.current);if(ne(b)){c=b;if(!Sa)throw Error(n(176));(c=vb(c.stateNode,
142
142
  c.memoizedProps,c))&&Fe(b)}else b.stateNode=La(e,c,f,b)}break;case 11:break;case 13:y(I,b);e=b.memoizedState;if(0!==(b.effectTag&64)){b.expirationTime=d;break a}e=null!==e;f=!1;null===c?void 0!==b.memoizedProps.fallback&&ne(b):(d=c.memoizedState,f=null!==d,e||null===d||(d=c.child.sibling,null!==d&&(g=b.firstEffect,null!==g?(b.firstEffect=d,d.nextEffect=g):(b.firstEffect=b.lastEffect=d,d.nextEffect=null),d.effectTag=8)));if(e&&!f&&0!==(b.mode&2))if(null===c&&!0!==b.memoizedProps.unstable_avoidThisFallback||
143
143
  0!==(I.current&1))X===tf&&(X=wf);else{if(X===tf||X===wf)X=xf;0!==Df&&null!==U&&(Pf(U,W),Qf(U,Df))}Ra&&e&&(b.effectTag|=4);Qa&&(e||f)&&(b.effectTag|=4);break;case 7:break;case 8:break;case 12:break;case 4:rd(b);He(b);break;case 10:yc(b);break;case 9:break;case 14:break;case 17:C(b.type)&&Gb(b);break;case 19:y(I,b);e=b.memoizedState;if(null===e)break;f=0!==(b.effectTag&64);g=e.rendering;if(null===g)if(f)Le(e,!1);else{if(X!==tf||null!==c&&0!==(c.effectTag&64))for(c=b.child;null!==c;){g=ud(c);if(null!==
144
144
  g){b.effectTag|=64;Le(e,!1);c=g.updateQueue;null!==c&&(b.updateQueue=c,b.effectTag|=4);null===e.lastEffect&&(b.firstEffect=null);b.lastEffect=e.lastEffect;c=d;for(e=b.child;null!==e;)f=e,d=c,f.effectTag&=2,f.nextEffect=null,f.firstEffect=null,f.lastEffect=null,g=f.alternate,null===g?(f.childExpirationTime=0,f.expirationTime=d,f.child=null,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null):(f.childExpirationTime=g.childExpirationTime,f.expirationTime=g.expirationTime,
145
- f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,d=g.dependencies,f.dependencies=null===d?null:{expirationTime:d.expirationTime,firstContext:d.firstContext,responders:d.responders}),e=e.sibling;z(I,I.current&1|2,b);b=b.child;break a}c=c.sibling}}else{if(!f)if(c=ud(g),null!==c){if(b.effectTag|=64,f=!0,c=c.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),Le(e,!0),null===e.tail&&"hidden"===e.tailMode){b=b.lastEffect=e.lastEffect;null!==
146
- b&&(b.nextEffect=null);break}}else E()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,Le(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(g.sibling=b.child,b.child=g):(c=e.last,null!==c?c.sibling=g:b.child=g,e.last=g)}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=E()+500);c=e.tail;e.rendering=c;e.tail=c.sibling;e.lastEffect=b.lastEffect;c.sibling=null;e=I.current;e=f?e&1|2:e&1;z(I,e,b);b=c;break a}break;case 20:break;case 21:break;default:throw Error(n(156,b.tag));}b=null}c=
147
- V;if(1===W||1!==c.childExpirationTime){e=0;for(f=c.child;null!==f;)d=f.expirationTime,g=f.childExpirationTime,d>e&&(e=d),g>e&&(e=g),f=f.sibling;c.childExpirationTime=e}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1<V.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=V:a.firstEffect=V,a.lastEffect=V))}else{b=Me(V,W);if(null!==
148
- b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=V.sibling;if(null!==b)return b;V=a}while(null!==V);X===tf&&(X=yf);return null}function $f(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function ag(a){var b=fc();hc(99,jg.bind(null,a,b));return null}
149
- function jg(a,b){Vf();if((T&(S|sf))!==R)throw Error(n(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(n(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=$f(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=d-1);d<=a.lastPingedTime&&
150
- (a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=T;T|=sf;qf.current=null;Ca(a.containerInfo);Y=e;do try{kg()}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(var g=a,l=b;null!==Y;){var h=Y.effectTag;h&16&&Qa&&bb(Y.stateNode);if(h&128){var k=Y.alternate;if(null!==k){var p=k.ref;null!==p&&("function"===
151
- typeof p?p(null):p.current=null)}}switch(h&1038){case 2:bf(Y);Y.effectTag&=-3;break;case 6:bf(Y);Y.effectTag&=-3;cf(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=-1025;cf(Y.alternate,Y);break;case 4:cf(Y.alternate,Y);break;case 8:var D=g,x=Y,K=l;Qa?Xe(D,x,K):Ze(D,x,K);$e(x)}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Da(a.containerInfo);a.current=c;Y=e;do try{for(h=d;null!==Y;){var Ha=Y.effectTag;if(Ha&36){var O=
152
- Y.alternate;k=Y;p=h;switch(k.tag){case 0:case 11:case 15:Ue(16,32,k);break;case 1:var w=k.stateNode;if(k.effectTag&4)if(null===O)w.componentDidMount();else{var r=k.elementType===k.type?O.memoizedProps:rc(k.type,O.memoizedProps);w.componentDidUpdate(r,O.memoizedState,w.__reactInternalSnapshotBeforeUpdate)}var t=k.updateQueue;null!==t&&Qc(k,t,w,p);break;case 3:var N=k.updateQueue;if(null!==N){g=null;if(null!==k.child)switch(k.child.tag){case 5:g=za(k.child.stateNode);break;case 1:g=k.child.stateNode}Qc(k,
153
- N,g,p)}break;case 5:var Mc=k.stateNode;null===O&&k.effectTag&4&&Wa(Mc,k.type,k.memoizedProps,k);break;case 6:break;case 4:break;case 12:break;case 13:if(Sa&&null===k.memoizedState){var Rb=k.alternate;if(null!==Rb){var le=Rb.memoizedState;if(null!==le){var me=le.dehydrated;null!==me&&yb(me)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163));}}if(Ha&128){k=void 0;var Sb=Y.ref;if(null!==Sb){var v=Y.stateNode;switch(Y.tag){case 5:k=za(v);break;default:k=v}"function"===typeof Sb?
154
- Sb(k):Sb.current=k}}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=null;ac();T=f}else a.current=c;if(Gf)Gf=!1,Hf=a,If=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(nf=null);1073741823===b?a===Lf?Kf++:(Kf=0,Lf=a):Kf=0;"function"===typeof lg&&lg(c.stateNode,d);Z(a);if(kf)throw kf=!1,a=lf,lf=null,a;if((T&rf)!==R)return null;F();return null}
145
+ f.child=g.child,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,d=g.dependencies,f.dependencies=null===d?null:{expirationTime:d.expirationTime,firstContext:d.firstContext,responders:d.responders}),e=e.sibling;z(I,I.current&1|2,b);b=b.child;break a}c=c.sibling}}else{if(!f)if(c=ud(g),null!==c){if(b.effectTag|=64,f=!0,c=c.updateQueue,null!==c&&(b.updateQueue=c,b.effectTag|=4),Le(e,!0),null===e.tail&&"hidden"===e.tailMode&&!g.alternate){b=b.lastEffect=e.lastEffect;
146
+ null!==b&&(b.nextEffect=null);break}}else E()>e.tailExpiration&&1<d&&(b.effectTag|=64,f=!0,Le(e,!1),b.expirationTime=b.childExpirationTime=d-1);e.isBackwards?(g.sibling=b.child,b.child=g):(c=e.last,null!==c?c.sibling=g:b.child=g,e.last=g)}if(null!==e.tail){0===e.tailExpiration&&(e.tailExpiration=E()+500);c=e.tail;e.rendering=c;e.tail=c.sibling;e.lastEffect=b.lastEffect;c.sibling=null;e=I.current;e=f?e&1|2:e&1;z(I,e,b);b=c;break a}break;case 20:break;case 21:break;default:throw Error(n(156,b.tag));
147
+ }b=null}c=V;if(1===W||1!==c.childExpirationTime){e=0;for(f=c.child;null!==f;)d=f.expirationTime,g=f.childExpirationTime,d>e&&(e=d),g>e&&(e=g),f=f.sibling;c.childExpirationTime=e}if(null!==b)return b;null!==a&&0===(a.effectTag&2048)&&(null===a.firstEffect&&(a.firstEffect=V.firstEffect),null!==V.lastEffect&&(null!==a.lastEffect&&(a.lastEffect.nextEffect=V.firstEffect),a.lastEffect=V.lastEffect),1<V.effectTag&&(null!==a.lastEffect?a.lastEffect.nextEffect=V:a.firstEffect=V,a.lastEffect=V))}else{b=Me(V,
148
+ W);if(null!==b)return b.effectTag&=2047,b;null!==a&&(a.firstEffect=a.lastEffect=null,a.effectTag|=2048)}b=V.sibling;if(null!==b)return b;V=a}while(null!==V);X===tf&&(X=yf);return null}function $f(a){var b=a.expirationTime;a=a.childExpirationTime;return b>a?b:a}function ag(a){var b=fc();hc(99,jg.bind(null,a,b));return null}
149
+ function jg(a,b){do Vf();while(null!==Hf);if((T&(S|sf))!==R)throw Error(n(327));var c=a.finishedWork,d=a.finishedExpirationTime;if(null===c)return null;a.finishedWork=null;a.finishedExpirationTime=0;if(c===a.current)throw Error(n(177));a.callbackNode=null;a.callbackExpirationTime=0;a.callbackPriority=90;a.nextKnownPendingLevel=0;var e=$f(c);a.firstPendingTime=e;d<=a.lastSuspendedTime?a.firstSuspendedTime=a.lastSuspendedTime=a.nextKnownPendingLevel=0:d<=a.firstSuspendedTime&&(a.firstSuspendedTime=
150
+ d-1);d<=a.lastPingedTime&&(a.lastPingedTime=0);d<=a.lastExpiredTime&&(a.lastExpiredTime=0);a===U&&(V=U=null,W=0);1<c.effectTag?null!==c.lastEffect?(c.lastEffect.nextEffect=c,e=c.firstEffect):e=c:e=c.firstEffect;if(null!==e){var f=T;T|=sf;qf.current=null;Ca(a.containerInfo);Y=e;do try{kg()}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=e;do try{for(var g=a,l=b;null!==Y;){var h=Y.effectTag;h&16&&Qa&&bb(Y.stateNode);if(h&128){var k=Y.alternate;if(null!==k){var p=
151
+ k.ref;null!==p&&("function"===typeof p?p(null):p.current=null)}}switch(h&1038){case 2:bf(Y);Y.effectTag&=-3;break;case 6:bf(Y);Y.effectTag&=-3;cf(Y.alternate,Y);break;case 1024:Y.effectTag&=-1025;break;case 1028:Y.effectTag&=-1025;cf(Y.alternate,Y);break;case 4:cf(Y.alternate,Y);break;case 8:var D=g,x=Y,K=l;Qa?Xe(D,x,K):Ze(D,x,K);$e(x)}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Da(a.containerInfo);a.current=c;Y=e;do try{for(h=d;null!==Y;){var Ha=
152
+ Y.effectTag;if(Ha&36){var O=Y.alternate;k=Y;p=h;switch(k.tag){case 0:case 11:case 15:Ue(16,32,k);break;case 1:var w=k.stateNode;if(k.effectTag&4)if(null===O)w.componentDidMount();else{var r=k.elementType===k.type?O.memoizedProps:rc(k.type,O.memoizedProps);w.componentDidUpdate(r,O.memoizedState,w.__reactInternalSnapshotBeforeUpdate)}var t=k.updateQueue;null!==t&&Qc(k,t,w,p);break;case 3:var N=k.updateQueue;if(null!==N){g=null;if(null!==k.child)switch(k.child.tag){case 5:g=za(k.child.stateNode);break;
153
+ case 1:g=k.child.stateNode}Qc(k,N,g,p)}break;case 5:var Mc=k.stateNode;null===O&&k.effectTag&4&&Wa(Mc,k.type,k.memoizedProps,k);break;case 6:break;case 4:break;case 12:break;case 13:if(Sa&&null===k.memoizedState){var Sb=k.alternate;if(null!==Sb){var le=Sb.memoizedState;if(null!==le){var me=le.dehydrated;null!==me&&yb(me)}}}break;case 19:case 17:case 20:case 21:break;default:throw Error(n(163));}}if(Ha&128){k=void 0;var Tb=Y.ref;if(null!==Tb){var v=Y.stateNode;switch(Y.tag){case 5:k=za(v);break;default:k=
154
+ v}"function"===typeof Tb?Tb(k):Tb.current=k}}Y=Y.nextEffect}}catch(jb){if(null===Y)throw Error(n(330));Re(Y,jb);Y=Y.nextEffect}while(null!==Y);Y=null;ac();T=f}else a.current=c;if(Gf)Gf=!1,Hf=a,If=b;else for(Y=e;null!==Y;)b=Y.nextEffect,Y.nextEffect=null,Y=b;b=a.firstPendingTime;0===b&&(nf=null);1073741823===b?a===Lf?Kf++:(Kf=0,Lf=a):Kf=0;"function"===typeof lg&&lg(c.stateNode,d);Z(a);if(kf)throw kf=!1,a=lf,lf=null,a;if((T&rf)!==R)return null;F();return null}
155
155
  function kg(){for(;null!==Y;){var a=Y.effectTag;0!==(a&256)&&Te(Y.alternate,Y);0===(a&512)||Gf||(Gf=!0,ic(97,function(){Vf();return null}));Y=Y.nextEffect}}function Vf(){if(90!==If){var a=97<If?97:If;If=90;return hc(a,mg)}}
156
156
  function mg(){if(null===Hf)return!1;var a=Hf;Hf=null;if((T&(S|sf))!==R)throw Error(n(331));var b=T;T|=sf;for(a=a.current.firstEffect;null!==a;){try{var c=a;if(0!==(c.effectTag&512))switch(c.tag){case 0:case 11:case 15:Ue(128,0,c),Ue(0,64,c)}}catch(d){if(null===a)throw Error(n(330));Re(a,d)}c=a.nextEffect;a.nextEffect=null;a=c}T=b;F();return!0}function ng(a,b,c){b=Ne(c,b);b=jf(a,b,1073741823);Ic(a,b);a=Nf(a,1073741823);null!==a&&Z(a)}
157
157
  function Re(a,b){if(3===a.tag)ng(a,a,b);else for(var c=a.return;null!==c;){if(3===c.tag){ng(c,a,b);break}else if(1===c.tag){var d=c.stateNode;if("function"===typeof c.type.getDerivedStateFromError||"function"===typeof d.componentDidCatch&&(null===nf||!nf.has(d))){a=Ne(b,a);a=mf(c,a,1073741823);Ic(c,a);c=Nf(c,1073741823);null!==c&&Z(c);break}}c=c.return}}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-reconciler",
3
3
  "description": "React package for creating custom renderers.",
4
- "version": "0.23.0",
4
+ "version": "0.24.0",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
@@ -33,7 +33,7 @@
33
33
  "loose-envify": "^1.1.0",
34
34
  "object-assign": "^4.1.1",
35
35
  "prop-types": "^15.6.2",
36
- "scheduler": "^0.17.0"
36
+ "scheduler": "^0.18.0"
37
37
  },
38
38
  "browserify": {
39
39
  "transform": [