react-dom 16.8.3 → 16.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/build-info.json +5 -5
  2. package/cjs/react-dom-server.browser.development.js +2 -2
  3. package/cjs/react-dom-server.browser.production.min.js +2 -2
  4. package/cjs/react-dom-server.node.development.js +2 -2
  5. package/cjs/react-dom-server.node.production.min.js +2 -2
  6. package/cjs/react-dom-test-utils.development.js +1 -1
  7. package/cjs/react-dom-test-utils.production.min.js +1 -1
  8. package/cjs/react-dom-unstable-fire.development.js +224 -66
  9. package/cjs/react-dom-unstable-fire.production.min.js +2 -2
  10. package/cjs/react-dom-unstable-fire.profiling.min.js +2 -2
  11. package/cjs/react-dom-unstable-fizz.browser.development.js +1 -1
  12. package/cjs/react-dom-unstable-fizz.browser.production.min.js +1 -1
  13. package/cjs/react-dom-unstable-fizz.node.development.js +1 -1
  14. package/cjs/react-dom-unstable-fizz.node.production.min.js +1 -1
  15. package/cjs/react-dom-unstable-native-dependencies.development.js +1 -1
  16. package/cjs/react-dom-unstable-native-dependencies.production.min.js +1 -1
  17. package/cjs/react-dom.development.js +224 -66
  18. package/cjs/react-dom.production.min.js +2 -2
  19. package/cjs/react-dom.profiling.min.js +2 -2
  20. package/package.json +2 -2
  21. package/umd/react-dom-server.browser.development.js +2 -2
  22. package/umd/react-dom-server.browser.production.min.js +2 -2
  23. package/umd/react-dom-test-utils.development.js +1 -1
  24. package/umd/react-dom-test-utils.production.min.js +1 -1
  25. package/umd/react-dom-unstable-fire.development.js +224 -66
  26. package/umd/react-dom-unstable-fire.production.min.js +2 -2
  27. package/umd/react-dom-unstable-fire.profiling.min.js +2 -2
  28. package/umd/react-dom-unstable-fizz.browser.development.js +1 -1
  29. package/umd/react-dom-unstable-fizz.browser.production.min.js +1 -1
  30. package/umd/react-dom-unstable-native-dependencies.development.js +1 -1
  31. package/umd/react-dom-unstable-native-dependencies.production.min.js +1 -1
  32. package/umd/react-dom.development.js +224 -66
  33. package/umd/react-dom.production.min.js +2 -2
  34. package/umd/react-dom.profiling.min.js +2 -2
