@react-navigation/stack 8.0.0-alpha.36 → 8.0.0-alpha.38

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 (95) hide show
  1. package/lib/module/index.js +2 -2
  2. package/lib/module/index.js.map +1 -1
  3. package/lib/module/utils/GestureHandlerContext.js +5 -0
  4. package/lib/module/utils/GestureHandlerContext.js.map +1 -0
  5. package/lib/module/utils/gestureActivationCriteria.js +10 -8
  6. package/lib/module/utils/gestureActivationCriteria.js.map +1 -1
  7. package/lib/module/utils/useGestureHandler.js +9 -0
  8. package/lib/module/utils/useGestureHandler.js.map +1 -0
  9. package/lib/module/views/GestureHandler.js +15 -14
  10. package/lib/module/views/GestureHandler.js.map +1 -1
  11. package/lib/module/views/GestureHandlerNative.js +16 -10
  12. package/lib/module/views/GestureHandlerNative.js.map +1 -1
  13. package/lib/module/views/Stack/Card.js +74 -76
  14. package/lib/module/views/Stack/Card.js.map +1 -1
  15. package/lib/module/views/Stack/CardStack.js +33 -11
  16. package/lib/module/views/Stack/CardStack.js.map +1 -1
  17. package/lib/module/views/Stack/StackView.js +24 -7
  18. package/lib/module/views/Stack/StackView.js.map +1 -1
  19. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +1 -1
  20. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -1
  21. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +1 -1
  22. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -1
  23. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +1 -1
  24. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -1
  25. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +1 -1
  26. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -1
  27. package/lib/typescript/src/index.d.ts +12 -12
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/navigators/createStackNavigator.d.ts +3 -2
  30. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -1
  31. package/lib/typescript/src/utils/CardAnimationContext.d.ts +1 -1
  32. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -1
  33. package/lib/typescript/src/utils/GestureHandlerContext.d.ts +3 -0
  34. package/lib/typescript/src/utils/GestureHandlerContext.d.ts.map +1 -0
  35. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts +3 -50
  36. package/lib/typescript/src/utils/gestureActivationCriteria.d.ts.map +1 -1
  37. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +1 -1
  38. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -1
  39. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +1 -1
  40. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -1
  41. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts +1 -1
  42. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts.map +1 -1
  43. package/lib/typescript/src/utils/useCardAnimation.d.ts +1 -1
  44. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -1
  45. package/lib/typescript/src/utils/useGestureHandler.d.ts +2 -0
  46. package/lib/typescript/src/utils/useGestureHandler.d.ts.map +1 -0
  47. package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -1
  48. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -1
  49. package/lib/typescript/src/views/GestureHandler.d.ts +7 -11
  50. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -1
  51. package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -1
  52. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -1
  53. package/lib/typescript/src/views/GestureHandlerNative.d.ts +9 -4
  54. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -1
  55. package/lib/typescript/src/views/Header/Header.d.ts +2 -2
  56. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -1
  57. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +3 -2
  58. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -1
  59. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +3 -2
  60. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -1
  61. package/lib/typescript/src/views/Stack/Card.d.ts +2 -2
  62. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -1
  63. package/lib/typescript/src/views/Stack/CardContainer.d.ts +3 -3
  64. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -1
  65. package/lib/typescript/src/views/Stack/CardContent.d.ts +1 -1
  66. package/lib/typescript/src/views/Stack/CardContent.d.ts.map +1 -1
  67. package/lib/typescript/src/views/Stack/CardStack.d.ts +3 -3
  68. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -1
  69. package/lib/typescript/src/views/Stack/StackView.d.ts +4 -4
  70. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -1
  71. package/package.json +16 -16
  72. package/src/index.tsx +2 -2
  73. package/src/utils/GestureHandlerContext.tsx +5 -0
  74. package/src/utils/gestureActivationCriteria.tsx +13 -9
  75. package/src/utils/useGestureHandler.tsx +9 -0
  76. package/src/views/GestureHandler.tsx +27 -16
  77. package/src/views/GestureHandlerNative.tsx +26 -12
  78. package/src/views/Stack/Card.tsx +111 -101
  79. package/src/views/Stack/CardStack.tsx +62 -28
  80. package/src/views/Stack/StackView.tsx +41 -11
  81. package/lib/module/utils/GestureHandlerRefContext.js +0 -5
  82. package/lib/module/utils/GestureHandlerRefContext.js.map +0 -1
  83. package/lib/module/utils/findLastIndex.js +0 -11
  84. package/lib/module/utils/findLastIndex.js.map +0 -1
  85. package/lib/module/utils/useGestureHandlerRef.js +0 -12
  86. package/lib/module/utils/useGestureHandlerRef.js.map +0 -1
  87. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +0 -3
  88. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +0 -1
  89. package/lib/typescript/src/utils/findLastIndex.d.ts +0 -2
  90. package/lib/typescript/src/utils/findLastIndex.d.ts.map +0 -1
  91. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +0 -3
  92. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +0 -1
  93. package/src/utils/GestureHandlerRefContext.tsx +0 -5
  94. package/src/utils/findLastIndex.tsx +0 -9
  95. package/src/utils/useGestureHandlerRef.tsx +0 -15
