@amazon-devices/react-navigation__stack 2.0.1758683737

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 (242) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +5 -0
  3. package/SystemBundles/ed2637c0b74cd42ce066fca701acc5cb0850978c5296fae5bd715d5e4c67b128.bundle +29321 -0
  4. package/SystemBundles/ed2637c0b74cd42ce066fca701acc5cb0850978c5296fae5bd715d5e4c67b128.map +1 -0
  5. package/SystemModules/amzn__react-navigation__stack-2.modules.txt +95 -0
  6. package/SystemModules/amzn__react-navigation__stack-2.private.modules.txt +258 -0
  7. package/SystemModules/keplerscript-system-bundle-config.json +7 -0
  8. package/THIRD_PARTY_NOTICES.txt +24 -0
  9. package/kepler-compatibility.json +8 -0
  10. package/kepler-transformed-package-info.json +3 -0
  11. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js +353 -0
  12. package/lib/commonjs/TransitionConfigs/CardStyleInterpolators.js.map +1 -0
  13. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js +259 -0
  14. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -0
  15. package/lib/commonjs/TransitionConfigs/TransitionPresets.js +134 -0
  16. package/lib/commonjs/TransitionConfigs/TransitionPresets.js.map +1 -0
  17. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js +100 -0
  18. package/lib/commonjs/TransitionConfigs/TransitionSpecs.js.map +1 -0
  19. package/lib/commonjs/index.js +69 -0
  20. package/lib/commonjs/index.js.map +1 -0
  21. package/lib/commonjs/navigators/createStackNavigator.js +82 -0
  22. package/lib/commonjs/navigators/createStackNavigator.js.map +1 -0
  23. package/lib/commonjs/types.js +6 -0
  24. package/lib/commonjs/types.js.map +1 -0
  25. package/lib/commonjs/utils/CardAnimationContext.js +11 -0
  26. package/lib/commonjs/utils/CardAnimationContext.js.map +1 -0
  27. package/lib/commonjs/utils/GestureHandlerRefContext.js +11 -0
  28. package/lib/commonjs/utils/GestureHandlerRefContext.js.map +1 -0
  29. package/lib/commonjs/utils/ModalPresentationContext.js +12 -0
  30. package/lib/commonjs/utils/ModalPresentationContext.js.map +1 -0
  31. package/lib/commonjs/utils/conditional.js +32 -0
  32. package/lib/commonjs/utils/conditional.js.map +1 -0
  33. package/lib/commonjs/utils/debounce.js +19 -0
  34. package/lib/commonjs/utils/debounce.js.map +1 -0
  35. package/lib/commonjs/utils/findLastIndex.js +15 -0
  36. package/lib/commonjs/utils/findLastIndex.js.map +1 -0
  37. package/lib/commonjs/utils/getDistanceForDirection.js +20 -0
  38. package/lib/commonjs/utils/getDistanceForDirection.js.map +1 -0
  39. package/lib/commonjs/utils/getInvertedMultiplier.js +20 -0
  40. package/lib/commonjs/utils/getInvertedMultiplier.js.map +1 -0
  41. package/lib/commonjs/utils/memoize.js +33 -0
  42. package/lib/commonjs/utils/memoize.js.map +1 -0
  43. package/lib/commonjs/utils/useCardAnimation.js +19 -0
  44. package/lib/commonjs/utils/useCardAnimation.js.map +1 -0
  45. package/lib/commonjs/utils/useGestureHandlerRef.js +19 -0
  46. package/lib/commonjs/utils/useGestureHandlerRef.js.map +1 -0
  47. package/lib/commonjs/utils/useKeyboardManager.js +96 -0
  48. package/lib/commonjs/utils/useKeyboardManager.js.map +1 -0
  49. package/lib/commonjs/views/GestureHandler.android.js +17 -0
  50. package/lib/commonjs/views/GestureHandler.android.js.map +1 -0
  51. package/lib/commonjs/views/GestureHandler.ios.js +17 -0
  52. package/lib/commonjs/views/GestureHandler.ios.js.map +1 -0
  53. package/lib/commonjs/views/GestureHandler.js +24 -0
  54. package/lib/commonjs/views/GestureHandler.js.map +1 -0
  55. package/lib/commonjs/views/GestureHandlerNative.js +34 -0
  56. package/lib/commonjs/views/GestureHandlerNative.js.map +1 -0
  57. package/lib/commonjs/views/Header/Header.js +61 -0
  58. package/lib/commonjs/views/Header/Header.js.map +1 -0
  59. package/lib/commonjs/views/Header/HeaderContainer.js +127 -0
  60. package/lib/commonjs/views/Header/HeaderContainer.js.map +1 -0
  61. package/lib/commonjs/views/Header/HeaderSegment.js +139 -0
  62. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -0
  63. package/lib/commonjs/views/ModalStatusBarManager.js +42 -0
  64. package/lib/commonjs/views/ModalStatusBarManager.js.map +1 -0
  65. package/lib/commonjs/views/Screens.js +44 -0
  66. package/lib/commonjs/views/Screens.js.map +1 -0
  67. package/lib/commonjs/views/Stack/Card.js +469 -0
  68. package/lib/commonjs/views/Stack/Card.js.map +1 -0
  69. package/lib/commonjs/views/Stack/CardContainer.js +259 -0
  70. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -0
  71. package/lib/commonjs/views/Stack/CardSheet.js +54 -0
  72. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -0
  73. package/lib/commonjs/views/Stack/CardStack.js +442 -0
  74. package/lib/commonjs/views/Stack/CardStack.js.map +1 -0
  75. package/lib/commonjs/views/Stack/StackView.js +333 -0
  76. package/lib/commonjs/views/Stack/StackView.js.map +1 -0
  77. package/lib/module/TransitionConfigs/CardStyleInterpolators.js +338 -0
  78. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -0
  79. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js +248 -0
  80. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -0
  81. package/lib/module/TransitionConfigs/TransitionPresets.js +128 -0
  82. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -0
  83. package/lib/module/TransitionConfigs/TransitionSpecs.js +94 -0
  84. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -0
  85. package/lib/module/index.js +33 -0
  86. package/lib/module/index.js.map +1 -0
  87. package/lib/module/navigators/createStackNavigator.js +73 -0
  88. package/lib/module/navigators/createStackNavigator.js.map +1 -0
  89. package/lib/module/types.js +2 -0
  90. package/lib/module/types.js.map +1 -0
  91. package/lib/module/utils/CardAnimationContext.js +3 -0
  92. package/lib/module/utils/CardAnimationContext.js.map +1 -0
  93. package/lib/module/utils/GestureHandlerRefContext.js +3 -0
  94. package/lib/module/utils/GestureHandlerRefContext.js.map +1 -0
  95. package/lib/module/utils/ModalPresentationContext.js +4 -0
  96. package/lib/module/utils/ModalPresentationContext.js.map +1 -0
  97. package/lib/module/utils/conditional.js +26 -0
  98. package/lib/module/utils/conditional.js.map +1 -0
  99. package/lib/module/utils/debounce.js +13 -0
  100. package/lib/module/utils/debounce.js.map +1 -0
  101. package/lib/module/utils/findLastIndex.js +9 -0
  102. package/lib/module/utils/findLastIndex.js.map +1 -0
  103. package/lib/module/utils/getDistanceForDirection.js +13 -0
  104. package/lib/module/utils/getDistanceForDirection.js.map +1 -0
  105. package/lib/module/utils/getInvertedMultiplier.js +14 -0
  106. package/lib/module/utils/getInvertedMultiplier.js.map +1 -0
  107. package/lib/module/utils/memoize.js +27 -0
  108. package/lib/module/utils/memoize.js.map +1 -0
  109. package/lib/module/utils/useCardAnimation.js +10 -0
  110. package/lib/module/utils/useCardAnimation.js.map +1 -0
  111. package/lib/module/utils/useGestureHandlerRef.js +10 -0
  112. package/lib/module/utils/useGestureHandlerRef.js.map +1 -0
  113. package/lib/module/utils/useKeyboardManager.js +88 -0
  114. package/lib/module/utils/useKeyboardManager.js.map +1 -0
  115. package/lib/module/views/GestureHandler.android.js +2 -0
  116. package/lib/module/views/GestureHandler.android.js.map +1 -0
  117. package/lib/module/views/GestureHandler.ios.js +2 -0
  118. package/lib/module/views/GestureHandler.ios.js.map +1 -0
  119. package/lib/module/views/GestureHandler.js +16 -0
  120. package/lib/module/views/GestureHandler.js.map +1 -0
  121. package/lib/module/views/GestureHandlerNative.js +14 -0
  122. package/lib/module/views/GestureHandlerNative.js.map +1 -0
  123. package/lib/module/views/Header/Header.js +52 -0
  124. package/lib/module/views/Header/Header.js.map +1 -0
  125. package/lib/module/views/Header/HeaderContainer.js +118 -0
  126. package/lib/module/views/Header/HeaderContainer.js.map +1 -0
  127. package/lib/module/views/Header/HeaderSegment.js +130 -0
  128. package/lib/module/views/Header/HeaderSegment.js.map +1 -0
  129. package/lib/module/views/ModalStatusBarManager.js +34 -0
  130. package/lib/module/views/ModalStatusBarManager.js.map +1 -0
  131. package/lib/module/views/Screens.js +34 -0
  132. package/lib/module/views/Screens.js.map +1 -0
  133. package/lib/module/views/Stack/Card.js +458 -0
  134. package/lib/module/views/Stack/Card.js.map +1 -0
  135. package/lib/module/views/Stack/CardContainer.js +250 -0
  136. package/lib/module/views/Stack/CardContainer.js.map +1 -0
  137. package/lib/module/views/Stack/CardSheet.js +46 -0
  138. package/lib/module/views/Stack/CardSheet.js.map +1 -0
  139. package/lib/module/views/Stack/CardStack.js +432 -0
  140. package/lib/module/views/Stack/CardStack.js.map +1 -0
  141. package/lib/module/views/Stack/StackView.js +323 -0
  142. package/lib/module/views/Stack/StackView.js.map +1 -0
  143. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts +35 -0
  144. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -0
  145. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +23 -0
  146. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -0
  147. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts +42 -0
  148. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  149. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts +36 -0
  150. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  151. package/lib/typescript/src/index.d.ts +29 -0
  152. package/lib/typescript/src/index.d.ts.map +1 -0
  153. package/lib/typescript/src/navigators/createStackNavigator.d.ts +8 -0
  154. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +1 -0
  155. package/lib/typescript/src/types.d.ts +481 -0
  156. package/lib/typescript/src/types.d.ts.map +1 -0
  157. package/lib/typescript/src/utils/CardAnimationContext.d.ts +5 -0
  158. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +1 -0
  159. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts +4 -0
  160. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +1 -0
  161. package/lib/typescript/src/utils/ModalPresentationContext.d.ts +4 -0
  162. package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +1 -0
  163. package/lib/typescript/src/utils/conditional.d.ts +10 -0
  164. package/lib/typescript/src/utils/conditional.d.ts.map +1 -0
  165. package/lib/typescript/src/utils/debounce.d.ts +2 -0
  166. package/lib/typescript/src/utils/debounce.d.ts.map +1 -0
  167. package/lib/typescript/src/utils/findLastIndex.d.ts +2 -0
  168. package/lib/typescript/src/utils/findLastIndex.d.ts.map +1 -0
  169. package/lib/typescript/src/utils/getDistanceForDirection.d.ts +3 -0
  170. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +1 -0
  171. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts +3 -0
  172. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +1 -0
  173. package/lib/typescript/src/utils/memoize.d.ts +2 -0
  174. package/lib/typescript/src/utils/memoize.d.ts.map +1 -0
  175. package/lib/typescript/src/utils/useCardAnimation.d.ts +2 -0
  176. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +1 -0
  177. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts +3 -0
  178. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +1 -0
  179. package/lib/typescript/src/utils/useKeyboardManager.d.ts +6 -0
  180. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +1 -0
  181. package/lib/typescript/src/views/GestureHandler.android.d.ts +2 -0
  182. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -0
  183. package/lib/typescript/src/views/GestureHandler.d.ts +14 -0
  184. package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -0
  185. package/lib/typescript/src/views/GestureHandler.ios.d.ts +2 -0
  186. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -0
  187. package/lib/typescript/src/views/GestureHandlerNative.d.ts +6 -0
  188. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -0
  189. package/lib/typescript/src/views/Header/Header.d.ts +5 -0
  190. package/lib/typescript/src/views/Header/Header.d.ts.map +1 -0
  191. package/lib/typescript/src/views/Header/HeaderContainer.d.ts +20 -0
  192. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +1 -0
  193. package/lib/typescript/src/views/Header/HeaderSegment.d.ts +14 -0
  194. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +1 -0
  195. package/lib/typescript/src/views/ModalStatusBarManager.d.ts +12 -0
  196. package/lib/typescript/src/views/ModalStatusBarManager.d.ts.map +1 -0
  197. package/lib/typescript/src/views/Screens.d.ts +13 -0
  198. package/lib/typescript/src/views/Screens.d.ts.map +1 -0
  199. package/lib/typescript/src/views/Stack/Card.d.ts +76 -0
  200. package/lib/typescript/src/views/Stack/Card.d.ts.map +1 -0
  201. package/lib/typescript/src/views/Stack/CardContainer.d.ts +63 -0
  202. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +1 -0
  203. package/lib/typescript/src/views/Stack/CardSheet.d.ts +15 -0
  204. package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +1 -0
  205. package/lib/typescript/src/views/Stack/CardStack.d.ts +67 -0
  206. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +1 -0
  207. package/lib/typescript/src/views/Stack/StackView.d.ts +122 -0
  208. package/lib/typescript/src/views/Stack/StackView.d.ts.map +1 -0
  209. package/package.json +1 -0
  210. package/src/TransitionConfigs/CardStyleInterpolators.tsx +394 -0
  211. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +268 -0
  212. package/src/TransitionConfigs/TransitionPresets.tsx +152 -0
  213. package/src/TransitionConfigs/TransitionSpecs.tsx +96 -0
  214. package/src/index.tsx +51 -0
  215. package/src/navigators/createStackNavigator.tsx +136 -0
  216. package/src/types.tsx +547 -0
  217. package/src/utils/CardAnimationContext.tsx +7 -0
  218. package/src/utils/GestureHandlerRefContext.tsx +5 -0
  219. package/src/utils/ModalPresentationContext.tsx +5 -0
  220. package/src/utils/conditional.tsx +33 -0
  221. package/src/utils/debounce.tsx +17 -0
  222. package/src/utils/findLastIndex.tsx +12 -0
  223. package/src/utils/getDistanceForDirection.tsx +18 -0
  224. package/src/utils/getInvertedMultiplier.tsx +18 -0
  225. package/src/utils/memoize.tsx +33 -0
  226. package/src/utils/useCardAnimation.tsx +15 -0
  227. package/src/utils/useGestureHandlerRef.tsx +15 -0
  228. package/src/utils/useKeyboardManager.tsx +105 -0
  229. package/src/views/GestureHandler.android.tsx +1 -0
  230. package/src/views/GestureHandler.ios.tsx +1 -0
  231. package/src/views/GestureHandler.tsx +23 -0
  232. package/src/views/GestureHandlerNative.tsx +23 -0
  233. package/src/views/Header/Header.tsx +72 -0
  234. package/src/views/Header/HeaderContainer.tsx +186 -0
  235. package/src/views/Header/HeaderSegment.tsx +205 -0
  236. package/src/views/ModalStatusBarManager.tsx +50 -0
  237. package/src/views/Screens.tsx +43 -0
  238. package/src/views/Stack/Card.tsx +628 -0
  239. package/src/views/Stack/CardContainer.tsx +320 -0
  240. package/src/views/Stack/CardSheet.tsx +61 -0
  241. package/src/views/Stack/CardStack.tsx +717 -0
  242. package/src/views/Stack/StackView.tsx +474 -0