@@ -1,4 +1,4 @@
1
- /** @license React v16.8.3
1
+ /** @license React v16.8.4
2
2
  * react-dom-unstable-fire.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -10005,6 +10005,7 @@ function FiberNode(tag, pendingProps, key, mode) {
10005
10005
  this._debugSource = null;
10006
10006
  this._debugOwner = null;
10007
10007
  this._debugIsCurrentlyTiming = false;
10008
+ this._debugHookTypes = null;
10008
10009
  if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') {
10009
10010
  Object.preventExtensions(this);
10010
10011
  }
@@ -10072,6 +10073,7 @@ function createWorkInProgress(current, pendingProps, expirationTime) {
10072
10073
  workInProgress._debugID = current._debugID;
10073
10074
  workInProgress._debugSource = current._debugSource;
10074
10075
  workInProgress._debugOwner = current._debugOwner;
10076
+ workInProgress._debugHookTypes = current._debugHookTypes;
10075
10077
  }
10076
10078
 
10077
10079
  workInProgress.alternate = current;
@@ -10339,6 +10341,7 @@ function assignFiberPropertiesInDEV(target, source) {
10339
10341
  target._debugSource = source._debugSource;
10340
10342
  target._debugOwner = source._debugOwner;
10341
10343
  target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming;
10344
+ target._debugHookTypes = source._debugHookTypes;
10342
10345
  return target;
10343
10346
  }
10344
10347
 
@@ -12724,7 +12727,6 @@ var currentlyRenderingFiber$1 = null;
12724
12727
  // current hook list is the list that belongs to the current fiber. The
12725
12728
  // work-in-progress hook list is a new list that will be added to the
12726
12729
  // work-in-progress fiber.
12727
- var firstCurrentHook = null;
12728
12730
  var currentHook = null;
12729
12731
  var nextCurrentHook = null;
12730
12732
  var firstWorkInProgressHook = null;
@@ -12754,39 +12756,67 @@ var RE_RENDER_LIMIT = 25;
12754
12756
  // In DEV, this is the name of the currently executing primitive hook
12755
12757
  var currentHookNameInDev = null;
12756
12758
 
12757
- function warnOnHookMismatchInDev() {
12759
+ // In DEV, this list ensures that hooks are called in the same order between renders.
12760
+ // The list stores the order of hooks used during the initial render (mount).
12761
+ // Subsequent renders (updates) reference this list.
12762
+ var hookTypesDev = null;
12763
+ var hookTypesUpdateIndexDev = -1;
12764
+
12765
+ function mountHookTypesDev() {
12766
+ {
12767
+ var hookName = currentHookNameInDev;
12768
+
12769
+ if (hookTypesDev === null) {
12770
+ hookTypesDev = [hookName];
12771
+ } else {
12772
+ hookTypesDev.push(hookName);
12773
+ }
12774
+ }
12775
+ }
12776
+
12777
+ function updateHookTypesDev() {
12778
+ {
12779
+ var hookName = currentHookNameInDev;
12780
+
12781
+ if (hookTypesDev !== null) {
12782
+ hookTypesUpdateIndexDev++;
12783
+ if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) {
12784
+ warnOnHookMismatchInDev(hookName);
12785
+ }
12786
+ }
12787
+ }
12788
+ }
12789
+
12790
+ function warnOnHookMismatchInDev(currentHookName) {
12758
12791
  {
12759
12792
  var componentName = getComponentName(currentlyRenderingFiber$1.type);
12760
12793
  if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) {
12761
12794
  didWarnAboutMismatchedHooksForComponent.add(componentName);
12762
12795
 
12763
- var secondColumnStart = 22;
12796
+ if (hookTypesDev !== null) {
12797
+ var table = '';
12764
12798
 
12765
- var table = '';
12766
- var prevHook = firstCurrentHook;
12767
- var nextHook = firstWorkInProgressHook;
12768
- var n = 1;
12769
- while (prevHook !== null && nextHook !== null) {
12770
- var oldHookName = prevHook._debugType;
12771
- var newHookName = nextHook._debugType;
12799
+ var secondColumnStart = 30;
12772
12800
 
12773
- var row = n + '. ' + oldHookName;
12801
+ for (var i = 0; i <= hookTypesUpdateIndexDev; i++) {
12802
+ var oldHookName = hookTypesDev[i];
12803
+ var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName;
12774
12804
 
12775
- // Extra space so second column lines up
12776
- // lol @ IE not supporting String#repeat
12777
- while (row.length < secondColumnStart) {
12778
- row += ' ';
12779
- }
12805
+ var row = i + 1 + '. ' + oldHookName;
12780
12806
 
12781
- row += newHookName + '\n';
12807
+ // Extra space so second column lines up
12808
+ // lol @ IE not supporting String#repeat
12809
+ while (row.length < secondColumnStart) {
12810
+ row += ' ';
12811
+ }
12782
12812
 
12783
- table += row;
12784
- prevHook = prevHook.next;
12785
- nextHook = nextHook.next;
12786
- n++;
12787
- }
12813
+ row += newHookName + '\n';
12814
+
12815
+ table += row;
12816
+ }
12788
12817
 
12789
- warning$1(false, 'React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + ' Previous render Next render\n' + ' -------------------------------\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table);
12818
+ warning$1(false, 'React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + ' Previous render Next render\n' + ' ------------------------------------------------------\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table);
12819
+ }
12790
12820
  }
12791
12821
  }
12792
12822
  }
@@ -12822,7 +12852,12 @@ function areHookInputsEqual(nextDeps, prevDeps) {
12822
12852
  function renderWithHooks(current, workInProgress, Component, props, refOrContext, nextRenderExpirationTime) {
12823
12853
  renderExpirationTime = nextRenderExpirationTime;
12824
12854
  currentlyRenderingFiber$1 = workInProgress;
12825
- firstCurrentHook = nextCurrentHook = current !== null ? current.memoizedState : null;
12855
+ nextCurrentHook = current !== null ? current.memoizedState : null;
12856
+
12857
+ {
12858
+ hookTypesDev = current !== null ? current._debugHookTypes : null;
12859
+ hookTypesUpdateIndexDev = -1;
12860
+ }
12826
12861
 
12827
12862
  // The following should have already been reset
12828
12863
  // currentHook = null;
@@ -12836,8 +12871,26 @@ function renderWithHooks(current, workInProgress, Component, props, refOrContext
12836
12871
  // numberOfReRenders = 0;
12837
12872
  // sideEffectTag = 0;
12838
12873
 
12874
+ // TODO Warn if no hooks are used at all during mount, then some are used during update.
12875
+ // Currently we will identify the update render as a mount because nextCurrentHook === null.
12876
+ // This is tricky because it's valid for certain types of components (e.g. React.lazy)
12877
+
12878
+ // Using nextCurrentHook to differentiate between mount/update only works if at least one stateful hook is used.
12879
+ // Non-stateful hooks (e.g. context) don't get added to memoizedState,
12880
+ // so nextCurrentHook would be null during updates and mounts.
12839
12881
  {
12840
- ReactCurrentDispatcher$1.current = nextCurrentHook === null ? HooksDispatcherOnMountInDEV : HooksDispatcherOnUpdateInDEV;
12882
+ if (nextCurrentHook !== null) {
12883
+ ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;
12884
+ } else if (hookTypesDev !== null) {
12885
+ // This dispatcher handles an edge case where a component is updating,
12886
+ // but no stateful hooks have been used.
12887
+ // We want to match the production code behavior (which will use HooksDispatcherOnMount),
12888
+ // but with the extra DEV validation to ensure hooks ordering hasn't changed.
12889
+ // This dispatcher does that.
12890
+ ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV;
12891
+ } else {
12892
+ ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV;
12893
+ }
12841
12894
  }
12842
12895
 
12843
12896
  var children = Component(props, refOrContext);
@@ -12848,13 +12901,18 @@ function renderWithHooks(current, workInProgress, Component, props, refOrContext
12848
12901
  numberOfReRenders += 1;
12849
12902
 
12850
12903
  // Start over from the beginning of the list
12851
- firstCurrentHook = nextCurrentHook = current !== null ? current.memoizedState : null;
12904
+ nextCurrentHook = current !== null ? current.memoizedState : null;
12852
12905
  nextWorkInProgressHook = firstWorkInProgressHook;
12853
12906
 
12854
12907
  currentHook = null;
12855
12908
  workInProgressHook = null;
12856
12909
  componentUpdateQueue = null;
12857
12910
 
12911
+ {
12912
+ // Also validate hook order for cascading updates.
12913
+ hookTypesUpdateIndexDev = -1;
12914
+ }
12915
+
12858
12916
  ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV;
12859
12917
 
12860
12918
  children = Component(props, refOrContext);
@@ -12864,10 +12922,6 @@ function renderWithHooks(current, workInProgress, Component, props, refOrContext
12864
12922
  numberOfReRenders = 0;
12865
12923
  }
12866
12924
 
12867
- {
12868
- currentHookNameInDev = null;
12869
- }
12870
-
12871
12925
  // We can assume the previous dispatcher is always this one, since we set it
12872
12926
  // at the beginning of the render phase and there's no re-entrancy.
12873
12927
  ReactCurrentDispatcher$1.current = ContextOnlyDispatcher;
@@ -12879,18 +12933,29 @@ function renderWithHooks(current, workInProgress, Component, props, refOrContext
12879
12933
  renderedWork.updateQueue = componentUpdateQueue;
12880
12934
  renderedWork.effectTag |= sideEffectTag;
12881
12935
 
12936
+ {
12937
+ renderedWork._debugHookTypes = hookTypesDev;
12938
+ }
12939
+
12940
+ // This check uses currentHook so that it works the same in DEV and prod bundles.
12941
+ // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles.
12882
12942
  var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null;
12883
12943
 
12884
12944
  renderExpirationTime = NoWork;
12885
12945
  currentlyRenderingFiber$1 = null;
12886
12946
 
12887
- firstCurrentHook = null;
12888
12947
  currentHook = null;
12889
12948
  nextCurrentHook = null;
12890
12949
  firstWorkInProgressHook = null;
12891
12950
  workInProgressHook = null;
12892
12951
  nextWorkInProgressHook = null;
12893
12952
 
12953
+ {
12954
+ currentHookNameInDev = null;
12955
+ hookTypesDev = null;
12956
+ hookTypesUpdateIndexDev = -1;
12957
+ }
12958
+
12894
12959
  remainingExpirationTime = NoWork;
12895
12960
  componentUpdateQueue = null;
12896
12961
  sideEffectTag = 0;
@@ -12924,21 +12989,23 @@ function resetHooks() {
12924
12989
  renderExpirationTime = NoWork;
12925
12990
  currentlyRenderingFiber$1 = null;
12926
12991
 
12927
- firstCurrentHook = null;
12928
12992
  currentHook = null;
12929
12993
  nextCurrentHook = null;
12930
12994
  firstWorkInProgressHook = null;
12931
12995
  workInProgressHook = null;
12932
12996
  nextWorkInProgressHook = null;
12933
12997
 
12934
- remainingExpirationTime = NoWork;
12935
- componentUpdateQueue = null;
12936
- sideEffectTag = 0;
12937
-
12938
12998
  {
12999
+ hookTypesDev = null;
13000
+ hookTypesUpdateIndexDev = -1;
13001
+
12939
13002
  currentHookNameInDev = null;
12940
13003
  }
12941
13004
 
13005
+ remainingExpirationTime = NoWork;
13006
+ componentUpdateQueue = null;
13007
+ sideEffectTag = 0;
13008
+
12942
13009
  didScheduleRenderPhaseUpdate = false;
12943
13010
  renderPhaseUpdates = null;
12944
13011
  numberOfReRenders = 0;
@@ -12955,9 +13022,6 @@ function mountWorkInProgressHook() {
12955
13022
  next: null
12956
13023
  };
12957
13024
 
12958
- {
12959
- hook._debugType = currentHookNameInDev;
12960
- }
12961
13025
  if (workInProgressHook === null) {
12962
13026
  // This is the first hook in the list
12963
13027
  firstWorkInProgressHook = workInProgressHook = hook;
@@ -13004,13 +13068,6 @@ function updateWorkInProgressHook() {
13004
13068
  workInProgressHook = workInProgressHook.next = newHook;
13005
13069
  }
13006
13070
  nextCurrentHook = currentHook.next;
13007
-
13008
- {
13009
- newHook._debugType = currentHookNameInDev;
13010
- if (currentHookNameInDev !== currentHook._debugType) {
13011
- warnOnHookMismatchInDev();
13012
- }
13013
- }
13014
13071
  }
13015
13072
  return workInProgressHook;
13016
13073
  }
@@ -13025,20 +13082,6 @@ function basicStateReducer(state, action) {
13025
13082
  return typeof action === 'function' ? action(state) : action;
13026
13083
  }
13027
13084
 
13028
- function mountContext(context, observedBits) {
13029
- {
13030
- mountWorkInProgressHook();
13031
- }
13032
- return readContext(context, observedBits);
13033
- }
13034
-
13035
- function updateContext(context, observedBits) {
13036
- {
13037
- updateWorkInProgressHook();
13038
- }
13039
- return readContext(context, observedBits);
13040
- }
13041
-
13042
13085
  function mountReducer(reducer, initialArg, init) {
13043
13086
  var hook = mountWorkInProgressHook();
13044
13087
  var initialState = void 0;
@@ -13531,6 +13574,7 @@ var ContextOnlyDispatcher = {
13531
13574
  };
13532
13575
 
13533
13576
  var HooksDispatcherOnMountInDEV = null;
13577
+ var HooksDispatcherOnMountWithHookTypesInDEV = null;
13534
13578
  var HooksDispatcherOnUpdateInDEV = null;
13535
13579
  var InvalidNestedHooksDispatcherOnMountInDEV = null;
13536
13580
  var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
@@ -13550,26 +13594,106 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13550
13594
  },
13551
13595
  useCallback: function (callback, deps) {
13552
13596
  currentHookNameInDev = 'useCallback';
13597
+ mountHookTypesDev();
13598
+ return mountCallback(callback, deps);
13599
+ },
13600
+ useContext: function (context, observedBits) {
13601
+ currentHookNameInDev = 'useContext';
13602
+ mountHookTypesDev();
13603
+ return readContext(context, observedBits);
13604
+ },
13605
+ useEffect: function (create, deps) {
13606
+ currentHookNameInDev = 'useEffect';
13607
+ mountHookTypesDev();
13608
+ return mountEffect(create, deps);
13609
+ },
13610
+ useImperativeHandle: function (ref, create, deps) {
13611
+ currentHookNameInDev = 'useImperativeHandle';
13612
+ mountHookTypesDev();
13613
+ return mountImperativeHandle(ref, create, deps);
13614
+ },
13615
+ useLayoutEffect: function (create, deps) {
13616
+ currentHookNameInDev = 'useLayoutEffect';
13617
+ mountHookTypesDev();
13618
+ return mountLayoutEffect(create, deps);
13619
+ },
13620
+ useMemo: function (create, deps) {
13621
+ currentHookNameInDev = 'useMemo';
13622
+ mountHookTypesDev();
13623
+ var prevDispatcher = ReactCurrentDispatcher$1.current;
13624
+ ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13625
+ try {
13626
+ return mountMemo(create, deps);
13627
+ } finally {
13628
+ ReactCurrentDispatcher$1.current = prevDispatcher;
13629
+ }
13630
+ },
13631
+ useReducer: function (reducer, initialArg, init) {
13632
+ currentHookNameInDev = 'useReducer';
13633
+ mountHookTypesDev();
13634
+ var prevDispatcher = ReactCurrentDispatcher$1.current;
13635
+ ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13636
+ try {
13637
+ return mountReducer(reducer, initialArg, init);
13638
+ } finally {
13639
+ ReactCurrentDispatcher$1.current = prevDispatcher;
13640
+ }
13641
+ },
13642
+ useRef: function (initialValue) {
13643
+ currentHookNameInDev = 'useRef';
13644
+ mountHookTypesDev();
13645
+ return mountRef(initialValue);
13646
+ },
13647
+ useState: function (initialState) {
13648
+ currentHookNameInDev = 'useState';
13649
+ mountHookTypesDev();
13650
+ var prevDispatcher = ReactCurrentDispatcher$1.current;
13651
+ ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13652
+ try {
13653
+ return mountState(initialState);
13654
+ } finally {
13655
+ ReactCurrentDispatcher$1.current = prevDispatcher;
13656
+ }
13657
+ },
13658
+ useDebugValue: function (value, formatterFn) {
13659
+ currentHookNameInDev = 'useDebugValue';
13660
+ mountHookTypesDev();
13661
+ return mountDebugValue(value, formatterFn);
13662
+ }
13663
+ };
13664
+
13665
+ HooksDispatcherOnMountWithHookTypesInDEV = {
13666
+ readContext: function (context, observedBits) {
13667
+ return readContext(context, observedBits);
13668
+ },
13669
+ useCallback: function (callback, deps) {
13670
+ currentHookNameInDev = 'useCallback';
13671
+ updateHookTypesDev();
13553
13672
  return mountCallback(callback, deps);
13554
13673
  },
13555
13674
  useContext: function (context, observedBits) {
13556
13675
  currentHookNameInDev = 'useContext';
13557
- return mountContext(context, observedBits);
13676
+ updateHookTypesDev();
13677
+ return readContext(context, observedBits);
13558
13678
  },
13559
13679
  useEffect: function (create, deps) {
13560
13680
  currentHookNameInDev = 'useEffect';
13681
+ updateHookTypesDev();
13561
13682
  return mountEffect(create, deps);
13562
13683
  },
13563
13684
  useImperativeHandle: function (ref, create, deps) {
13564
13685
  currentHookNameInDev = 'useImperativeHandle';
13686
+ updateHookTypesDev();
13565
13687
  return mountImperativeHandle(ref, create, deps);
13566
13688
  },
13567
13689
  useLayoutEffect: function (create, deps) {
13568
13690
  currentHookNameInDev = 'useLayoutEffect';
13691
+ updateHookTypesDev();
13569
13692
  return mountLayoutEffect(create, deps);
13570
13693
  },
13571
13694
  useMemo: function (create, deps) {
13572
13695
  currentHookNameInDev = 'useMemo';
13696
+ updateHookTypesDev();
13573
13697
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13574
13698
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13575
13699
  try {
@@ -13580,6 +13704,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13580
13704
  },
13581
13705
  useReducer: function (reducer, initialArg, init) {
13582
13706
  currentHookNameInDev = 'useReducer';
13707
+ updateHookTypesDev();
13583
13708
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13584
13709
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13585
13710
  try {
@@ -13590,10 +13715,12 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13590
13715
  },
13591
13716
  useRef: function (initialValue) {
13592
13717
  currentHookNameInDev = 'useRef';
13718
+ updateHookTypesDev();
13593
13719
  return mountRef(initialValue);
13594
13720
  },
13595
13721
  useState: function (initialState) {
13596
13722
  currentHookNameInDev = 'useState';
13723
+ updateHookTypesDev();
13597
13724
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13598
13725
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13599
13726
  try {
@@ -13604,6 +13731,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13604
13731
  },
13605
13732
  useDebugValue: function (value, formatterFn) {
13606
13733
  currentHookNameInDev = 'useDebugValue';
13734
+ updateHookTypesDev();
13607
13735
  return mountDebugValue(value, formatterFn);
13608
13736
  }
13609
13737
  };
@@ -13614,26 +13742,32 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13614
13742
  },
13615
13743
  useCallback: function (callback, deps) {
13616
13744
  currentHookNameInDev = 'useCallback';
13745
+ updateHookTypesDev();
13617
13746
  return updateCallback(callback, deps);
13618
13747
  },
13619
13748
  useContext: function (context, observedBits) {
13620
13749
  currentHookNameInDev = 'useContext';
13621
- return updateContext(context, observedBits);
13750
+ updateHookTypesDev();
13751
+ return readContext(context, observedBits);
13622
13752
  },
13623
13753
  useEffect: function (create, deps) {
13624
13754
  currentHookNameInDev = 'useEffect';
13755
+ updateHookTypesDev();
13625
13756
  return updateEffect(create, deps);
13626
13757
  },
13627
13758
  useImperativeHandle: function (ref, create, deps) {
13628
13759
  currentHookNameInDev = 'useImperativeHandle';
13760
+ updateHookTypesDev();
13629
13761
  return updateImperativeHandle(ref, create, deps);
13630
13762
  },
13631
13763
  useLayoutEffect: function (create, deps) {
13632
13764
  currentHookNameInDev = 'useLayoutEffect';
13765
+ updateHookTypesDev();
13633
13766
  return updateLayoutEffect(create, deps);
13634
13767
  },
13635
13768
  useMemo: function (create, deps) {
13636
13769
  currentHookNameInDev = 'useMemo';
13770
+ updateHookTypesDev();
13637
13771
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13638
13772
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
13639
13773
  try {
@@ -13644,6 +13778,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13644
13778
  },
13645
13779
  useReducer: function (reducer, initialArg, init) {
13646
13780
  currentHookNameInDev = 'useReducer';
13781
+ updateHookTypesDev();
13647
13782
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13648
13783
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
13649
13784
  try {
@@ -13654,10 +13789,12 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13654
13789
  },
13655
13790
  useRef: function (initialValue) {
13656
13791
  currentHookNameInDev = 'useRef';
13792
+ updateHookTypesDev();
13657
13793
  return updateRef(initialValue);
13658
13794
  },
13659
13795
  useState: function (initialState) {
13660
13796
  currentHookNameInDev = 'useState';
13797
+ updateHookTypesDev();
13661
13798
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13662
13799
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
13663
13800
  try {
@@ -13668,6 +13805,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13668
13805
  },
13669
13806
  useDebugValue: function (value, formatterFn) {
13670
13807
  currentHookNameInDev = 'useDebugValue';
13808
+ updateHookTypesDev();
13671
13809
  return updateDebugValue(value, formatterFn);
13672
13810
  }
13673
13811
  };
@@ -13680,31 +13818,37 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13680
13818
  useCallback: function (callback, deps) {
13681
13819
  currentHookNameInDev = 'useCallback';
13682
13820
  warnInvalidHookAccess();
13821
+ mountHookTypesDev();
13683
13822
  return mountCallback(callback, deps);
13684
13823
  },
13685
13824
  useContext: function (context, observedBits) {
13686
13825
  currentHookNameInDev = 'useContext';
13687
13826
  warnInvalidHookAccess();
13688
- return mountContext(context, observedBits);
13827
+ mountHookTypesDev();
13828
+ return readContext(context, observedBits);
13689
13829
  },
13690
13830
  useEffect: function (create, deps) {
13691
13831
  currentHookNameInDev = 'useEffect';
13692
13832
  warnInvalidHookAccess();
13833
+ mountHookTypesDev();
13693
13834
  return mountEffect(create, deps);
13694
13835
  },
13695
13836
  useImperativeHandle: function (ref, create, deps) {
13696
13837
  currentHookNameInDev = 'useImperativeHandle';
13697
13838
  warnInvalidHookAccess();
13839
+ mountHookTypesDev();
13698
13840
  return mountImperativeHandle(ref, create, deps);
13699
13841
  },
13700
13842
  useLayoutEffect: function (create, deps) {
13701
13843
  currentHookNameInDev = 'useLayoutEffect';
13702
13844
  warnInvalidHookAccess();
13845
+ mountHookTypesDev();
13703
13846
  return mountLayoutEffect(create, deps);
13704
13847
  },
13705
13848
  useMemo: function (create, deps) {
13706
13849
  currentHookNameInDev = 'useMemo';
13707
13850
  warnInvalidHookAccess();
13851
+ mountHookTypesDev();
13708
13852
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13709
13853
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13710
13854
  try {
@@ -13716,6 +13860,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13716
13860
  useReducer: function (reducer, initialArg, init) {
13717
13861
  currentHookNameInDev = 'useReducer';
13718
13862
  warnInvalidHookAccess();
13863
+ mountHookTypesDev();
13719
13864
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13720
13865
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13721
13866
  try {
@@ -13727,11 +13872,13 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13727
13872
  useRef: function (initialValue) {
13728
13873
  currentHookNameInDev = 'useRef';
13729
13874
  warnInvalidHookAccess();
13875
+ mountHookTypesDev();
13730
13876
  return mountRef(initialValue);
13731
13877
  },
13732
13878
  useState: function (initialState) {
13733
13879
  currentHookNameInDev = 'useState';
13734
13880
  warnInvalidHookAccess();
13881
+ mountHookTypesDev();
13735
13882
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13736
13883
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV;
13737
13884
  try {
@@ -13743,6 +13890,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13743
13890
  useDebugValue: function (value, formatterFn) {
13744
13891
  currentHookNameInDev = 'useDebugValue';
13745
13892
  warnInvalidHookAccess();
13893
+ mountHookTypesDev();
13746
13894
  return mountDebugValue(value, formatterFn);
13747
13895
  }
13748
13896
  };
@@ -13755,31 +13903,37 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13755
13903
  useCallback: function (callback, deps) {
13756
13904
  currentHookNameInDev = 'useCallback';
13757
13905
  warnInvalidHookAccess();
13906
+ updateHookTypesDev();
13758
13907
  return updateCallback(callback, deps);
13759
13908
  },
13760
13909
  useContext: function (context, observedBits) {
13761
13910
  currentHookNameInDev = 'useContext';
13762
13911
  warnInvalidHookAccess();
13763
- return updateContext(context, observedBits);
13912
+ updateHookTypesDev();
13913
+ return readContext(context, observedBits);
13764
13914
  },
13765
13915
  useEffect: function (create, deps) {
13766
13916
  currentHookNameInDev = 'useEffect';
13767
13917
  warnInvalidHookAccess();
13918
+ updateHookTypesDev();
13768
13919
  return updateEffect(create, deps);
13769
13920
  },
13770
13921
  useImperativeHandle: function (ref, create, deps) {
13771
13922
  currentHookNameInDev = 'useImperativeHandle';
13772
13923
  warnInvalidHookAccess();
13924
+ updateHookTypesDev();
13773
13925
  return updateImperativeHandle(ref, create, deps);
13774
13926
  },
13775
13927
  useLayoutEffect: function (create, deps) {
13776
13928
  currentHookNameInDev = 'useLayoutEffect';
13777
13929
  warnInvalidHookAccess();
13930
+ updateHookTypesDev();
13778
13931
  return updateLayoutEffect(create, deps);
13779
13932
  },
13780
13933
  useMemo: function (create, deps) {
13781
13934
  currentHookNameInDev = 'useMemo';
13782
13935
  warnInvalidHookAccess();
13936
+ updateHookTypesDev();
13783
13937
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13784
13938
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
13785
13939
  try {
@@ -13791,6 +13945,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13791
13945
  useReducer: function (reducer, initialArg, init) {
13792
13946
  currentHookNameInDev = 'useReducer';
13793
13947
  warnInvalidHookAccess();
13948
+ updateHookTypesDev();
13794
13949
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13795
13950
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
13796
13951
  try {
@@ -13802,11 +13957,13 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13802
13957
  useRef: function (initialValue) {
13803
13958
  currentHookNameInDev = 'useRef';
13804
13959
  warnInvalidHookAccess();
13960
+ updateHookTypesDev();
13805
13961
  return updateRef(initialValue);
13806
13962
  },
13807
13963
  useState: function (initialState) {
13808
13964
  currentHookNameInDev = 'useState';
13809
13965
  warnInvalidHookAccess();
13966
+ updateHookTypesDev();
13810
13967
  var prevDispatcher = ReactCurrentDispatcher$1.current;
13811
13968
  ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV;
13812
13969
  try {
@@ -13818,6 +13975,7 @@ var InvalidNestedHooksDispatcherOnUpdateInDEV = null;
13818
13975
  useDebugValue: function (value, formatterFn) {
13819
13976
  currentHookNameInDev = 'useDebugValue';
13820
13977
  warnInvalidHookAccess();
13978
+ updateHookTypesDev();
13821
13979
  return updateDebugValue(value, formatterFn);
13822
13980
  }
13823
13981
  };
@@ -20552,7 +20710,7 @@ implementation) {
20552
20710
 
20553
20711
  // TODO: this is special because it gets imported during build.
20554
20712
 
20555
- var ReactVersion = '16.8.3';
20713
+ var ReactVersion = '16.8.4';
20556
20714
 
20557
20715
  // This file is copy paste from ReactDOM with adjusted paths
20558
20716
  // and a different host config import (react-reconciler/inline.fire).
@@ -1,4 +1,4 @@
1
- /** @license React v16.8.3
1
+ /** @license React v16.8.4
2
2
  * react-dom-unstable-fire.production.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -266,4 +266,4 @@ function Ti(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:nu
266
266
  var Vi={createPortal:Ti,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;void 0===b&&("function"===typeof a.render?x("188"):x("268",Object.keys(a)));a=hd(b);a=null===a?null:a.stateNode;return a},hydrate:function(a,b,c){Qi(b)?void 0:x("200");return Si(null,a,b,!0,c)},render:function(a,b,c){Qi(b)?void 0:x("200");return Si(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){Qi(c)?void 0:x("200");null==a||void 0===a._reactInternalFiber?
267
267
  x("38"):void 0;return Si(a,b,c,!1,d)},unmountComponentAtNode:function(a){Qi(a)?void 0:x("40");return a._reactRootContainer?(Hi(function(){Si(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return Ti.apply(void 0,arguments)},unstable_batchedUpdates:Gi,unstable_interactiveUpdates:Ii,flushSync:function(a,b){W?x("187"):void 0;var c=X;X=!0;try{return ki(a,b)}finally{X=c,Yh(1073741823,!1)}},unstable_createRoot:Ui,unstable_flushControlled:function(a){var b=
268
268
  X;X=!0;try{ki(a)}finally{(X=b)||W||Yh(1073741823,!1)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Ia,Ja,Ka,Ba.injectEventPluginsByName,pa,Qa,function(a){ya(a,Pa)},Eb,Fb,Dd,Da]}};function Ui(a,b){Qi(a)?void 0:x("299","unstable_createRoot");return new Pi(a,!0,null!=b&&!0===b.hydrate)}
269
- (function(a){var b=a.findFiberByHostInstance;return Te(n({},a,{overrideProps:null,currentDispatcherRef:Tb.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Ha,bundleType:0,version:"16.8.3",rendererPackageName:"react-dom"});var Wi={default:Vi},Xi=Wi&&Vi||Wi;module.exports=Xi.default||Xi;
269
+ (function(a){var b=a.findFiberByHostInstance;return Te(n({},a,{overrideProps:null,currentDispatcherRef:Tb.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=hd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Ha,bundleType:0,version:"16.8.4",rendererPackageName:"react-dom"});var Wi={default:Vi},Xi=Wi&&Vi||Wi;module.exports=Xi.default||Xi;
@@ -1,4 +1,4 @@
1
- /** @license React v16.8.3
1
+ /** @license React v16.8.4
2
2
  * react-dom-unstable-fire.profiling.min.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -274,4 +274,4 @@ function cj(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:nu
274
274
  var ej={createPortal:cj,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;void 0===b&&("function"===typeof a.render?x("188"):x("268",Object.keys(a)));a=kd(b);a=null===a?null:a.stateNode;return a},hydrate:function(a,b,c){$i(b)?void 0:x("200");return bj(null,a,b,!0,c)},render:function(a,b,c){$i(b)?void 0:x("200");return bj(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){$i(c)?void 0:x("200");null==a||void 0===a._reactInternalFiber?
275
275
  x("38"):void 0;return bj(a,b,c,!1,d)},unmountComponentAtNode:function(a){$i(a)?void 0:x("40");return a._reactRootContainer?(Ri(function(){bj(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:function(){return cj.apply(void 0,arguments)},unstable_batchedUpdates:Qi,unstable_interactiveUpdates:Si,flushSync:function(a,b){V?x("187"):void 0;var c=W;W=!0;try{return wi(a,b)}finally{W=c,ii(1073741823,!1)}},unstable_createRoot:dj,unstable_flushControlled:function(a){var b=
276
276
  W;W=!0;try{wi(a)}finally{(W=b)||V||ii(1073741823,!1)}},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{Events:[Ia,Ja,Ka,Ba.injectEventPluginsByName,pa,Ra,function(a){ya(a,Qa)},Gb,Hb,Gd,Da]}};function dj(a,b){$i(a)?void 0:x("299","unstable_createRoot");return new Zi(a,!0,null!=b&&!0===b.hydrate)}
277
- (function(a){var b=a.findFiberByHostInstance;return Xe(n({},a,{overrideProps:null,currentDispatcherRef:Wb.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=kd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Ha,bundleType:0,version:"16.8.3",rendererPackageName:"react-dom"});var fj={default:ej},gj=fj&&ej||fj;module.exports=gj.default||gj;
277
+ (function(a){var b=a.findFiberByHostInstance;return Xe(n({},a,{overrideProps:null,currentDispatcherRef:Wb.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=kd(a);return null===a?null:a.stateNode},findFiberByHostInstance:function(a){return b?b(a):null}}))})({findFiberByHostInstance:Ha,bundleType:0,version:"16.8.4",rendererPackageName:"react-dom"});var fj={default:ej},gj=fj&&ej||fj;module.exports=gj.default||gj;
@@ -1,4 +1,4 @@
1
- /** @license React v16.8.3
1
+ /** @license React v16.8.4
2
2
  * react-dom-unstable-fizz.browser.development.js
3
3
  *
4
4
  * Copyright (c) Facebook, Inc. and its affiliates.