@@ -25,9 +25,9 @@ export { CardStyleInterpolators, HeaderStyleInterpolators, TransitionPresets, Tr
25
25
  * Utilities
26
26
  */
27
27
  export { CardAnimationContext } from "./utils/CardAnimationContext.js";
28
- export { GestureHandlerRefContext } from "./utils/GestureHandlerRefContext.js";
28
+ export { GestureHandlerContext } from "./utils/GestureHandlerContext.js";
29
29
  export { useCardAnimation } from "./utils/useCardAnimation.js";
30
- export { useGestureHandlerRef } from "./utils/useGestureHandlerRef.js";
30
+ export { useGestureHandler } from "./utils/useGestureHandler.js";
31
31
 
32
32
  /**
33
33
  * Types
@@ -1 +1 @@
1
- {"version":3,"names":["CardStyleInterpolators","HeaderStyleInterpolators","TransitionPresets","TransitionSpecs","createStackNavigator","createStackScreen","Header","StackView","CardAnimationContext","GestureHandlerRefContext","useCardAnimation","useGestureHandlerRef"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAO,KAAKA,sBAAsB,MAAM,+CAA4C;AACpF,OAAO,KAAKC,wBAAwB,MAAM,iDAA8C;AACxF,OAAO,KAAKC,iBAAiB,MAAM,0CAAuC;AAC1E,OAAO,KAAKC,eAAe,MAAM,wCAAqC;;AAEtE;AACA;AACA;AACA,SACEC,oBAAoB,EACpBC,iBAAiB,QAEZ,sCAAmC;;AAE1C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,0BAAuB;AAC9C,SAASC,SAAS,QAAQ,4BAAyB;;AAEnD;AACA;AACA;AACA,SACEP,sBAAsB,EACtBC,wBAAwB,EACxBC,iBAAiB,EACjBC,eAAe;;AAGjB;AACA;AACA;AACA,SAASK,oBAAoB,QAAQ,iCAA8B;AACnE,SAASC,wBAAwB,QAAQ,qCAAkC;AAC3E,SAASC,gBAAgB,QAAQ,6BAA0B;AAC3D,SAASC,oBAAoB,QAAQ,iCAA8B;;AAEnE;AACA;AACA","ignoreList":[]}
1
+ {"version":3,"names":["CardStyleInterpolators","HeaderStyleInterpolators","TransitionPresets","TransitionSpecs","createStackNavigator","createStackScreen","Header","StackView","CardAnimationContext","GestureHandlerContext","useCardAnimation","useGestureHandler"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA,OAAO,KAAKA,sBAAsB,MAAM,+CAA4C;AACpF,OAAO,KAAKC,wBAAwB,MAAM,iDAA8C;AACxF,OAAO,KAAKC,iBAAiB,MAAM,0CAAuC;AAC1E,OAAO,KAAKC,eAAe,MAAM,wCAAqC;;AAEtE;AACA;AACA;AACA,SACEC,oBAAoB,EACpBC,iBAAiB,QAEZ,sCAAmC;;AAE1C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,0BAAuB;AAC9C,SAASC,SAAS,QAAQ,4BAAyB;;AAEnD;AACA;AACA;AACA,SACEP,sBAAsB,EACtBC,wBAAwB,EACxBC,iBAAiB,EACjBC,eAAe;;AAGjB;AACA;AACA;AACA,SAASK,oBAAoB,QAAQ,iCAA8B;AACnE,SAASC,qBAAqB,QAAQ,kCAA+B;AACrE,SAASC,gBAAgB,QAAQ,6BAA0B;AAC3D,SAASC,iBAAiB,QAAQ,8BAA2B;;AAE7D;AACA;AACA","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ export const GestureHandlerContext = /*#__PURE__*/React.createContext(null);
5
+ //# sourceMappingURL=GestureHandlerContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","GestureHandlerContext","createContext"],"sourceRoot":"../../../src","sources":["utils/GestureHandlerContext.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,OAAO,MAAMC,qBAAqB,gBAAGD,KAAK,CAACE,aAAa,CAEtD,IAAI,CAAC","ignoreList":[]}
@@ -15,10 +15,12 @@ export const gestureActivationCriteria = ({
15
15
  }) => {
16
16
  const enableTrackpadTwoFingerGesture = true;
17
17
  const distance = gestureResponseDistance !== undefined ? gestureResponseDistance : gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? GESTURE_RESPONSE_DISTANCE_VERTICAL : GESTURE_RESPONSE_DISTANCE_HORIZONTAL;
18
+ const failOffsetX = [-15, 15];
19
+ const failOffsetY = [-20, 20];
18
20
  if (gestureDirection === 'vertical') {
19
21
  return {
20
- maxDeltaX: 15,
21
- minOffsetY: 5,
22
+ failOffsetX,
23
+ activeOffsetY: 5,
22
24
  hitSlop: {
23
25
  bottom: -layout.height + distance
24
26
  },
@@ -26,8 +28,8 @@ export const gestureActivationCriteria = ({
26
28
  };
27
29
  } else if (gestureDirection === 'vertical-inverted') {
28
30
  return {
29
- maxDeltaX: 15,
30
- minOffsetY: -5,
31
+ failOffsetX,
32
+ activeOffsetY: -5,
31
33
  hitSlop: {
32
34
  top: -layout.height + distance
33
35
  },
@@ -38,8 +40,8 @@ export const gestureActivationCriteria = ({
38
40
  const invertedMultiplier = getInvertedMultiplier(gestureDirection, direction === 'rtl');
39
41
  if (invertedMultiplier === 1) {
40
42
  return {
41
- minOffsetX: 5,
42
- maxDeltaY: 20,
43
+ activeOffsetX: 5,
44
+ failOffsetY,
43
45
  hitSlop: {
44
46
  right: hitSlop
45
47
  },
@@ -47,8 +49,8 @@ export const gestureActivationCriteria = ({
47
49
  };
48
50
  } else {
49
51
  return {
50
- minOffsetX: -5,
51
- maxDeltaY: 20,
52
+ activeOffsetX: -5,
53
+ failOffsetY,
52
54
  hitSlop: {
53
55
  left: hitSlop
54
56
  },
@@ -1 +1 @@
1
- {"version":3,"names":["getInvertedMultiplier","GESTURE_RESPONSE_DISTANCE_HORIZONTAL","GESTURE_RESPONSE_DISTANCE_VERTICAL","gestureActivationCriteria","direction","gestureDirection","gestureResponseDistance","layout","enableTrackpadTwoFingerGesture","distance","undefined","maxDeltaX","minOffsetY","hitSlop","bottom","height","top","width","invertedMultiplier","minOffsetX","maxDeltaY","right","left"],"sourceRoot":"../../../src","sources":["utils/gestureActivationCriteria.tsx"],"mappings":";;AAGA,SAASA,qBAAqB,QAAQ,4BAAyB;;AAE/D;AACA;AACA;AACA,MAAMC,oCAAoC,GAAG,EAAE;AAC/C,MAAMC,kCAAkC,GAAG,GAAG;AAE9C,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,SAAS;EACTC,gBAAgB;EAChBC,uBAAuB;EACvBC;AAMF,CAAC,KAAK;EACJ,MAAMC,8BAA8B,GAAG,IAAI;EAE3C,MAAMC,QAAQ,GACZH,uBAAuB,KAAKI,SAAS,GACjCJ,uBAAuB,GACvBD,gBAAgB,KAAK,UAAU,IAC7BA,gBAAgB,KAAK,mBAAmB,GACxCH,kCAAkC,GAClCD,oCAAoC;EAE5C,IAAII,gBAAgB,KAAK,UAAU,EAAE;IACnC,OAAO;MACLM,SAAS,EAAE,EAAE;MACbC,UAAU,EAAE,CAAC;MACbC,OAAO,EAAE;QAAEC,MAAM,EAAE,CAACP,MAAM,CAACQ,MAAM,GAAGN;MAAS,CAAC;MAC9CD;IACF,CAAC;EACH,CAAC,MAAM,IAAIH,gBAAgB,KAAK,mBAAmB,EAAE;IACnD,OAAO;MACLM,SAAS,EAAE,EAAE;MACbC,UAAU,EAAE,CAAC,CAAC;MACdC,OAAO,EAAE;QAAEG,GAAG,EAAE,CAACT,MAAM,CAACQ,MAAM,GAAGN;MAAS,CAAC;MAC3CD;IACF,CAAC;EACH,CAAC,MAAM;IACL,MAAMK,OAAO,GAAG,CAACN,MAAM,CAACU,KAAK,GAAGR,QAAQ;IACxC,MAAMS,kBAAkB,GAAGlB,qBAAqB,CAC9CK,gBAAgB,EAChBD,SAAS,KAAK,KAChB,CAAC;IAED,IAAIc,kBAAkB,KAAK,CAAC,EAAE;MAC5B,OAAO;QACLC,UAAU,EAAE,CAAC;QACbC,SAAS,EAAE,EAAE;QACbP,OAAO,EAAE;UAAEQ,KAAK,EAAER;QAAQ,CAAC;QAC3BL;MACF,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLW,UAAU,EAAE,CAAC,CAAC;QACdC,SAAS,EAAE,EAAE;QACbP,OAAO,EAAE;UAAES,IAAI,EAAET;QAAQ,CAAC;QAC1BL;MACF,CAAC;IACH;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getInvertedMultiplier","GESTURE_RESPONSE_DISTANCE_HORIZONTAL","GESTURE_RESPONSE_DISTANCE_VERTICAL","gestureActivationCriteria","direction","gestureDirection","gestureResponseDistance","layout","enableTrackpadTwoFingerGesture","distance","undefined","failOffsetX","failOffsetY","activeOffsetY","hitSlop","bottom","height","top","width","invertedMultiplier","activeOffsetX","right","left"],"sourceRoot":"../../../src","sources":["utils/gestureActivationCriteria.tsx"],"mappings":";;AAIA,SAASA,qBAAqB,QAAQ,4BAAyB;;AAE/D;AACA;AACA;AACA,MAAMC,oCAAoC,GAAG,EAAE;AAC/C,MAAMC,kCAAkC,GAAG,GAAG;AAE9C,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,SAAS;EACTC,gBAAgB;EAChBC,uBAAuB;EACvBC;AAMF,CAAC,KAAuB;EACtB,MAAMC,8BAA8B,GAAG,IAAI;EAE3C,MAAMC,QAAQ,GACZH,uBAAuB,KAAKI,SAAS,GACjCJ,uBAAuB,GACvBD,gBAAgB,KAAK,UAAU,IAC7BA,gBAAgB,KAAK,mBAAmB,GACxCH,kCAAkC,GAClCD,oCAAoC;EAE5C,MAAMU,WAA6B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;EAC/C,MAAMC,WAA6B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;EAE/C,IAAIP,gBAAgB,KAAK,UAAU,EAAE;IACnC,OAAO;MACLM,WAAW;MACXE,aAAa,EAAE,CAAC;MAChBC,OAAO,EAAE;QAAEC,MAAM,EAAE,CAACR,MAAM,CAACS,MAAM,GAAGP;MAAS,CAAC;MAC9CD;IACF,CAAC;EACH,CAAC,MAAM,IAAIH,gBAAgB,KAAK,mBAAmB,EAAE;IACnD,OAAO;MACLM,WAAW;MACXE,aAAa,EAAE,CAAC,CAAC;MACjBC,OAAO,EAAE;QAAEG,GAAG,EAAE,CAACV,MAAM,CAACS,MAAM,GAAGP;MAAS,CAAC;MAC3CD;IACF,CAAC;EACH,CAAC,MAAM;IACL,MAAMM,OAAO,GAAG,CAACP,MAAM,CAACW,KAAK,GAAGT,QAAQ;IACxC,MAAMU,kBAAkB,GAAGnB,qBAAqB,CAC9CK,gBAAgB,EAChBD,SAAS,KAAK,KAChB,CAAC;IAED,IAAIe,kBAAkB,KAAK,CAAC,EAAE;MAC5B,OAAO;QACLC,aAAa,EAAE,CAAC;QAChBR,WAAW;QACXE,OAAO,EAAE;UAAEO,KAAK,EAAEP;QAAQ,CAAC;QAC3BN;MACF,CAAC;IACH,CAAC,MAAM;MACL,OAAO;QACLY,aAAa,EAAE,CAAC,CAAC;QACjBR,WAAW;QACXE,OAAO,EAAE;UAAEQ,IAAI,EAAER;QAAQ,CAAC;QAC1BN;MACF,CAAC;IACH;EACF;AACF,CAAC","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import * as React from 'react';
4
+ import { GestureHandlerContext } from "./GestureHandlerContext.js";
5
+ export function useGestureHandler() {
6
+ const gesture = React.useContext(GestureHandlerContext);
7
+ return gesture;
8
+ }
9
+ //# sourceMappingURL=useGestureHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","GestureHandlerContext","useGestureHandler","gesture","useContext"],"sourceRoot":"../../../src","sources":["utils/useGestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAE9B,SAASC,qBAAqB,QAAQ,4BAAyB;AAE/D,OAAO,SAASC,iBAAiBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGH,KAAK,CAACI,UAAU,CAACH,qBAAqB,CAAC;EAEvD,OAAOE,OAAO;AAChB","ignoreList":[]}
@@ -2,20 +2,21 @@
2
2
 
3
3
  import * as React from 'react';
4
4
  import { View } from 'react-native';
5
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
6
- const Dummy = ({
5
+ import { GestureHandlerContext } from "../utils/GestureHandlerContext.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function GestureDetector({
8
+ gesture,
7
9
  children
8
- }) => /*#__PURE__*/_jsx(_Fragment, {
9
- children: children
10
- });
11
- export const PanGestureHandler = Dummy;
10
+ }) {
11
+ return /*#__PURE__*/_jsx(GestureHandlerContext.Provider, {
12
+ value: gesture ?? null,
13
+ children: children
14
+ });
15
+ }
16
+
17
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-unnecessary-use-prefix, @eslint-react/hooks-extra/ensure-custom-hooks-using-other-hooks
18
+ export function usePanGesture(_config) {
19
+ return undefined;
20
+ }
12
21
  export const GestureHandlerRootView = View;
13
- export const GestureState = {
14
- UNDETERMINED: 0,
15
- FAILED: 1,
16
- BEGAN: 2,
17
- CANCELLED: 3,
18
- ACTIVE: 4,
19
- END: 5
20
- };
21
22
  //# sourceMappingURL=GestureHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Fragment","_Fragment","jsx","_jsx","Dummy","children","PanGestureHandler","GestureHandlerRootView","GestureState","UNDETERMINED","FAILED","BEGAN","CANCELLED","ACTIVE","END"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAGpC,MAAMC,KAAU,GAAGA,CAAC;EAAEC;AAAwC,CAAC,kBAC7DF,IAAA,CAAAF,SAAA;EAAAI,QAAA,EAAGA;AAAQ,CAAG,CACf;AAED,OAAO,MAAMC,iBAAiB,GAC5BF,KAAyD;AAE3D,OAAO,MAAMG,sBAAsB,GAAGR,IAAI;AAE1C,OAAO,MAAMS,YAAY,GAAG;EAC1BC,YAAY,EAAE,CAAC;EACfC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,CAAC;EACRC,SAAS,EAAE,CAAC;EACZC,MAAM,EAAE,CAAC;EACTC,GAAG,EAAE;AACP,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","View","GestureHandlerContext","jsx","_jsx","GestureDetector","gesture","children","Provider","value","usePanGesture","_config","undefined","GestureHandlerRootView"],"sourceRoot":"../../../src","sources":["views/GestureHandler.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,IAAI,QAAQ,cAAc;AAMnC,SAASC,qBAAqB,QAAQ,mCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvE,OAAO,SAASC,eAAeA,CAAC;EAC9BC,OAAO;EACPC;AAIF,CAAC,EAAE;EACD,oBACEH,IAAA,CAACF,qBAAqB,CAACM,QAAQ;IAACC,KAAK,EAAEH,OAAO,IAAI,IAAK;IAAAC,QAAA,EACpDA;EAAQ,CACqB,CAAC;AAErC;;AAEA;AACA,OAAO,SAASG,aAAaA,CAACC,OAAyB,EAAE;EACvD,OAAOC,SAAS;AAClB;AAEA,OAAO,MAAMC,sBAAsB,GAAGZ,IAAI","ignoreList":[]}
@@ -1,18 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  import * as React from 'react';
4
- import { PanGestureHandler as PanGestureHandlerNative } from 'react-native-gesture-handler';
5
- import { GestureHandlerRefContext } from "../utils/GestureHandlerRefContext.js";
4
+ import { GestureDetector as GestureDetectorNative, usePanGesture } from 'react-native-gesture-handler';
5
+ import { GestureHandlerContext } from "../utils/GestureHandlerContext.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
- export function PanGestureHandler(props) {
8
- const gestureRef = React.useRef(null);
9
- return /*#__PURE__*/_jsx(GestureHandlerRefContext.Provider, {
10
- value: gestureRef,
11
- children: /*#__PURE__*/_jsx(PanGestureHandlerNative, {
12
- ...props,
13
- ref: gestureRef
7
+ export function GestureDetector({
8
+ gesture,
9
+ children
10
+ }) {
11
+ if (gesture == null) {
12
+ throw new Error('The provided gesture is undefined. A valid gesture must be passed to the GestureDetector on native platforms.');
13
+ }
14
+ return /*#__PURE__*/_jsx(GestureHandlerContext.Provider, {
15
+ value: gesture,
16
+ children: /*#__PURE__*/_jsx(GestureDetectorNative, {
17
+ gesture: gesture,
18
+ children: children
14
19
  })
15
20
  });
16
21
  }
17
- export { GestureHandlerRootView, State as GestureState } from 'react-native-gesture-handler';
22
+ export { usePanGesture };
23
+ export { GestureHandlerRootView } from 'react-native-gesture-handler';
18
24
  //# sourceMappingURL=GestureHandlerNative.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","PanGestureHandler","PanGestureHandlerNative","GestureHandlerRefContext","jsx","_jsx","props","gestureRef","useRef","Provider","value","children","ref","GestureHandlerRootView","State","GestureState"],"sourceRoot":"../../../src","sources":["views/GestureHandlerNative.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,iBAAiB,IAAIC,uBAAuB,QAEvC,8BAA8B;AAErC,SAASC,wBAAwB,QAAQ,sCAAmC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7E,OAAO,SAASJ,iBAAiBA,CAACK,KAAkC,EAAE;EACpE,MAAMC,UAAU,GAAGP,KAAK,CAACQ,MAAM,CAA0B,IAAI,CAAC;EAE9D,oBACEH,IAAA,CAACF,wBAAwB,CAACM,QAAQ;IAACC,KAAK,EAAEH,UAAW;IAAAI,QAAA,eACnDN,IAAA,CAACH,uBAAuB;MAAA,GAAKI,KAAK;MAAEM,GAAG,EAAEL;IAAW,CAAE;EAAC,CACtB,CAAC;AAExC;AAGA,SACEM,sBAAsB,EACtBC,KAAK,IAAIC,YAAY,QAChB,8BAA8B","ignoreList":[]}
1
+ {"version":3,"names":["React","GestureDetector","GestureDetectorNative","usePanGesture","GestureHandlerContext","jsx","_jsx","gesture","children","Error","Provider","value","GestureHandlerRootView"],"sourceRoot":"../../../src","sources":["views/GestureHandlerNative.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SACEC,eAAe,IAAIC,qBAAqB,EAExCC,aAAa,QACR,8BAA8B;AAErC,SAASC,qBAAqB,QAAQ,mCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEvE,OAAO,SAASL,eAAeA,CAAC;EAC9BM,OAAO;EACPC;AAIF,CAAC,EAAE;EACD,IAAID,OAAO,IAAI,IAAI,EAAE;IACnB,MAAM,IAAIE,KAAK,CACb,+GACF,CAAC;EACH;EAEA,oBACEH,IAAA,CAACF,qBAAqB,CAACM,QAAQ;IAACC,KAAK,EAAEJ,OAAQ;IAAAC,QAAA,eAC7CF,IAAA,CAACJ,qBAAqB;MAACK,OAAO,EAAEA,OAAQ;MAAAC,QAAA,EACrCA;IAAQ,CACY;EAAC,CACM,CAAC;AAErC;AAEA,SAASL,aAAa;AAKtB,SAASS,sBAAsB,QAAQ,8BAA8B","ignoreList":[]}
@@ -9,7 +9,7 @@ import { gestureActivationCriteria } from "../../utils/gestureActivationCriteria
9
9
  import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js";
10
10
  import { getInvertedMultiplier } from "../../utils/getInvertedMultiplier.js";
11
11
  import { getShadowStyle } from "../../utils/getShadowStyle.js";
12
- import { GestureState, PanGestureHandler } from '../GestureHandler';
12
+ import { GestureDetector, usePanGesture } from '../GestureHandler';
13
13
  import { CardContent } from "./CardContent.js";
14
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
15
15
  const GESTURE_VELOCITY_IMPACT = 0.3;
@@ -137,67 +137,6 @@ function Card({
137
137
  onFinish();
138
138
  }
139
139
  });
140
- const onGestureStateChange = useLatestCallback(({
141
- nativeEvent
142
- }) => {
143
- switch (nativeEvent.state) {
144
- case GestureState.ACTIVE:
145
- clearTimeout(pendingGestureCallbackRef.current);
146
- clearTimeout(pendingOnCloseCallbackRef.current);
147
- isSwiping.setValue(TRUE);
148
- onGestureBegin?.();
149
- break;
150
- case GestureState.CANCELLED:
151
- case GestureState.FAILED:
152
- {
153
- isSwiping.setValue(FALSE);
154
- const velocity = gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? nativeEvent.velocityY : nativeEvent.velocityX;
155
- animate({
156
- closing,
157
- velocity
158
- });
159
- onGestureCanceled?.();
160
- break;
161
- }
162
- case GestureState.END:
163
- {
164
- isSwiping.setValue(FALSE);
165
- let distance;
166
- let translation;
167
- let velocity;
168
- if (gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted') {
169
- distance = layout.height;
170
- translation = nativeEvent.translationY;
171
- velocity = nativeEvent.velocityY;
172
- } else {
173
- distance = layout.width;
174
- translation = nativeEvent.translationX;
175
- velocity = nativeEvent.velocityX;
176
- }
177
- const shouldClose = (translation + velocity * gestureVelocityImpact) * getInvertedMultiplier(gestureDirection, direction === 'rtl') > distance / 2 ? velocity !== 0 || translation !== 0 : closing;
178
- animate({
179
- closing: shouldClose,
180
- velocity
181
- });
182
- if (shouldClose) {
183
- // We call onClose with a delay to make sure that the animation has already started
184
- // This will make sure that the state update caused by this doesn't affect start of animation
185
- pendingGestureCallbackRef.current = setTimeout(() => {
186
- onClose();
187
-
188
- // Check if the screen is still closing with a delay
189
- // So state update from onClose has a chance to go through
190
- // If route wasn't removed after onClose, re-open it
191
- pendingOnCloseCallbackRef.current = setTimeout(() => {
192
- maybeAnimate();
193
- }, 32);
194
- }, 16);
195
- }
196
- onGestureEnd?.();
197
- break;
198
- }
199
- }
200
- });
201
140
  React.useLayoutEffect(() => {
202
141
  layoutAnim.width.setValue(layout.width);
203
142
  layoutAnim.height.setValue(layout.height);
@@ -300,15 +239,82 @@ function Card({
300
239
  overlayStyle,
301
240
  shadowStyle
302
241
  } = React.useMemo(() => styleInterpolator(interpolationProps), [styleInterpolator, interpolationProps]);
242
+ const onGestureActivate = useLatestCallback(() => {
243
+ clearTimeout(pendingGestureCallbackRef.current);
244
+ clearTimeout(pendingOnCloseCallbackRef.current);
245
+ isSwiping.setValue(TRUE);
246
+ onGestureBegin?.();
247
+ });
248
+ const onGestureDeactivate = useLatestCallback(event => {
249
+ isSwiping.setValue(FALSE);
250
+ let distance;
251
+ let translation;
252
+ let velocity;
253
+ if (gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted') {
254
+ distance = layout.height;
255
+ translation = event.translationY;
256
+ velocity = event.velocityY;
257
+ } else {
258
+ distance = layout.width;
259
+ translation = event.translationX;
260
+ velocity = event.velocityX;
261
+ }
262
+ gesture.setValue(translation);
263
+ if (event.canceled) {
264
+ animate({
265
+ closing,
266
+ velocity
267
+ });
268
+ onGestureCanceled?.();
269
+ return;
270
+ }
271
+ const shouldClose = (translation + velocity * gestureVelocityImpact) * getInvertedMultiplier(gestureDirection, direction === 'rtl') > distance / 2 ? velocity !== 0 || translation !== 0 : closing;
272
+ animate({
273
+ closing: shouldClose,
274
+ velocity
275
+ });
276
+ if (shouldClose) {
277
+ // We call onClose with a delay to make sure that the animation has already started
278
+ // This will make sure that the state update caused by this doesn't affect start of animation
279
+ pendingGestureCallbackRef.current = setTimeout(() => {
280
+ onClose();
281
+
282
+ // Check if the screen is still closing with a delay
283
+ // So state update from onClose has a chance to go through
284
+ // If route wasn't removed after onClose, re-open it
285
+ pendingOnCloseCallbackRef.current = setTimeout(() => {
286
+ maybeAnimate();
287
+ }, 32);
288
+ }, 16);
289
+ }
290
+ onGestureEnd?.();
291
+ });
303
292
  const onGestureEvent = React.useMemo(() => gestureEnabled ? Animated.event([{
304
- nativeEvent: gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? {
305
- translationY: gesture
306
- } : {
307
- translationX: gesture
293
+ nativeEvent: {
294
+ handlerData: gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? {
295
+ translationY: gesture
296
+ } : {
297
+ translationX: gesture
298
+ }
308
299
  }
309
300
  }], {
310
301
  useNativeDriver
311
302
  }) : undefined, [gesture, gestureDirection, gestureEnabled]);
303
+ const panGestureConfig = React.useMemo(() => ({
304
+ enabled: layout.width !== 0 && gestureEnabled,
305
+ onActivate: onGestureActivate,
306
+ onDeactivate: onGestureDeactivate,
307
+ onUpdate: onGestureEvent,
308
+ disableReanimated: true,
309
+ useAnimated: true,
310
+ ...gestureActivationCriteria({
311
+ layout,
312
+ direction,
313
+ gestureDirection,
314
+ gestureResponseDistance
315
+ })
316
+ }), [direction, gestureDirection, gestureEnabled, gestureResponseDistance, layout, onGestureActivate, onGestureDeactivate, onGestureEvent]);
317
+ const panGesture = usePanGesture(panGestureConfig);
312
318
  const {
313
319
  backgroundColor
314
320
  } = StyleSheet.flatten(contentStyle || {});
@@ -335,16 +341,8 @@ function Card({
335
341
  })
336
342
  }) : null, /*#__PURE__*/_jsx(Animated.View, {
337
343
  style: [styles.container, containerStyle, customContainerStyle],
338
- children: /*#__PURE__*/_jsx(PanGestureHandler, {
339
- enabled: layout.width !== 0 && gestureEnabled,
340
- onGestureEvent: onGestureEvent,
341
- onHandlerStateChange: onGestureStateChange,
342
- ...gestureActivationCriteria({
343
- layout,
344
- direction,
345
- gestureDirection,
346
- gestureResponseDistance
347
- }),
344
+ children: /*#__PURE__*/_jsx(GestureDetector, {
345
+ gesture: panGesture,
348
346
  children: /*#__PURE__*/_jsxs(Animated.View, {
349
347
  needsOffscreenAlphaCompositing: hasOpacityStyle(cardStyle),
350
348
  style: [styles.container, cardStyle],
@@ -1 +1 @@
1
- {"version":3,"names":["Color","React","Animated","Platform","StyleSheet","View","useLatestCallback","CardAnimationContext","gestureActivationCriteria","getDistanceForDirection","getInvertedMultiplier","getShadowStyle","GestureState","PanGestureHandler","CardContent","jsx","_jsx","jsxs","_jsxs","GESTURE_VELOCITY_IMPACT","TRUE","FALSE","useNativeDriver","OS","hasOpacityStyle","style","flattenedStyle","flatten","opacity","getAnimateToValue","closing","isClosing","layout","currentLayout","gestureDirection","currentGestureDirection","direction","currentDirection","preloaded","isPreloaded","defaultOverlay","styles","overlay","Card","shadowEnabled","gestureEnabled","gestureVelocityImpact","animated","interpolationIndex","opening","next","current","gesture","insets","pageOverflowEnabled","onOpen","onClose","onTransition","onGestureBegin","onGestureCanceled","onGestureEnd","children","overlayEnabled","gestureResponseDistance","transitionSpec","styleInterpolator","containerStyle","customContainerStyle","contentStyle","didInitiallyAnimate","useRef","lastToValueRef","undefined","animationHandleRef","pendingGestureCallbackRef","pendingOnCloseCallbackRef","useState","Value","inverted","layoutAnim","width","height","isSwiping","animate","isClosingParam","velocity","toValue","setValue","spec","close","open","animation","spring","timing","clearTimeout","cancelAnimationFrame","onFinish","requestAnimationFrame","maybeAnimate","config","isInteraction","start","finished","onGestureStateChange","nativeEvent","state","ACTIVE","CANCELLED","FAILED","velocityY","velocityX","END","distance","translation","translationY","translationX","shouldClose","setTimeout","useLayoutEffect","previousPropsRef","useEffect","timeoutRef","previousOpening","previousToValue","interpolationProps","useMemo","index","progress","swiping","layouts","screen","top","right","bottom","left","cardStyle","overlayStyle","shadowStyle","onGestureEvent","event","backgroundColor","isTransparent","alpha","Provider","value","collapsable","absoluteFill","pointerEvents","container","enabled","onHandlerStateChange","needsOffscreenAlphaCompositing","shadow","shadowHorizontal","shadowStart","shadowEnd","shadowVertical","shadowTop","shadowBottom","create","flex","position","offset","radius","end"],"sourceRoot":"../../../../src","sources":["views/Stack/Card.tsx"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,qCAAqC;AAE3D,OAAO,KAAKC,KAAK,MAAM,OAAO;AAC9B,SACEC,QAAQ,EACRC,QAAQ,EAERC,UAAU,EACVC,IAAI,QAEC,cAAc;AAErB,OAAOC,iBAAiB,MAAM,qBAAqB;AAQnD,SAASC,oBAAoB,QAAQ,qCAAkC;AACvE,SAASC,yBAAyB,QAAQ,0CAAuC;AACjF,SAASC,uBAAuB,QAAQ,wCAAqC;AAC7E,SAASC,qBAAqB,QAAQ,sCAAmC;AACzE,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SACEC,YAAY,EACZC,iBAAiB,QAEZ,mBAAmB;AAC1B,SAASC,WAAW,QAAQ,kBAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA0C5C,MAAMC,uBAAuB,GAAG,GAAG;AAEnC,MAAMC,IAAI,GAAG,CAAC;AACd,MAAMC,KAAK,GAAG,CAAC;AAEf,MAAMC,eAAe,GAAGnB,QAAQ,CAACoB,EAAE,KAAK,KAAK;AAE7C,MAAMC,eAAe,GACnBC,KAAuD,IACpD;EACH,IAAIA,KAAK,EAAE;IACT,MAAMC,cAAc,GAAGtB,UAAU,CAACuB,OAAO,CAACF,KAAK,CAAC;IAEhD,OAAO,SAAS,IAAIC,cAAc,IAAIA,cAAc,CAACE,OAAO,IAAI,IAAI;EACtE;EAEA,OAAO,KAAK;AACd,CAAC;AAED,MAAMC,iBAAiB,GAAGA,CAAC;EACzBC,OAAO,EAAEC,SAAS;EAClBC,MAAM,EAAEC,aAAa;EACrBC,gBAAgB,EAAEC,uBAAuB;EACzCC,SAAS,EAAEC,gBAAgB;EAC3BC,SAAS,EAAEC;AAOb,CAAC,KAAK;EACJ,IAAI,CAACR,SAAS,IAAI,CAACQ,WAAW,EAAE;IAC9B,OAAO,CAAC;EACV;EAEA,OAAO9B,uBAAuB,CAC5BwB,aAAa,EACbE,uBAAuB,EACvBE,gBAAgB,KAAK,KACvB,CAAC;AACH,CAAC;AAED,MAAMG,cAAc,GAAGA,CAAC;EACtBf;AAGF,CAAC,KAAMA,KAAK,gBAAGT,IAAA,CAACd,QAAQ,CAACG,IAAI;EAACoB,KAAK,EAAE,CAACgB,MAAM,CAACC,OAAO,EAAEjB,KAAK;AAAE,CAAE,CAAC,GAAG,IAAK;AAExE,SAASkB,IAAIA,CAAC;EACZC,aAAa,GAAG,KAAK;EACrBC,cAAc,GAAG,IAAI;EACrBC,qBAAqB,GAAG3B,uBAAuB;EAC/CuB,OAAO,GAAGF,cAAc;EACxBO,QAAQ;EACRC,kBAAkB;EAClBC,OAAO;EACPnB,OAAO;EACPoB,IAAI;EACJC,OAAO;EACPC,OAAO;EACPpB,MAAM;EACNqB,MAAM;EACNjB,SAAS;EACTkB,mBAAmB;EACnBpB,gBAAgB;EAChBqB,MAAM;EACNC,OAAO;EACPC,YAAY;EACZC,cAAc;EACdC,iBAAiB;EACjBC,YAAY;EACZC,QAAQ;EACRC,cAAc;EACdC,uBAAuB;EACvBC,cAAc;EACd1B,SAAS;EACT2B,iBAAiB;EACjBC,cAAc,EAAEC,oBAAoB;EACpCC;AACK,CAAC,EAAE;EACR,MAAMC,mBAAmB,GAAGpE,KAAK,CAACqE,MAAM,CAAC,KAAK,CAAC;EAC/C,MAAMC,cAAc,GAAGtE,KAAK,CAACqE,MAAM,CAAqBE,SAAS,CAAC;EAElE,MAAMC,kBAAkB,GAAGxE,KAAK,CAACqE,MAAM,CAAqBE,SAAS,CAAC;EACtE,MAAME,yBAAyB,GAC7BzE,KAAK,CAACqE,MAAM,CAAgCE,SAAS,CAAC;EACxD,MAAMG,yBAAyB,GAC7B1E,KAAK,CAACqE,MAAM,CAAgCE,SAAS,CAAC;EAExD,MAAM,CAACzC,SAAS,CAAC,GAAG9B,KAAK,CAAC2E,QAAQ,CAAC,MAAM,IAAI1E,QAAQ,CAAC2E,KAAK,CAACxD,KAAK,CAAC,CAAC;EAEnE,MAAM,CAACyD,QAAQ,CAAC,GAAG7E,KAAK,CAAC2E,QAAQ,CAC/B,MACE,IAAI1E,QAAQ,CAAC2E,KAAK,CAChBnE,qBAAqB,CAACwB,gBAAgB,EAAEE,SAAS,KAAK,KAAK,CAC7D,CACJ,CAAC;EAED,MAAM,CAAC2C,UAAU,CAAC,GAAG9E,KAAK,CAAC2E,QAAQ,CAAC,OAAO;IACzCI,KAAK,EAAE,IAAI9E,QAAQ,CAAC2E,KAAK,CAAC7C,MAAM,CAACgD,KAAK,CAAC;IACvCC,MAAM,EAAE,IAAI/E,QAAQ,CAAC2E,KAAK,CAAC7C,MAAM,CAACiD,MAAM;EAC1C,CAAC,CAAC,CAAC;EAEH,MAAM,CAACC,SAAS,CAAC,GAAGjF,KAAK,CAAC2E,QAAQ,CAAC,MAAM,IAAI1E,QAAQ,CAAC2E,KAAK,CAACxD,KAAK,CAAC,CAAC;EAEnE,MAAM8D,OAAO,GAAG7E,iBAAiB,CAC/B,CAAC;IACCwB,OAAO,EAAEsD,cAAc;IACvBC;EAIF,CAAC,KAAK;IACJ,MAAMC,OAAO,GAAGzD,iBAAiB,CAAC;MAChCC,OAAO,EAAEsD,cAAc;MACvBpD,MAAM;MACNE,gBAAgB;MAChBE,SAAS;MACTE;IACF,CAAC,CAAC;IAEFiC,cAAc,CAACpB,OAAO,GAAGmC,OAAO;IAChCvD,SAAS,CAACwD,QAAQ,CAACH,cAAc,GAAGhE,IAAI,GAAGC,KAAK,CAAC;IAEjD,MAAMmE,IAAI,GAAGJ,cAAc,GAAGpB,cAAc,CAACyB,KAAK,GAAGzB,cAAc,CAAC0B,IAAI;IACxE,MAAMC,SAAS,GACbH,IAAI,CAACG,SAAS,KAAK,QAAQ,GAAGzF,QAAQ,CAAC0F,MAAM,GAAG1F,QAAQ,CAAC2F,MAAM;IAEjEC,YAAY,CAACpB,yBAAyB,CAACvB,OAAO,CAAC;IAE/C,IAAIsB,kBAAkB,CAACtB,OAAO,KAAKqB,SAAS,EAAE;MAC5CuB,oBAAoB,CAACtB,kBAAkB,CAACtB,OAAO,CAAC;IAClD;IAEAM,YAAY,GAAG;MACb3B,OAAO,EAAEsD,cAAc;MACvBhC,OAAO,EAAEiC,QAAQ,KAAKb;IACxB,CAAC,CAAC;IAEF,MAAMwB,QAAQ,GAAGA,CAAA,KAAM;MACrB,IAAIZ,cAAc,EAAE;QAClB5B,OAAO,CAAC,CAAC;MACX,CAAC,MAAM;QACLD,MAAM,CAAC,CAAC;MACV;MAEAkB,kBAAkB,CAACtB,OAAO,GAAG8C,qBAAqB,CAAC,MAAM;QACvD;QACAC,YAAY,CAAC,CAAC;MAChB,CAAC,CAAC;IACJ,CAAC;IAED,IAAInD,QAAQ,EAAE;MACZ4C,SAAS,CAACvC,OAAO,EAAE;QACjB,GAAGoC,IAAI,CAACW,MAAM;QACdd,QAAQ;QACRC,OAAO;QACPhE,eAAe;QACf8E,aAAa,EAAE;MACjB,CAAC,CAAC,CAACC,KAAK,CAAC,CAAC;QAAEC;MAAS,CAAC,KAAK;QACzBR,YAAY,CAACpB,yBAAyB,CAACvB,OAAO,CAAC;QAE/C,IAAImD,QAAQ,EAAE;UACZN,QAAQ,CAAC,CAAC;QACZ;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACLA,QAAQ,CAAC,CAAC;IACZ;EACF,CACF,CAAC;EAED,MAAMO,oBAAoB,GAAGjG,iBAAiB,CAC5C,CAAC;IAAEkG;EAA2C,CAAC,KAAK;IAClD,QAAQA,WAAW,CAACC,KAAK;MACvB,KAAK7F,YAAY,CAAC8F,MAAM;QACtBZ,YAAY,CAACpB,yBAAyB,CAACvB,OAAO,CAAC;QAC/C2C,YAAY,CAACnB,yBAAyB,CAACxB,OAAO,CAAC;QAC/C+B,SAAS,CAACK,QAAQ,CAACnE,IAAI,CAAC;QACxBsC,cAAc,GAAG,CAAC;QAClB;MACF,KAAK9C,YAAY,CAAC+F,SAAS;MAC3B,KAAK/F,YAAY,CAACgG,MAAM;QAAE;UACxB1B,SAAS,CAACK,QAAQ,CAAClE,KAAK,CAAC;UAEzB,MAAMgE,QAAQ,GACZnD,gBAAgB,KAAK,UAAU,IAC/BA,gBAAgB,KAAK,mBAAmB,GACpCsE,WAAW,CAACK,SAAS,GACrBL,WAAW,CAACM,SAAS;UAE3B3B,OAAO,CAAC;YACNrD,OAAO;YACPuD;UACF,CAAC,CAAC;UAEF1B,iBAAiB,GAAG,CAAC;UACrB;QACF;MACA,KAAK/C,YAAY,CAACmG,GAAG;QAAE;UACrB7B,SAAS,CAACK,QAAQ,CAAClE,KAAK,CAAC;UAEzB,IAAI2F,QAAQ;UACZ,IAAIC,WAAW;UACf,IAAI5B,QAAQ;UAEZ,IACEnD,gBAAgB,KAAK,UAAU,IAC/BA,gBAAgB,KAAK,mBAAmB,EACxC;YACA8E,QAAQ,GAAGhF,MAAM,CAACiD,MAAM;YACxBgC,WAAW,GAAGT,WAAW,CAACU,YAAY;YACtC7B,QAAQ,GAAGmB,WAAW,CAACK,SAAS;UAClC,CAAC,MAAM;YACLG,QAAQ,GAAGhF,MAAM,CAACgD,KAAK;YACvBiC,WAAW,GAAGT,WAAW,CAACW,YAAY;YACtC9B,QAAQ,GAAGmB,WAAW,CAACM,SAAS;UAClC;UAEA,MAAMM,WAAW,GACf,CAACH,WAAW,GAAG5B,QAAQ,GAAGvC,qBAAqB,IAC7CpC,qBAAqB,CAACwB,gBAAgB,EAAEE,SAAS,KAAK,KAAK,CAAC,GAC9D4E,QAAQ,GAAG,CAAC,GACR3B,QAAQ,KAAK,CAAC,IAAI4B,WAAW,KAAK,CAAC,GACnCnF,OAAO;UAEbqD,OAAO,CAAC;YAAErD,OAAO,EAAEsF,WAAW;YAAE/B;UAAS,CAAC,CAAC;UAE3C,IAAI+B,WAAW,EAAE;YACf;YACA;YACA1C,yBAAyB,CAACvB,OAAO,GAAGkE,UAAU,CAAC,MAAM;cACnD7D,OAAO,CAAC,CAAC;;cAET;cACA;cACA;cACAmB,yBAAyB,CAACxB,OAAO,GAAGkE,UAAU,CAAC,MAAM;gBACnDnB,YAAY,CAAC,CAAC;cAChB,CAAC,EAAE,EAAE,CAAC;YACR,CAAC,EAAE,EAAE,CAAC;UACR;UAEAtC,YAAY,GAAG,CAAC;UAChB;QACF;IACF;EACF,CACF,CAAC;EAED3D,KAAK,CAACqH,eAAe,CAAC,MAAM;IAC1BvC,UAAU,CAACC,KAAK,CAACO,QAAQ,CAACvD,MAAM,CAACgD,KAAK,CAAC;IACvCD,UAAU,CAACE,MAAM,CAACM,QAAQ,CAACvD,MAAM,CAACiD,MAAM,CAAC;IACzCH,QAAQ,CAACS,QAAQ,CACf7E,qBAAqB,CAACwB,gBAAgB,EAAEE,SAAS,KAAK,KAAK,CAC7D,CAAC;EACH,CAAC,EAAE,CACDF,gBAAgB,EAChBE,SAAS,EACT0C,QAAQ,EACRC,UAAU,CAACC,KAAK,EAChBD,UAAU,CAACE,MAAM,EACjBjD,MAAM,CAACgD,KAAK,EACZhD,MAAM,CAACiD,MAAM,CACd,CAAC;EAEF,MAAMsC,gBAAgB,GAAGtH,KAAK,CAACqE,MAAM,CAO3B,IAAI,CAAC;EAEfrE,KAAK,CAACuH,SAAS,CAAC,MAAM;IACpB,OAAO,MAAM;MACX,IAAI/C,kBAAkB,CAACtB,OAAO,EAAE;QAC9B4C,oBAAoB,CAACtB,kBAAkB,CAACtB,OAAO,CAAC;MAClD;MAEA2C,YAAY,CAACpB,yBAAyB,CAACvB,OAAO,CAAC;MAC/C2C,YAAY,CAACnB,yBAAyB,CAACxB,OAAO,CAAC;IACjD,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMsE,UAAU,GAAGxH,KAAK,CAACqE,MAAM,CAAgCE,SAAS,CAAC;EAEzE,MAAM0B,YAAY,GAAG5F,iBAAiB,CAAC,MAAM;IAC3CwF,YAAY,CAACpB,yBAAyB,CAACvB,OAAO,CAAC;IAC/C2C,YAAY,CAACnB,yBAAyB,CAACxB,OAAO,CAAC;IAE/C,IAAI,CAACkB,mBAAmB,CAAClB,OAAO,EAAE;MAChC;MACA;MACA;MACA;MACA;MACA2C,YAAY,CAAC2B,UAAU,CAACtE,OAAO,CAAC;MAEhCsE,UAAU,CAACtE,OAAO,GAAGkE,UAAU,CAAC,MAAM;QACpChD,mBAAmB,CAAClB,OAAO,GAAG,IAAI;QAClCgC,OAAO,CAAC;UAAErD;QAAQ,CAAC,CAAC;MACtB,CAAC,EAAE,CAAC,CAAC;IACP,CAAC,MAAM;MACL,MAAM4F,eAAe,GAAGH,gBAAgB,CAACpE,OAAO,EAAEF,OAAO;MACzD,MAAM0E,eAAe,GAAGJ,gBAAgB,CAACpE,OAAO,GAC5CtB,iBAAiB,CAAC0F,gBAAgB,CAACpE,OAAO,CAAC,GAC3C,IAAI;MAER,MAAMmC,OAAO,GAAGzD,iBAAiB,CAAC;QAChCC,OAAO;QACPE,MAAM;QACNE,gBAAgB;QAChBE,SAAS;QACTE;MACF,CAAC,CAAC;MAEF,IAAIqF,eAAe,KAAKrC,OAAO,IAAIf,cAAc,CAACpB,OAAO,KAAKmC,OAAO,EAAE;QACrE;QACA;QACA;QACA;QACA;QACAH,OAAO,CAAC;UAAErD;QAAQ,CAAC,CAAC;MACtB,CAAC,MAAM,IACL,OAAO4F,eAAe,KAAK,SAAS,IACpCzE,OAAO,IACP,CAACyE,eAAe,EAChB;QACA;QACA;QACAtE,OAAO,CAACmC,QAAQ,CACd9E,uBAAuB,CAACuB,MAAM,EAAEE,gBAAgB,EAAEE,SAAS,KAAK,KAAK,CACvE,CAAC;QAED+C,OAAO,CAAC;UAAErD;QAAQ,CAAC,CAAC;MACtB;IACF;EACF,CAAC,CAAC;EAEF7B,KAAK,CAACuH,SAAS,CAAC,MAAM;IACpB,IAAIlF,SAAS,EAAE;MACb;IACF;IAEA4D,YAAY,CAAC,CAAC;IAEdqB,gBAAgB,CAACpE,OAAO,GAAG;MACzBF,OAAO;MACPnB,OAAO;MACPE,MAAM;MACNE,gBAAgB;MAChBE,SAAS;MACTE;IACF,CAAC;EACH,CAAC,EAAE,CACD6C,OAAO,EACPrD,OAAO,EACPM,SAAS,EACTgB,OAAO,EACPlB,gBAAgB,EAChBF,MAAM,EACNiB,OAAO,EACPX,SAAS,EACT4D,YAAY,CACb,CAAC;EAEF,MAAM0B,kBAAkB,GAAG3H,KAAK,CAAC4H,OAAO,CACtC,OAAO;IACLC,KAAK,EAAE9E,kBAAkB;IACzBG,OAAO,EAAE;MAAE4E,QAAQ,EAAE5E;IAAQ,CAAC;IAC9BD,IAAI,EAAEA,IAAI,IAAI;MAAE6E,QAAQ,EAAE7E;IAAK,CAAC;IAChCpB,OAAO,EAAEC,SAAS;IAClBiG,OAAO,EAAE9C,SAAS;IAClBJ,QAAQ;IACRmD,OAAO,EAAE;MACPC,MAAM,EAAElG;IACV,CAAC;IACDqB,MAAM,EAAE;MACN8E,GAAG,EAAE9E,MAAM,CAAC8E,GAAG;MACfC,KAAK,EAAE/E,MAAM,CAAC+E,KAAK;MACnBC,MAAM,EAAEhF,MAAM,CAACgF,MAAM;MACrBC,IAAI,EAAEjF,MAAM,CAACiF;IACf;EACF,CAAC,CAAC,EACF,CACEtF,kBAAkB,EAClBG,OAAO,EACPD,IAAI,EACJnB,SAAS,EACTmD,SAAS,EACTJ,QAAQ,EACR9C,MAAM,EACNqB,MAAM,CAAC8E,GAAG,EACV9E,MAAM,CAAC+E,KAAK,EACZ/E,MAAM,CAACgF,MAAM,EACbhF,MAAM,CAACiF,IAAI,CAEf,CAAC;EAED,MAAM;IAAEpE,cAAc;IAAEqE,SAAS;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAC5DxI,KAAK,CAAC4H,OAAO,CACX,MAAM5D,iBAAiB,CAAC2D,kBAAkB,CAAC,EAC3C,CAAC3D,iBAAiB,EAAE2D,kBAAkB,CACxC,CAAC;EAEH,MAAMc,cAAc,GAAGzI,KAAK,CAAC4H,OAAO,CAClC,MACEhF,cAAc,GACV3C,QAAQ,CAACyI,KAAK,CACZ,CACE;IACEnC,WAAW,EACTtE,gBAAgB,KAAK,UAAU,IAC/BA,gBAAgB,KAAK,mBAAmB,GACpC;MAAEgF,YAAY,EAAE9D;IAAQ,CAAC,GACzB;MAAE+D,YAAY,EAAE/D;IAAQ;EAChC,CAAC,CACF,EACD;IAAE9B;EAAgB,CACpB,CAAC,GACDkD,SAAS,EACf,CAACpB,OAAO,EAAElB,gBAAgB,EAAEW,cAAc,CAC5C,CAAC;EAED,MAAM;IAAE+F;EAAgB,CAAC,GAAGxI,UAAU,CAACuB,OAAO,CAACyC,YAAY,IAAI,CAAC,CAAC,CAAC;EAElE,MAAMyE,aAAa,GACjB,OAAOD,eAAe,KAAK,QAAQ,GAC/BA,eAAe,KAAK,aAAa,IACjC5I,KAAK,CAAC4I,eAAe,CAAC,EAAEE,KAAK,CAAC,CAAC,KAAK,CAAC,GACrC,KAAK;EAEX,oBACE5H,KAAA,CAACX,oBAAoB,CAACwI,QAAQ;IAACC,KAAK,EAAEpB,kBAAmB;IAAA/D,QAAA,GACtD1D,QAAQ,CAACoB,EAAE,KAAK,KAAK,gBACpBP,IAAA,CAACd,QAAQ,CAACG,IAAI;MACZoB,KAAK,EAAE;QACL;QACA;QACA;QACA;QACAG,OAAO,EAAEuB;MACX;MACA;MAAA;MACA8F,WAAW,EAAE;IAAM,CACpB,CAAC,GACA,IAAI,EACPnF,cAAc,gBACb9C,IAAA,CAACX,IAAI;MAACoB,KAAK,EAAE,CAACrB,UAAU,CAAC8I,YAAY,EAAE;QAAEC,aAAa,EAAE;MAAW,CAAC,CAAE;MAAAtF,QAAA,EACnEnB,OAAO,CAAC;QAAEjB,KAAK,EAAE+G;MAAa,CAAC;IAAC,CAC7B,CAAC,GACL,IAAI,eACRxH,IAAA,CAACd,QAAQ,CAACG,IAAI;MACZoB,KAAK,EAAE,CAACgB,MAAM,CAAC2G,SAAS,EAAElF,cAAc,EAAEC,oBAAoB,CAAE;MAAAN,QAAA,eAEhE7C,IAAA,CAACH,iBAAiB;QAChBwI,OAAO,EAAErH,MAAM,CAACgD,KAAK,KAAK,CAAC,IAAInC,cAAe;QAC9C6F,cAAc,EAAEA,cAAe;QAC/BY,oBAAoB,EAAE/C,oBAAqB;QAAA,GACvC/F,yBAAyB,CAAC;UAC5BwB,MAAM;UACNI,SAAS;UACTF,gBAAgB;UAChB6B;QACF,CAAC,CAAC;QAAAF,QAAA,eAEF3C,KAAA,CAAChB,QAAQ,CAACG,IAAI;UACZkJ,8BAA8B,EAAE/H,eAAe,CAAC+G,SAAS,CAAE;UAC3D9G,KAAK,EAAE,CAACgB,MAAM,CAAC2G,SAAS,EAAEb,SAAS,CAAE;UAAA1E,QAAA,GAEpCjB,aAAa,IAAI6F,WAAW,IAAI,CAACI,aAAa,gBAC7C7H,IAAA,CAACd,QAAQ,CAACG,IAAI;YACZoB,KAAK,EAAE,CACLgB,MAAM,CAAC+G,MAAM,EACbtH,gBAAgB,KAAK,YAAY,GAC7B,CAACO,MAAM,CAACgH,gBAAgB,EAAEhH,MAAM,CAACiH,WAAW,CAAC,GAC7CxH,gBAAgB,KAAK,qBAAqB,GACxC,CAACO,MAAM,CAACgH,gBAAgB,EAAEhH,MAAM,CAACkH,SAAS,CAAC,GAC3CzH,gBAAgB,KAAK,UAAU,GAC7B,CAACO,MAAM,CAACmH,cAAc,EAAEnH,MAAM,CAACoH,SAAS,CAAC,GACzC,CAACpH,MAAM,CAACmH,cAAc,EAAEnH,MAAM,CAACqH,YAAY,CAAC,EACpD;cAAElB;YAAgB,CAAC,EACnBH,WAAW;UACX,CACH,CAAC,GACA,IAAI,eACRzH,IAAA,CAACF,WAAW;YACVuI,OAAO,EAAE/F,mBAAoB;YAC7BtB,MAAM,EAAEA,MAAO;YACfP,KAAK,EAAE2C,YAAa;YAAAP,QAAA,EAEnBA;UAAQ,CACE,CAAC;QAAA,CACD;MAAC,CACC;IAAC,CACP,CAAC;EAAA,CACa,CAAC;AAEpC;AAEA,SAASlB,IAAI;AAEb,MAAMF,MAAM,GAAGrC,UAAU,CAAC2J,MAAM,CAAC;EAC/BX,SAAS,EAAE;IACTY,IAAI,EAAE,CAAC;IACPb,aAAa,EAAE;EACjB,CAAC;EACDzG,OAAO,EAAE;IACPsH,IAAI,EAAE,CAAC;IACPpB,eAAe,EAAE,MAAM;IACvBO,aAAa,EAAE;EACjB,CAAC;EACDK,MAAM,EAAE;IACNS,QAAQ,EAAE,UAAU;IACpBd,aAAa,EAAE;EACjB,CAAC;EACDM,gBAAgB,EAAE;IAChBtB,GAAG,EAAE,CAAC;IACNE,MAAM,EAAE,CAAC;IACTrD,KAAK,EAAE,CAAC;IACR,GAAGrE,cAAc,CAAC;MAChBuJ,MAAM,EAAE;QACNlF,KAAK,EAAE,CAAC,CAAC;QACTC,MAAM,EAAE;MACV,CAAC;MACDkF,MAAM,EAAE,CAAC;MACTvI,OAAO,EAAE;IACX,CAAC;EACH,CAAC;EACD8H,WAAW,EAAE;IACXrD,KAAK,EAAE;EACT,CAAC;EACDsD,SAAS,EAAE;IACTS,GAAG,EAAE;EACP,CAAC;EACDR,cAAc,EAAE;IACdvD,KAAK,EAAE,CAAC;IACR+D,GAAG,EAAE,CAAC;IACNnF,MAAM,EAAE,CAAC;IACT,GAAGtE,cAAc,CAAC;MAChBuJ,MAAM,EAAE;QACNlF,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;MACX,CAAC;MACDkF,MAAM,EAAE,CAAC;MACTvI,OAAO,EAAE;IACX,CAAC;EACH,CAAC;EACDiI,SAAS,EAAE;IACT1B,GAAG,EAAE;EACP,CAAC;EACD2B,YAAY,EAAE;IACZzB,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Color","React","Animated","Platform","StyleSheet","View","useLatestCallback","CardAnimationContext","gestureActivationCriteria","getDistanceForDirection","getInvertedMultiplier","getShadowStyle","GestureDetector","usePanGesture","CardContent","jsx","_jsx","jsxs","_jsxs","GESTURE_VELOCITY_IMPACT","TRUE","FALSE","useNativeDriver","OS","hasOpacityStyle","style","flattenedStyle","flatten","opacity","getAnimateToValue","closing","isClosing","layout","currentLayout","gestureDirection","currentGestureDirection","direction","currentDirection","preloaded","isPreloaded","defaultOverlay","styles","overlay","Card","shadowEnabled","gestureEnabled","gestureVelocityImpact","animated","interpolationIndex","opening","next","current","gesture","insets","pageOverflowEnabled","onOpen","onClose","onTransition","onGestureBegin","onGestureCanceled","onGestureEnd","children","overlayEnabled","gestureResponseDistance","transitionSpec","styleInterpolator","containerStyle","customContainerStyle","contentStyle","didInitiallyAnimate","useRef","lastToValueRef","undefined","animationHandleRef","pendingGestureCallbackRef","pendingOnCloseCallbackRef","useState","Value","inverted","layoutAnim","width","height","isSwiping","animate","isClosingParam","velocity","toValue","setValue","spec","close","open","animation","spring","timing","clearTimeout","cancelAnimationFrame","onFinish","requestAnimationFrame","maybeAnimate","config","isInteraction","start","finished","useLayoutEffect","previousPropsRef","useEffect","timeoutRef","setTimeout","previousOpening","previousToValue","interpolationProps","useMemo","index","progress","swiping","layouts","screen","top","right","bottom","left","cardStyle","overlayStyle","shadowStyle","onGestureActivate","onGestureDeactivate","event","distance","translation","translationY","velocityY","translationX","velocityX","canceled","shouldClose","onGestureEvent","nativeEvent","handlerData","panGestureConfig","enabled","onActivate","onDeactivate","onUpdate","disableReanimated","useAnimated","panGesture","backgroundColor","isTransparent","alpha","Provider","value","collapsable","absoluteFill","pointerEvents","container","needsOffscreenAlphaCompositing","shadow","shadowHorizontal","shadowStart","shadowEnd","shadowVertical","shadowTop","shadowBottom","create","flex","position","offset","radius","end"],"sourceRoot":"../../../../src","sources":["views/Stack/Card.tsx"],"mappings":"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","ignoreList":[]}
@@ -25,17 +25,18 @@ const NAMED_TRANSITIONS_PRESETS = {
25
25
  default: BottomSheetAndroid
26
26
  })
27
27
  };
28
- const FALLBACK_DESCRIPTOR = Object.freeze({
29
- options: {}
30
- });
31
28
  const HIDDEN_HEADER_HEIGHT = {
32
29
  measured: false,
33
30
  value: 0
34
31
  };
35
32
  const getInterpolationIndex = (scenes, index) => {
33
+ const scene = scenes[index];
34
+ if (scene == null) {
35
+ throw new Error(`Couldn't find a scene at index ${index}.`);
36
+ }
36
37
  const {
37
38
  cardStyleInterpolator
38
- } = scenes[index].descriptor.options;
39
+ } = scene.descriptor.options;
39
40
 
40
41
  // Start from current card and count backwards the number of cards with same interpolation
41
42
  let interpolationIndex = 0;
@@ -169,11 +170,17 @@ export class CardStack extends React.Component {
169
170
  const nextRoute = isInactive ? undefined : self[index + 1];
170
171
  const oldScene = state.scenes[index];
171
172
  const currentGesture = gestures[route.key];
173
+ if (currentGesture == null) {
174
+ throw new Error(`Couldn't find a gesture for route '${route.key}'.`);
175
+ }
172
176
  const previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;
173
177
  const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;
174
- const descriptor = props.descriptors[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
175
- const nextOptions = nextRoute && (props.descriptors[nextRoute?.key] || state.descriptors[nextRoute?.key])?.options;
176
- const previousOptions = previousRoute && (props.descriptors[previousRoute?.key] || state.descriptors[previousRoute?.key])?.options;
178
+ const descriptor = props.descriptors[route.key] ?? state.descriptors[route.key] ?? oldScene?.descriptor;
179
+ if (descriptor == null) {
180
+ throw new Error(`Couldn't find a descriptor for route '${route.key}'.`);
181
+ }
182
+ const nextOptions = nextRoute ? (props.descriptors[nextRoute.key] ?? state.descriptors[nextRoute.key])?.options : undefined;
183
+ const previousOptions = previousRoute ? (props.descriptors[previousRoute.key] ?? state.descriptors[previousRoute.key])?.options : undefined;
177
184
 
178
185
  // When a screen is not the last, it should use next screen's transition config
179
186
  // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right
@@ -299,7 +306,11 @@ export class CardStack extends React.Component {
299
306
  const {
300
307
  state
301
308
  } = this.props;
302
- return state.routes[state.index];
309
+ const route = state.routes[state.index];
310
+ if (route == null) {
311
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
312
+ }
313
+ return route;
303
314
  };
304
315
  getPreviousScene = ({
305
316
  route
@@ -346,6 +357,9 @@ export class CardStack extends React.Component {
346
357
  } = this.state;
347
358
  const allRoutes = getAllRoutes(routes, state);
348
359
  const focusedRoute = state.routes[state.index];
360
+ if (focusedRoute == null) {
361
+ throw new Error(`Couldn't find a route at index ${state.index}.`);
362
+ }
349
363
 
350
364
  // Render only two top-most active headers as a workaround for
351
365
  // https://github.com/react-navigation/react-navigation/issues/12456.
@@ -387,6 +401,14 @@ export class CardStack extends React.Component {
387
401
  const focused = focusedRoute.key === route.key;
388
402
  const gesture = gestures[route.key];
389
403
  const scene = scenes[index];
404
+ if (gesture == null) {
405
+ throw new Error(`Couldn't find a gesture for route '${route.key}'.`);
406
+ }
407
+ if (scene == null) {
408
+ throw new Error(`Couldn't find a scene at index ${index}.`);
409
+ }
410
+ const nextScene = scenes[index + 1];
411
+ const nextRoute = self[index + 1];
390
412
  const {
391
413
  inactiveBehavior = 'pause',
392
414
  animation,
@@ -406,10 +428,10 @@ export class CardStack extends React.Component {
406
428
  const isAnimationEnabled = getAnimationEnabled(animation) || (
407
429
  // Also check next screen's animation,
408
430
  // As it will result in both screens being visible
409
- scenes[index + 1] ? getAnimationEnabled(scenes[index + 1].descriptor.options.animation) : false);
410
- const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal';
431
+ nextScene ? getAnimationEnabled(nextScene.descriptor.options.animation) : false);
432
+ const isNextScreenTransparent = nextScene?.descriptor.options.presentation === 'transparentModal';
411
433
  const isRemoving = replacingRouteKeys.includes(route.key) || closingRouteKeys.includes(route.key);
412
- const isFocusing = openingRouteKeys.includes(route.key) || [...closingRouteKeys, ...replacingRouteKeys].includes(self[index + 1]?.key);
434
+ const isFocusing = openingRouteKeys.includes(route.key) || nextRoute != null && [...closingRouteKeys, ...replacingRouteKeys].includes(nextRoute.key);
413
435
  const isInactive = isInactiveRoute(route, this.props.routes);
414
436
  const isRetained = state.retainedRouteKeys?.includes(route.key);
415
437
  const isPreloaded = isInactive && !isRetained;