@@ -0,0 +1,469 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getIsModalPresentation = exports.default = void 0;
7
+ var _color = _interopRequireDefault(require("color"));
8
+ var React = _interopRequireWildcard(require("react"));
9
+ var _reactNative = require("react-native");
10
+ var _CardStyleInterpolators = require("../../TransitionConfigs/CardStyleInterpolators");
11
+ var _CardAnimationContext = _interopRequireDefault(require("../../utils/CardAnimationContext"));
12
+ var _getDistanceForDirection = _interopRequireDefault(require("../../utils/getDistanceForDirection"));
13
+ var _getInvertedMultiplier = _interopRequireDefault(require("../../utils/getInvertedMultiplier"));
14
+ var _memoize = _interopRequireDefault(require("../../utils/memoize"));
15
+ var _GestureHandler = require("../GestureHandler");
16
+ var _ModalStatusBarManager = _interopRequireDefault(require("../ModalStatusBarManager"));
17
+ var _CardSheet = _interopRequireDefault(require("./CardSheet"));
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
21
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
22
+ const GESTURE_VELOCITY_IMPACT = 0.3;
23
+ const TRUE = 1;
24
+ const FALSE = 0;
25
+
26
+ /**
27
+ * The distance of touch start from the edge of the screen where the gesture will be recognized
28
+ */
29
+ const GESTURE_RESPONSE_DISTANCE_HORIZONTAL = 50;
30
+ const GESTURE_RESPONSE_DISTANCE_VERTICAL = 135;
31
+ const useNativeDriver = _reactNative.Platform.OS !== 'web';
32
+ const hasOpacityStyle = style => {
33
+ if (style) {
34
+ const flattenedStyle = _reactNative.StyleSheet.flatten(style);
35
+ return flattenedStyle.opacity != null;
36
+ }
37
+ return false;
38
+ };
39
+ class Card extends React.Component {
40
+ static defaultProps = {
41
+ shadowEnabled: false,
42
+ gestureEnabled: true,
43
+ gestureVelocityImpact: GESTURE_VELOCITY_IMPACT,
44
+ overlay: ({
45
+ style
46
+ }) => style ? /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
47
+ pointerEvents: "none",
48
+ style: [styles.overlay, style]
49
+ }) : null
50
+ };
51
+ componentDidMount() {
52
+ this.animate({
53
+ closing: this.props.closing
54
+ });
55
+ this.isCurrentlyMounted = true;
56
+ }
57
+ componentDidUpdate(prevProps) {
58
+ const {
59
+ layout,
60
+ gestureDirection,
61
+ closing
62
+ } = this.props;
63
+ const {
64
+ width,
65
+ height
66
+ } = layout;
67
+ if (width !== prevProps.layout.width) {
68
+ this.layout.width.setValue(width);
69
+ }
70
+ if (height !== prevProps.layout.height) {
71
+ this.layout.height.setValue(height);
72
+ }
73
+ if (gestureDirection !== prevProps.gestureDirection) {
74
+ this.inverted.setValue((0, _getInvertedMultiplier.default)(gestureDirection));
75
+ }
76
+ const toValue = this.getAnimateToValue(this.props);
77
+ if (this.getAnimateToValue(prevProps) !== toValue || this.lastToValue !== toValue) {
78
+ // We need to trigger the animation when route was closed
79
+ // Thr route might have been closed by a `POP` action or by a gesture
80
+ // When route was closed due to a gesture, the animation would've happened already
81
+ // It's still important to trigger the animation so that `onClose` is called
82
+ // If `onClose` is not called, cleanup step won't be performed for gestures
83
+ this.animate({
84
+ closing
85
+ });
86
+ }
87
+ }
88
+ componentWillUnmount() {
89
+ this.props.gesture.stopAnimation();
90
+ this.isCurrentlyMounted = false;
91
+ this.handleEndInteraction();
92
+ }
93
+ isCurrentlyMounted = false;
94
+ isClosing = new _reactNative.Animated.Value(FALSE);
95
+ inverted = new _reactNative.Animated.Value((0, _getInvertedMultiplier.default)(this.props.gestureDirection));
96
+ layout = {
97
+ width: new _reactNative.Animated.Value(this.props.layout.width),
98
+ height: new _reactNative.Animated.Value(this.props.layout.height)
99
+ };
100
+ isSwiping = new _reactNative.Animated.Value(FALSE);
101
+ animate = ({
102
+ closing,
103
+ velocity
104
+ }) => {
105
+ const {
106
+ gesture,
107
+ transitionSpec,
108
+ onOpen,
109
+ onClose,
110
+ onTransition
111
+ } = this.props;
112
+ const toValue = this.getAnimateToValue({
113
+ ...this.props,
114
+ closing
115
+ });
116
+ this.lastToValue = toValue;
117
+ this.isClosing.setValue(closing ? TRUE : FALSE);
118
+ const spec = closing ? transitionSpec.close : transitionSpec.open;
119
+ const animation = spec.animation === 'spring' ? _reactNative.Animated.spring : _reactNative.Animated.timing;
120
+ this.setPointerEventsEnabled(!closing);
121
+ this.handleStartInteraction();
122
+ clearTimeout(this.pendingGestureCallback);
123
+ onTransition === null || onTransition === void 0 || onTransition({
124
+ closing,
125
+ gesture: velocity !== undefined
126
+ });
127
+ animation(gesture, {
128
+ ...spec.config,
129
+ velocity,
130
+ toValue,
131
+ useNativeDriver,
132
+ isInteraction: false
133
+ }).start(({
134
+ finished
135
+ }) => {
136
+ this.handleEndInteraction();
137
+ clearTimeout(this.pendingGestureCallback);
138
+ if (finished) {
139
+ if (closing) {
140
+ onClose();
141
+ } else {
142
+ onOpen();
143
+ }
144
+ if (this.isCurrentlyMounted) {
145
+ // Make sure to re-open screen if it wasn't removed
146
+ this.forceUpdate();
147
+ }
148
+ }
149
+ });
150
+ };
151
+ getAnimateToValue = ({
152
+ closing,
153
+ layout,
154
+ gestureDirection
155
+ }) => {
156
+ if (!closing) {
157
+ return 0;
158
+ }
159
+ return (0, _getDistanceForDirection.default)(layout, gestureDirection);
160
+ };
161
+ setPointerEventsEnabled = enabled => {
162
+ var _this$ref$current;
163
+ const pointerEvents = enabled ? 'box-none' : 'none';
164
+ (_this$ref$current = this.ref.current) === null || _this$ref$current === void 0 || _this$ref$current.setPointerEvents(pointerEvents);
165
+ };
166
+ handleStartInteraction = () => {
167
+ if (this.interactionHandle === undefined) {
168
+ this.interactionHandle = _reactNative.InteractionManager.createInteractionHandle();
169
+ }
170
+ };
171
+ handleEndInteraction = () => {
172
+ if (this.interactionHandle !== undefined) {
173
+ _reactNative.InteractionManager.clearInteractionHandle(this.interactionHandle);
174
+ this.interactionHandle = undefined;
175
+ }
176
+ };
177
+ handleGestureStateChange = ({
178
+ nativeEvent
179
+ }) => {
180
+ const {
181
+ layout,
182
+ onClose,
183
+ onGestureBegin,
184
+ onGestureCanceled,
185
+ onGestureEnd,
186
+ gestureDirection,
187
+ gestureVelocityImpact
188
+ } = this.props;
189
+ switch (nativeEvent.state) {
190
+ case _GestureHandler.GestureState.ACTIVE:
191
+ this.isSwiping.setValue(TRUE);
192
+ this.handleStartInteraction();
193
+ onGestureBegin === null || onGestureBegin === void 0 || onGestureBegin();
194
+ break;
195
+ case _GestureHandler.GestureState.CANCELLED:
196
+ {
197
+ this.isSwiping.setValue(FALSE);
198
+ this.handleEndInteraction();
199
+ const velocity = gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? nativeEvent.velocityY : nativeEvent.velocityX;
200
+ this.animate({
201
+ closing: this.props.closing,
202
+ velocity
203
+ });
204
+ onGestureCanceled === null || onGestureCanceled === void 0 || onGestureCanceled();
205
+ break;
206
+ }
207
+ case _GestureHandler.GestureState.END:
208
+ {
209
+ this.isSwiping.setValue(FALSE);
210
+ let distance;
211
+ let translation;
212
+ let velocity;
213
+ if (gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted') {
214
+ distance = layout.height;
215
+ translation = nativeEvent.translationY;
216
+ velocity = nativeEvent.velocityY;
217
+ } else {
218
+ distance = layout.width;
219
+ translation = nativeEvent.translationX;
220
+ velocity = nativeEvent.velocityX;
221
+ }
222
+ const closing = (translation + velocity * gestureVelocityImpact) * (0, _getInvertedMultiplier.default)(gestureDirection) > distance / 2 ? velocity !== 0 || translation !== 0 : this.props.closing;
223
+ this.animate({
224
+ closing,
225
+ velocity
226
+ });
227
+ if (closing) {
228
+ // We call onClose with a delay to make sure that the animation has already started
229
+ // This will make sure that the state update caused by this doesn't affect start of animation
230
+ this.pendingGestureCallback = setTimeout(() => {
231
+ onClose();
232
+
233
+ // Trigger an update after we dispatch the action to remove the screen
234
+ // This will make sure that we check if the screen didn't get removed so we can cancel the animation
235
+ this.forceUpdate();
236
+ }, 32);
237
+ }
238
+ onGestureEnd === null || onGestureEnd === void 0 || onGestureEnd();
239
+ break;
240
+ }
241
+ }
242
+ };
243
+
244
+ // Memoize this to avoid extra work on re-render
245
+ getInterpolatedStyle = (0, _memoize.default)((styleInterpolator, animation) => styleInterpolator(animation));
246
+
247
+ // Keep track of the animation context when deps changes.
248
+ getCardAnimation = (0, _memoize.default)((interpolationIndex, current, next, layout, insetTop, insetRight, insetBottom, insetLeft) => ({
249
+ index: interpolationIndex,
250
+ current: {
251
+ progress: current
252
+ },
253
+ next: next && {
254
+ progress: next
255
+ },
256
+ closing: this.isClosing,
257
+ swiping: this.isSwiping,
258
+ inverted: this.inverted,
259
+ layouts: {
260
+ screen: layout
261
+ },
262
+ insets: {
263
+ top: insetTop,
264
+ right: insetRight,
265
+ bottom: insetBottom,
266
+ left: insetLeft
267
+ }
268
+ }));
269
+ gestureActivationCriteria() {
270
+ const {
271
+ layout,
272
+ gestureDirection,
273
+ gestureResponseDistance
274
+ } = this.props;
275
+ const enableTrackpadTwoFingerGesture = true;
276
+ const distance = gestureResponseDistance !== undefined ? gestureResponseDistance : gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? GESTURE_RESPONSE_DISTANCE_VERTICAL : GESTURE_RESPONSE_DISTANCE_HORIZONTAL;
277
+ if (gestureDirection === 'vertical') {
278
+ return {
279
+ maxDeltaX: 15,
280
+ minOffsetY: 5,
281
+ hitSlop: {
282
+ bottom: -layout.height + distance
283
+ },
284
+ enableTrackpadTwoFingerGesture
285
+ };
286
+ } else if (gestureDirection === 'vertical-inverted') {
287
+ return {
288
+ maxDeltaX: 15,
289
+ minOffsetY: -5,
290
+ hitSlop: {
291
+ top: -layout.height + distance
292
+ },
293
+ enableTrackpadTwoFingerGesture
294
+ };
295
+ } else {
296
+ const hitSlop = -layout.width + distance;
297
+ const invertedMultiplier = (0, _getInvertedMultiplier.default)(gestureDirection);
298
+ if (invertedMultiplier === 1) {
299
+ return {
300
+ minOffsetX: 5,
301
+ maxDeltaY: 20,
302
+ hitSlop: {
303
+ right: hitSlop
304
+ },
305
+ enableTrackpadTwoFingerGesture
306
+ };
307
+ } else {
308
+ return {
309
+ minOffsetX: -5,
310
+ maxDeltaY: 20,
311
+ hitSlop: {
312
+ left: hitSlop
313
+ },
314
+ enableTrackpadTwoFingerGesture
315
+ };
316
+ }
317
+ }
318
+ }
319
+ ref = /*#__PURE__*/React.createRef();
320
+ render() {
321
+ const {
322
+ styleInterpolator,
323
+ interpolationIndex,
324
+ current,
325
+ gesture,
326
+ next,
327
+ layout,
328
+ insets,
329
+ overlay,
330
+ overlayEnabled,
331
+ shadowEnabled,
332
+ gestureEnabled,
333
+ gestureDirection,
334
+ pageOverflowEnabled,
335
+ headerDarkContent,
336
+ children,
337
+ containerStyle: customContainerStyle,
338
+ contentStyle,
339
+ ...rest
340
+ } = this.props;
341
+ const interpolationProps = this.getCardAnimation(interpolationIndex, current, next, layout, insets.top, insets.right, insets.bottom, insets.left);
342
+ const interpolatedStyle = this.getInterpolatedStyle(styleInterpolator, interpolationProps);
343
+ const {
344
+ containerStyle,
345
+ cardStyle,
346
+ overlayStyle,
347
+ shadowStyle
348
+ } = interpolatedStyle;
349
+ const handleGestureEvent = gestureEnabled ? _reactNative.Animated.event([{
350
+ nativeEvent: gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? {
351
+ translationY: gesture
352
+ } : {
353
+ translationX: gesture
354
+ }
355
+ }], {
356
+ useNativeDriver
357
+ }) : undefined;
358
+ const {
359
+ backgroundColor
360
+ } = _reactNative.StyleSheet.flatten(contentStyle || {});
361
+ const isTransparent = typeof backgroundColor === 'string' ? (0, _color.default)(backgroundColor).alpha() === 0 : false;
362
+ return /*#__PURE__*/React.createElement(_CardAnimationContext.default.Provider, {
363
+ value: interpolationProps
364
+ },
365
+ // StatusBar messes with translucent status bar on Android
366
+ // So we should only enable it on iOS
367
+ _reactNative.Platform.OS === 'ios' && overlayEnabled && next && getIsModalPresentation(styleInterpolator) ? /*#__PURE__*/React.createElement(_ModalStatusBarManager.default, {
368
+ dark: headerDarkContent,
369
+ layout: layout,
370
+ insets: insets,
371
+ style: cardStyle
372
+ }) : null, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
373
+ style: {
374
+ // This is a dummy style that doesn't actually change anything visually.
375
+ // Animated needs the animated value to be used somewhere, otherwise things don't update properly.
376
+ // If we disable animations and hide header, it could end up making the value unused.
377
+ // So we have this dummy style that will always be used regardless of what else changed.
378
+ opacity: current
379
+ }
380
+ // Make sure that this view isn't removed. If this view is removed, our style with animated value won't apply
381
+ ,
382
+ collapsable: false
383
+ }), /*#__PURE__*/React.createElement(_reactNative.View, _extends({
384
+ pointerEvents: "box-none"
385
+ // Make sure this view is not removed on the new architecture, as it causes focus loss during navigation on Android.
386
+ // This can happen when the view flattening results in different trees - due to `overflow` style changing in a parent.
387
+ ,
388
+ collapsable: false
389
+ }, rest), overlayEnabled ? /*#__PURE__*/React.createElement(_reactNative.View, {
390
+ pointerEvents: "box-none",
391
+ style: _reactNative.StyleSheet.absoluteFill
392
+ }, overlay({
393
+ style: overlayStyle
394
+ })) : null, /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
395
+ style: [styles.container, containerStyle, customContainerStyle],
396
+ pointerEvents: "box-none"
397
+ }, /*#__PURE__*/React.createElement(_GestureHandler.PanGestureHandler, _extends({
398
+ enabled: layout.width !== 0 && gestureEnabled,
399
+ onGestureEvent: handleGestureEvent,
400
+ onHandlerStateChange: this.handleGestureStateChange
401
+ }, this.gestureActivationCriteria()), /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
402
+ needsOffscreenAlphaCompositing: hasOpacityStyle(cardStyle),
403
+ style: [styles.container, cardStyle]
404
+ }, shadowEnabled && shadowStyle && !isTransparent ? /*#__PURE__*/React.createElement(_reactNative.Animated.View, {
405
+ style: [styles.shadow, gestureDirection === 'horizontal' ? [styles.shadowHorizontal, styles.shadowLeft] : gestureDirection === 'horizontal-inverted' ? [styles.shadowHorizontal, styles.shadowRight] : gestureDirection === 'vertical' ? [styles.shadowVertical, styles.shadowTop] : [styles.shadowVertical, styles.shadowBottom], {
406
+ backgroundColor
407
+ }, shadowStyle],
408
+ pointerEvents: "none"
409
+ }) : null, /*#__PURE__*/React.createElement(_CardSheet.default, {
410
+ ref: this.ref,
411
+ enabled: pageOverflowEnabled,
412
+ layout: layout,
413
+ style: contentStyle
414
+ }, children))))));
415
+ }
416
+ }
417
+ exports.default = Card;
418
+ const getIsModalPresentation = cardStyleInterpolator => {
419
+ return cardStyleInterpolator === _CardStyleInterpolators.forModalPresentationIOS ||
420
+ // Handle custom modal presentation interpolators as well
421
+ cardStyleInterpolator.name === 'forModalPresentationIOS';
422
+ };
423
+ exports.getIsModalPresentation = getIsModalPresentation;
424
+ const styles = _reactNative.StyleSheet.create({
425
+ container: {
426
+ flex: 1
427
+ },
428
+ overlay: {
429
+ flex: 1,
430
+ backgroundColor: '#000'
431
+ },
432
+ shadow: {
433
+ position: 'absolute',
434
+ shadowRadius: 5,
435
+ shadowColor: '#000',
436
+ shadowOpacity: 0.3
437
+ },
438
+ shadowHorizontal: {
439
+ top: 0,
440
+ bottom: 0,
441
+ width: 3,
442
+ shadowOffset: {
443
+ width: -1,
444
+ height: 1
445
+ }
446
+ },
447
+ shadowLeft: {
448
+ left: 0
449
+ },
450
+ shadowRight: {
451
+ right: 0
452
+ },
453
+ shadowVertical: {
454
+ left: 0,
455
+ right: 0,
456
+ height: 3,
457
+ shadowOffset: {
458
+ width: 1,
459
+ height: -1
460
+ }
461
+ },
462
+ shadowTop: {
463
+ top: 0
464
+ },
465
+ shadowBottom: {
466
+ bottom: 0
467
+ }
468
+ });
469
+ //# sourceMappingURL=Card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_color","_interopRequireDefault","require","React","_interopRequireWildcard","_reactNative","_CardStyleInterpolators","_CardAnimationContext","_getDistanceForDirection","_getInvertedMultiplier","_memoize","_GestureHandler","_ModalStatusBarManager","_CardSheet","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_extends","assign","bind","arguments","length","apply","GESTURE_VELOCITY_IMPACT","TRUE","FALSE","GESTURE_RESPONSE_DISTANCE_HORIZONTAL","GESTURE_RESPONSE_DISTANCE_VERTICAL","useNativeDriver","Platform","OS","hasOpacityStyle","style","flattenedStyle","StyleSheet","flatten","opacity","Card","Component","defaultProps","shadowEnabled","gestureEnabled","gestureVelocityImpact","overlay","createElement","Animated","View","pointerEvents","styles","componentDidMount","animate","closing","props","isCurrentlyMounted","componentDidUpdate","prevProps","layout","gestureDirection","width","height","setValue","inverted","getInvertedMultiplier","toValue","getAnimateToValue","lastToValue","componentWillUnmount","gesture","stopAnimation","handleEndInteraction","isClosing","Value","isSwiping","velocity","transitionSpec","onOpen","onClose","onTransition","spec","close","open","animation","spring","timing","setPointerEventsEnabled","handleStartInteraction","clearTimeout","pendingGestureCallback","undefined","config","isInteraction","start","finished","forceUpdate","getDistanceForDirection","enabled","_this$ref$current","ref","current","setPointerEvents","interactionHandle","InteractionManager","createInteractionHandle","clearInteractionHandle","handleGestureStateChange","nativeEvent","onGestureBegin","onGestureCanceled","onGestureEnd","state","GestureState","ACTIVE","CANCELLED","velocityY","velocityX","END","distance","translation","translationY","translationX","setTimeout","getInterpolatedStyle","memoize","styleInterpolator","getCardAnimation","interpolationIndex","next","insetTop","insetRight","insetBottom","insetLeft","index","progress","swiping","layouts","screen","insets","top","right","bottom","left","gestureActivationCriteria","gestureResponseDistance","enableTrackpadTwoFingerGesture","maxDeltaX","minOffsetY","hitSlop","invertedMultiplier","minOffsetX","maxDeltaY","createRef","render","overlayEnabled","pageOverflowEnabled","headerDarkContent","children","containerStyle","customContainerStyle","contentStyle","rest","interpolationProps","interpolatedStyle","cardStyle","overlayStyle","shadowStyle","handleGestureEvent","event","backgroundColor","isTransparent","Color","alpha","Provider","value","getIsModalPresentation","dark","collapsable","absoluteFill","container","PanGestureHandler","onGestureEvent","onHandlerStateChange","needsOffscreenAlphaCompositing","shadow","shadowHorizontal","shadowLeft","shadowRight","shadowVertical","shadowTop","shadowBottom","exports","cardStyleInterpolator","forModalPresentationIOS","name","create","flex","position","shadowRadius","shadowColor","shadowOpacity","shadowOffset"],"sourceRoot":"../../../../src","sources":["views/Stack/Card.tsx"],"mappings":"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","ignoreList":[]}