@react-navigation/stack 7.0.0-rc.9 → 7.0.1

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 (360) hide show
  1. package/lib/commonjs/TransitionConfigs/{CardStyleInterpolators.cjs → CardStyleInterpolators.js} +2 -2
  2. package/lib/commonjs/TransitionConfigs/{HeaderStyleInterpolators.cjs → HeaderStyleInterpolators.js} +4 -5
  3. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -0
  4. package/lib/commonjs/TransitionConfigs/{TransitionPresets.cjs → TransitionPresets.js} +4 -4
  5. package/lib/commonjs/TransitionConfigs/{TransitionSpecs.cjs → TransitionSpecs.js} +1 -1
  6. package/lib/commonjs/{index.cjs → index.js} +12 -12
  7. package/lib/commonjs/navigators/{createStackNavigator.cjs → createStackNavigator.js} +2 -2
  8. package/lib/commonjs/package.json +1 -0
  9. package/lib/commonjs/{types.cjs → types.js} +1 -1
  10. package/lib/commonjs/utils/{CardAnimationContext.cjs → CardAnimationContext.js} +1 -1
  11. package/lib/commonjs/utils/{GestureHandlerRefContext.cjs → GestureHandlerRefContext.js} +1 -1
  12. package/lib/commonjs/utils/{ModalPresentationContext.cjs → ModalPresentationContext.js} +1 -1
  13. package/lib/commonjs/utils/{conditional.cjs → conditional.js} +1 -1
  14. package/lib/commonjs/utils/{findLastIndex.cjs → findLastIndex.js} +1 -1
  15. package/lib/commonjs/utils/{getDistanceForDirection.cjs → getDistanceForDirection.js} +2 -2
  16. package/lib/commonjs/utils/{getInvertedMultiplier.cjs → getInvertedMultiplier.js} +1 -1
  17. package/lib/commonjs/utils/{getModalRoutesKeys.cjs → getModalRoutesKeys.js} +1 -1
  18. package/lib/commonjs/utils/{memoize.cjs → memoize.js} +1 -1
  19. package/lib/commonjs/utils/{throttle.cjs → throttle.js} +1 -1
  20. package/lib/commonjs/utils/{throttle.cjs.map → throttle.js.map} +1 -1
  21. package/lib/commonjs/utils/{useCardAnimation.cjs → useCardAnimation.js} +2 -2
  22. package/lib/commonjs/utils/{useGestureHandlerRef.cjs → useGestureHandlerRef.js} +2 -2
  23. package/lib/commonjs/utils/{useKeyboardManager.cjs → useKeyboardManager.js} +1 -1
  24. package/lib/commonjs/views/{GestureHandler.android.cjs → GestureHandler.android.js} +2 -2
  25. package/lib/commonjs/views/{GestureHandler.ios.cjs → GestureHandler.ios.js} +2 -2
  26. package/lib/commonjs/views/{GestureHandler.cjs → GestureHandler.js} +1 -1
  27. package/lib/commonjs/views/{GestureHandlerNative.cjs → GestureHandlerNative.js} +2 -2
  28. package/lib/commonjs/views/Header/{Header.cjs → Header.js} +4 -4
  29. package/lib/commonjs/views/Header/{HeaderContainer.cjs → HeaderContainer.js} +3 -3
  30. package/lib/commonjs/views/Header/{HeaderSegment.cjs → HeaderSegment.js} +6 -6
  31. package/lib/commonjs/views/Header/HeaderSegment.js.map +1 -0
  32. package/lib/commonjs/views/{Screens.cjs → Screens.js} +1 -1
  33. package/lib/commonjs/views/Stack/Card.js +512 -0
  34. package/lib/commonjs/views/Stack/Card.js.map +1 -0
  35. package/lib/commonjs/views/Stack/{CardContainer.cjs → CardContainer.js} +29 -20
  36. package/lib/commonjs/views/Stack/CardContainer.js.map +1 -0
  37. package/lib/commonjs/views/Stack/{CardSheet.cjs → CardSheet.js} +14 -11
  38. package/lib/commonjs/views/Stack/CardSheet.js.map +1 -0
  39. package/lib/commonjs/views/Stack/CardStack.js +501 -0
  40. package/lib/commonjs/views/Stack/CardStack.js.map +1 -0
  41. package/lib/commonjs/views/Stack/StackView.js +372 -0
  42. package/lib/commonjs/views/Stack/StackView.js.map +1 -0
  43. package/lib/module/TransitionConfigs/{CardStyleInterpolators.mjs → CardStyleInterpolators.js} +4 -2
  44. package/lib/module/TransitionConfigs/CardStyleInterpolators.js.map +1 -0
  45. package/lib/module/TransitionConfigs/{HeaderStyleInterpolators.mjs → HeaderStyleInterpolators.js} +6 -5
  46. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.js.map +1 -0
  47. package/lib/module/TransitionConfigs/{TransitionPresets.mjs → TransitionPresets.js} +6 -4
  48. package/lib/module/TransitionConfigs/TransitionPresets.js.map +1 -0
  49. package/lib/module/TransitionConfigs/{TransitionSpecs.mjs → TransitionSpecs.js} +3 -1
  50. package/lib/module/TransitionConfigs/TransitionSpecs.js.map +1 -0
  51. package/lib/module/{index.mjs → index.js} +14 -12
  52. package/lib/module/index.js.map +1 -0
  53. package/lib/module/navigators/{createStackNavigator.mjs → createStackNavigator.js} +4 -2
  54. package/lib/module/navigators/createStackNavigator.js.map +1 -0
  55. package/lib/module/package.json +1 -0
  56. package/lib/module/types.js +4 -0
  57. package/lib/module/utils/{CardAnimationContext.mjs → CardAnimationContext.js} +3 -1
  58. package/lib/module/utils/CardAnimationContext.js.map +1 -0
  59. package/lib/module/utils/{GestureHandlerRefContext.mjs → GestureHandlerRefContext.js} +3 -1
  60. package/lib/module/utils/GestureHandlerRefContext.js.map +1 -0
  61. package/lib/module/utils/{ModalPresentationContext.mjs → ModalPresentationContext.js} +3 -1
  62. package/lib/module/utils/ModalPresentationContext.js.map +1 -0
  63. package/lib/module/utils/{conditional.mjs → conditional.js} +3 -1
  64. package/lib/module/utils/conditional.js.map +1 -0
  65. package/lib/module/utils/{findLastIndex.mjs → findLastIndex.js} +3 -1
  66. package/lib/module/utils/findLastIndex.js.map +1 -0
  67. package/lib/module/utils/{getDistanceForDirection.mjs → getDistanceForDirection.js} +4 -2
  68. package/lib/module/utils/getDistanceForDirection.js.map +1 -0
  69. package/lib/module/utils/{getInvertedMultiplier.mjs → getInvertedMultiplier.js} +3 -1
  70. package/lib/module/utils/getInvertedMultiplier.js.map +1 -0
  71. package/lib/module/utils/{getModalRoutesKeys.mjs → getModalRoutesKeys.js} +3 -1
  72. package/lib/module/utils/getModalRoutesKeys.js.map +1 -0
  73. package/lib/module/utils/{memoize.mjs → memoize.js} +3 -1
  74. package/lib/module/utils/memoize.js.map +1 -0
  75. package/lib/module/utils/{throttle.mjs → throttle.js} +3 -1
  76. package/lib/module/utils/throttle.js.map +1 -0
  77. package/lib/module/utils/{useCardAnimation.mjs → useCardAnimation.js} +4 -2
  78. package/lib/module/utils/useCardAnimation.js.map +1 -0
  79. package/lib/module/utils/{useGestureHandlerRef.mjs → useGestureHandlerRef.js} +4 -2
  80. package/lib/module/utils/useGestureHandlerRef.js.map +1 -0
  81. package/lib/module/utils/{useKeyboardManager.mjs → useKeyboardManager.js} +3 -1
  82. package/lib/module/utils/useKeyboardManager.js.map +1 -0
  83. package/lib/module/views/GestureHandler.android.js +4 -0
  84. package/lib/module/views/GestureHandler.android.js.map +1 -0
  85. package/lib/module/views/GestureHandler.ios.js +4 -0
  86. package/lib/module/views/GestureHandler.ios.js.map +1 -0
  87. package/lib/module/views/{GestureHandler.mjs → GestureHandler.js} +3 -1
  88. package/lib/module/views/GestureHandler.js.map +1 -0
  89. package/lib/module/views/{GestureHandlerNative.mjs → GestureHandlerNative.js} +4 -2
  90. package/lib/module/views/GestureHandlerNative.js.map +1 -0
  91. package/lib/module/views/Header/{Header.mjs → Header.js} +6 -4
  92. package/lib/module/views/Header/Header.js.map +1 -0
  93. package/lib/module/views/Header/{HeaderContainer.mjs → HeaderContainer.js} +5 -3
  94. package/lib/module/views/Header/HeaderContainer.js.map +1 -0
  95. package/lib/module/views/Header/{HeaderSegment.mjs → HeaderSegment.js} +8 -6
  96. package/lib/module/views/Header/HeaderSegment.js.map +1 -0
  97. package/lib/module/views/{Screens.mjs → Screens.js} +3 -1
  98. package/lib/module/views/Screens.js.map +1 -0
  99. package/lib/module/views/Stack/Card.js +505 -0
  100. package/lib/module/views/Stack/Card.js.map +1 -0
  101. package/lib/module/views/Stack/{CardContainer.mjs → CardContainer.js} +31 -20
  102. package/lib/module/views/Stack/CardContainer.js.map +1 -0
  103. package/lib/module/views/Stack/{CardSheet.mjs → CardSheet.js} +16 -11
  104. package/lib/module/views/Stack/CardSheet.js.map +1 -0
  105. package/lib/module/views/Stack/CardStack.js +495 -0
  106. package/lib/module/views/Stack/CardStack.js.map +1 -0
  107. package/lib/module/views/Stack/StackView.js +366 -0
  108. package/lib/module/views/Stack/StackView.js.map +1 -0
  109. package/lib/typescript/commonjs/package.json +1 -0
  110. package/lib/typescript/commonjs/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -0
  112. package/lib/typescript/commonjs/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  113. package/lib/typescript/commonjs/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  114. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  115. package/lib/typescript/{src → commonjs/src}/navigators/createStackNavigator.d.ts +2 -2
  116. package/lib/typescript/commonjs/src/navigators/createStackNavigator.d.ts.map +1 -0
  117. package/lib/typescript/{src → commonjs/src}/types.d.ts +17 -13
  118. package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
  119. package/lib/typescript/commonjs/src/utils/CardAnimationContext.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/src/utils/GestureHandlerRefContext.d.ts.map +1 -0
  121. package/lib/typescript/commonjs/src/utils/ModalPresentationContext.d.ts.map +1 -0
  122. package/lib/typescript/commonjs/src/utils/conditional.d.ts.map +1 -0
  123. package/lib/typescript/commonjs/src/utils/findLastIndex.d.ts.map +1 -0
  124. package/lib/typescript/commonjs/src/utils/getDistanceForDirection.d.ts.map +1 -0
  125. package/lib/typescript/commonjs/src/utils/getInvertedMultiplier.d.ts.map +1 -0
  126. package/lib/typescript/commonjs/src/utils/getModalRoutesKeys.d.ts.map +1 -0
  127. package/lib/typescript/commonjs/src/utils/memoize.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/src/utils/throttle.d.ts.map +1 -0
  129. package/lib/typescript/commonjs/src/utils/useCardAnimation.d.ts.map +1 -0
  130. package/lib/typescript/commonjs/src/utils/useGestureHandlerRef.d.ts.map +1 -0
  131. package/lib/typescript/commonjs/src/utils/useKeyboardManager.d.ts.map +1 -0
  132. package/lib/typescript/commonjs/src/views/GestureHandler.android.d.ts.map +1 -0
  133. package/lib/typescript/commonjs/src/views/GestureHandler.d.ts.map +1 -0
  134. package/lib/typescript/commonjs/src/views/GestureHandler.ios.d.ts.map +1 -0
  135. package/lib/typescript/commonjs/src/views/GestureHandlerNative.d.ts.map +1 -0
  136. package/lib/typescript/commonjs/src/views/Header/Header.d.ts.map +1 -0
  137. package/lib/typescript/commonjs/src/views/Header/HeaderContainer.d.ts.map +1 -0
  138. package/lib/typescript/commonjs/src/views/Header/HeaderSegment.d.ts.map +1 -0
  139. package/lib/typescript/commonjs/src/views/Screens.d.ts.map +1 -0
  140. package/lib/typescript/commonjs/src/views/Stack/Card.d.ts.map +1 -0
  141. package/lib/typescript/commonjs/src/views/Stack/CardContainer.d.ts.map +1 -0
  142. package/lib/typescript/commonjs/src/views/Stack/CardSheet.d.ts.map +1 -0
  143. package/lib/typescript/commonjs/src/views/Stack/CardStack.d.ts.map +1 -0
  144. package/lib/typescript/commonjs/src/views/Stack/StackView.d.ts.map +1 -0
  145. package/lib/typescript/commonjs/tsconfig.build.tsbuildinfo +1 -0
  146. package/lib/typescript/module/package.json +1 -0
  147. package/lib/typescript/module/src/TransitionConfigs/CardStyleInterpolators.d.ts +43 -0
  148. package/lib/typescript/module/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +1 -0
  149. package/lib/typescript/module/src/TransitionConfigs/HeaderStyleInterpolators.d.ts +23 -0
  150. package/lib/typescript/module/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +1 -0
  151. package/lib/typescript/module/src/TransitionConfigs/TransitionPresets.d.ts +50 -0
  152. package/lib/typescript/module/src/TransitionConfigs/TransitionPresets.d.ts.map +1 -0
  153. package/lib/typescript/module/src/TransitionConfigs/TransitionSpecs.d.ts +46 -0
  154. package/lib/typescript/module/src/TransitionConfigs/TransitionSpecs.d.ts.map +1 -0
  155. package/lib/typescript/module/src/index.d.ts +29 -0
  156. package/lib/typescript/module/src/index.d.ts.map +1 -0
  157. package/lib/typescript/module/src/navigators/createStackNavigator.d.ts +17 -0
  158. package/lib/typescript/module/src/navigators/createStackNavigator.d.ts.map +1 -0
  159. package/lib/typescript/module/src/types.d.ts +540 -0
  160. package/lib/typescript/module/src/types.d.ts.map +1 -0
  161. package/lib/typescript/module/src/utils/CardAnimationContext.d.ts +4 -0
  162. package/lib/typescript/module/src/utils/CardAnimationContext.d.ts.map +1 -0
  163. package/lib/typescript/module/src/utils/GestureHandlerRefContext.d.ts +3 -0
  164. package/lib/typescript/module/src/utils/GestureHandlerRefContext.d.ts.map +1 -0
  165. package/lib/typescript/module/src/utils/ModalPresentationContext.d.ts +3 -0
  166. package/lib/typescript/module/src/utils/ModalPresentationContext.d.ts.map +1 -0
  167. package/lib/typescript/module/src/utils/conditional.d.ts +10 -0
  168. package/lib/typescript/module/src/utils/conditional.d.ts.map +1 -0
  169. package/lib/typescript/module/src/utils/findLastIndex.d.ts +2 -0
  170. package/lib/typescript/module/src/utils/findLastIndex.d.ts.map +1 -0
  171. package/lib/typescript/module/src/utils/getDistanceForDirection.d.ts +3 -0
  172. package/lib/typescript/module/src/utils/getDistanceForDirection.d.ts.map +1 -0
  173. package/lib/typescript/module/src/utils/getInvertedMultiplier.d.ts +3 -0
  174. package/lib/typescript/module/src/utils/getInvertedMultiplier.d.ts.map +1 -0
  175. package/lib/typescript/module/src/utils/getModalRoutesKeys.d.ts +4 -0
  176. package/lib/typescript/module/src/utils/getModalRoutesKeys.d.ts.map +1 -0
  177. package/lib/typescript/module/src/utils/memoize.d.ts +2 -0
  178. package/lib/typescript/module/src/utils/memoize.d.ts.map +1 -0
  179. package/lib/typescript/module/src/utils/throttle.d.ts +2 -0
  180. package/lib/typescript/module/src/utils/throttle.d.ts.map +1 -0
  181. package/lib/typescript/module/src/utils/useCardAnimation.d.ts +2 -0
  182. package/lib/typescript/module/src/utils/useCardAnimation.d.ts.map +1 -0
  183. package/lib/typescript/module/src/utils/useGestureHandlerRef.d.ts +3 -0
  184. package/lib/typescript/module/src/utils/useGestureHandlerRef.d.ts.map +1 -0
  185. package/lib/typescript/module/src/utils/useKeyboardManager.d.ts +6 -0
  186. package/lib/typescript/module/src/utils/useKeyboardManager.d.ts.map +1 -0
  187. package/lib/typescript/module/src/views/GestureHandler.android.d.ts +2 -0
  188. package/lib/typescript/module/src/views/GestureHandler.android.d.ts.map +1 -0
  189. package/lib/typescript/module/src/views/GestureHandler.d.ts +15 -0
  190. package/lib/typescript/module/src/views/GestureHandler.d.ts.map +1 -0
  191. package/lib/typescript/module/src/views/GestureHandler.ios.d.ts +2 -0
  192. package/lib/typescript/module/src/views/GestureHandler.ios.d.ts.map +1 -0
  193. package/lib/typescript/module/src/views/GestureHandlerNative.d.ts +5 -0
  194. package/lib/typescript/module/src/views/GestureHandlerNative.d.ts.map +1 -0
  195. package/lib/typescript/module/src/views/Header/Header.d.ts +4 -0
  196. package/lib/typescript/module/src/views/Header/Header.d.ts.map +1 -0
  197. package/lib/typescript/module/src/views/Header/HeaderContainer.d.ts +19 -0
  198. package/lib/typescript/module/src/views/Header/HeaderContainer.d.ts.map +1 -0
  199. package/lib/typescript/module/src/views/Header/HeaderSegment.d.ts +14 -0
  200. package/lib/typescript/module/src/views/Header/HeaderSegment.d.ts.map +1 -0
  201. package/lib/typescript/module/src/views/Screens.d.ts +14 -0
  202. package/lib/typescript/module/src/views/Screens.d.ts.map +1 -0
  203. package/lib/typescript/module/src/views/Stack/Card.d.ts +77 -0
  204. package/lib/typescript/module/src/views/Stack/Card.d.ts.map +1 -0
  205. package/lib/typescript/module/src/views/Stack/CardContainer.d.ts +60 -0
  206. package/lib/typescript/module/src/views/Stack/CardContainer.d.ts.map +1 -0
  207. package/lib/typescript/module/src/views/Stack/CardSheet.d.ts +14 -0
  208. package/lib/typescript/module/src/views/Stack/CardSheet.d.ts.map +1 -0
  209. package/lib/typescript/module/src/views/Stack/CardStack.d.ts +66 -0
  210. package/lib/typescript/module/src/views/Stack/CardStack.d.ts.map +1 -0
  211. package/lib/typescript/module/src/views/Stack/StackView.d.ts +51 -0
  212. package/lib/typescript/module/src/views/Stack/StackView.d.ts.map +1 -0
  213. package/lib/typescript/module/tsconfig.build.tsbuildinfo +1 -0
  214. package/package.json +36 -19
  215. package/src/TransitionConfigs/HeaderStyleInterpolators.tsx +3 -6
  216. package/src/navigators/createStackNavigator.tsx +4 -4
  217. package/src/types.tsx +17 -12
  218. package/src/utils/throttle.tsx +1 -1
  219. package/src/views/Header/HeaderSegment.tsx +4 -4
  220. package/src/views/Stack/CardContainer.tsx +30 -16
  221. package/src/views/Stack/CardSheet.tsx +19 -13
  222. package/src/views/Stack/CardStack.tsx +0 -3
  223. package/lib/commonjs/TransitionConfigs/HeaderStyleInterpolators.cjs.map +0 -1
  224. package/lib/commonjs/views/Header/HeaderSegment.cjs.map +0 -1
  225. package/lib/commonjs/views/Stack/Card.cjs +0 -481
  226. package/lib/commonjs/views/Stack/Card.cjs.map +0 -1
  227. package/lib/commonjs/views/Stack/CardContainer.cjs.map +0 -1
  228. package/lib/commonjs/views/Stack/CardSheet.cjs.map +0 -1
  229. package/lib/commonjs/views/Stack/CardStack.cjs +0 -480
  230. package/lib/commonjs/views/Stack/CardStack.cjs.map +0 -1
  231. package/lib/commonjs/views/Stack/StackView.cjs +0 -348
  232. package/lib/commonjs/views/Stack/StackView.cjs.map +0 -1
  233. package/lib/module/TransitionConfigs/CardStyleInterpolators.mjs.map +0 -1
  234. package/lib/module/TransitionConfigs/HeaderStyleInterpolators.mjs.map +0 -1
  235. package/lib/module/TransitionConfigs/TransitionPresets.mjs.map +0 -1
  236. package/lib/module/TransitionConfigs/TransitionSpecs.mjs.map +0 -1
  237. package/lib/module/index.mjs.map +0 -1
  238. package/lib/module/navigators/createStackNavigator.mjs.map +0 -1
  239. package/lib/module/types.mjs +0 -2
  240. package/lib/module/utils/CardAnimationContext.mjs.map +0 -1
  241. package/lib/module/utils/GestureHandlerRefContext.mjs.map +0 -1
  242. package/lib/module/utils/ModalPresentationContext.mjs.map +0 -1
  243. package/lib/module/utils/conditional.mjs.map +0 -1
  244. package/lib/module/utils/findLastIndex.mjs.map +0 -1
  245. package/lib/module/utils/getDistanceForDirection.mjs.map +0 -1
  246. package/lib/module/utils/getInvertedMultiplier.mjs.map +0 -1
  247. package/lib/module/utils/getModalRoutesKeys.mjs.map +0 -1
  248. package/lib/module/utils/memoize.mjs.map +0 -1
  249. package/lib/module/utils/throttle.mjs.map +0 -1
  250. package/lib/module/utils/useCardAnimation.mjs.map +0 -1
  251. package/lib/module/utils/useGestureHandlerRef.mjs.map +0 -1
  252. package/lib/module/utils/useKeyboardManager.mjs.map +0 -1
  253. package/lib/module/views/GestureHandler.android.mjs +0 -2
  254. package/lib/module/views/GestureHandler.android.mjs.map +0 -1
  255. package/lib/module/views/GestureHandler.ios.mjs +0 -2
  256. package/lib/module/views/GestureHandler.ios.mjs.map +0 -1
  257. package/lib/module/views/GestureHandler.mjs.map +0 -1
  258. package/lib/module/views/GestureHandlerNative.mjs.map +0 -1
  259. package/lib/module/views/Header/Header.mjs.map +0 -1
  260. package/lib/module/views/Header/HeaderContainer.mjs.map +0 -1
  261. package/lib/module/views/Header/HeaderSegment.mjs.map +0 -1
  262. package/lib/module/views/Screens.mjs.map +0 -1
  263. package/lib/module/views/Stack/Card.mjs +0 -471
  264. package/lib/module/views/Stack/Card.mjs.map +0 -1
  265. package/lib/module/views/Stack/CardContainer.mjs.map +0 -1
  266. package/lib/module/views/Stack/CardSheet.mjs.map +0 -1
  267. package/lib/module/views/Stack/CardStack.mjs +0 -471
  268. package/lib/module/views/Stack/CardStack.mjs.map +0 -1
  269. package/lib/module/views/Stack/StackView.mjs +0 -339
  270. package/lib/module/views/Stack/StackView.mjs.map +0 -1
  271. package/lib/typescript/src/TransitionConfigs/CardStyleInterpolators.d.ts.map +0 -1
  272. package/lib/typescript/src/TransitionConfigs/HeaderStyleInterpolators.d.ts.map +0 -1
  273. package/lib/typescript/src/TransitionConfigs/TransitionPresets.d.ts.map +0 -1
  274. package/lib/typescript/src/TransitionConfigs/TransitionSpecs.d.ts.map +0 -1
  275. package/lib/typescript/src/index.d.ts.map +0 -1
  276. package/lib/typescript/src/navigators/createStackNavigator.d.ts.map +0 -1
  277. package/lib/typescript/src/types.d.ts.map +0 -1
  278. package/lib/typescript/src/utils/CardAnimationContext.d.ts.map +0 -1
  279. package/lib/typescript/src/utils/GestureHandlerRefContext.d.ts.map +0 -1
  280. package/lib/typescript/src/utils/ModalPresentationContext.d.ts.map +0 -1
  281. package/lib/typescript/src/utils/conditional.d.ts.map +0 -1
  282. package/lib/typescript/src/utils/findLastIndex.d.ts.map +0 -1
  283. package/lib/typescript/src/utils/getDistanceForDirection.d.ts.map +0 -1
  284. package/lib/typescript/src/utils/getInvertedMultiplier.d.ts.map +0 -1
  285. package/lib/typescript/src/utils/getModalRoutesKeys.d.ts.map +0 -1
  286. package/lib/typescript/src/utils/memoize.d.ts.map +0 -1
  287. package/lib/typescript/src/utils/throttle.d.ts.map +0 -1
  288. package/lib/typescript/src/utils/useCardAnimation.d.ts.map +0 -1
  289. package/lib/typescript/src/utils/useGestureHandlerRef.d.ts.map +0 -1
  290. package/lib/typescript/src/utils/useKeyboardManager.d.ts.map +0 -1
  291. package/lib/typescript/src/views/GestureHandler.android.d.ts.map +0 -1
  292. package/lib/typescript/src/views/GestureHandler.d.ts.map +0 -1
  293. package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +0 -1
  294. package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +0 -1
  295. package/lib/typescript/src/views/Header/Header.d.ts.map +0 -1
  296. package/lib/typescript/src/views/Header/HeaderContainer.d.ts.map +0 -1
  297. package/lib/typescript/src/views/Header/HeaderSegment.d.ts.map +0 -1
  298. package/lib/typescript/src/views/Screens.d.ts.map +0 -1
  299. package/lib/typescript/src/views/Stack/Card.d.ts.map +0 -1
  300. package/lib/typescript/src/views/Stack/CardContainer.d.ts.map +0 -1
  301. package/lib/typescript/src/views/Stack/CardSheet.d.ts.map +0 -1
  302. package/lib/typescript/src/views/Stack/CardStack.d.ts.map +0 -1
  303. package/lib/typescript/src/views/Stack/StackView.d.ts.map +0 -1
  304. /package/lib/commonjs/TransitionConfigs/{CardStyleInterpolators.cjs.map → CardStyleInterpolators.js.map} +0 -0
  305. /package/lib/commonjs/TransitionConfigs/{TransitionPresets.cjs.map → TransitionPresets.js.map} +0 -0
  306. /package/lib/commonjs/TransitionConfigs/{TransitionSpecs.cjs.map → TransitionSpecs.js.map} +0 -0
  307. /package/lib/commonjs/{index.cjs.map → index.js.map} +0 -0
  308. /package/lib/commonjs/navigators/{createStackNavigator.cjs.map → createStackNavigator.js.map} +0 -0
  309. /package/lib/commonjs/{types.cjs.map → types.js.map} +0 -0
  310. /package/lib/commonjs/utils/{CardAnimationContext.cjs.map → CardAnimationContext.js.map} +0 -0
  311. /package/lib/commonjs/utils/{GestureHandlerRefContext.cjs.map → GestureHandlerRefContext.js.map} +0 -0
  312. /package/lib/commonjs/utils/{ModalPresentationContext.cjs.map → ModalPresentationContext.js.map} +0 -0
  313. /package/lib/commonjs/utils/{conditional.cjs.map → conditional.js.map} +0 -0
  314. /package/lib/commonjs/utils/{findLastIndex.cjs.map → findLastIndex.js.map} +0 -0
  315. /package/lib/commonjs/utils/{getDistanceForDirection.cjs.map → getDistanceForDirection.js.map} +0 -0
  316. /package/lib/commonjs/utils/{getInvertedMultiplier.cjs.map → getInvertedMultiplier.js.map} +0 -0
  317. /package/lib/commonjs/utils/{getModalRoutesKeys.cjs.map → getModalRoutesKeys.js.map} +0 -0
  318. /package/lib/commonjs/utils/{memoize.cjs.map → memoize.js.map} +0 -0
  319. /package/lib/commonjs/utils/{useCardAnimation.cjs.map → useCardAnimation.js.map} +0 -0
  320. /package/lib/commonjs/utils/{useGestureHandlerRef.cjs.map → useGestureHandlerRef.js.map} +0 -0
  321. /package/lib/commonjs/utils/{useKeyboardManager.cjs.map → useKeyboardManager.js.map} +0 -0
  322. /package/lib/commonjs/views/{GestureHandler.android.cjs.map → GestureHandler.android.js.map} +0 -0
  323. /package/lib/commonjs/views/{GestureHandler.ios.cjs.map → GestureHandler.ios.js.map} +0 -0
  324. /package/lib/commonjs/views/{GestureHandler.cjs.map → GestureHandler.js.map} +0 -0
  325. /package/lib/commonjs/views/{GestureHandlerNative.cjs.map → GestureHandlerNative.js.map} +0 -0
  326. /package/lib/commonjs/views/Header/{Header.cjs.map → Header.js.map} +0 -0
  327. /package/lib/commonjs/views/Header/{HeaderContainer.cjs.map → HeaderContainer.js.map} +0 -0
  328. /package/lib/commonjs/views/{Screens.cjs.map → Screens.js.map} +0 -0
  329. /package/lib/module/{types.mjs.map → types.js.map} +0 -0
  330. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/CardStyleInterpolators.d.ts +0 -0
  331. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/HeaderStyleInterpolators.d.ts +0 -0
  332. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/TransitionPresets.d.ts +0 -0
  333. /package/lib/typescript/{src → commonjs/src}/TransitionConfigs/TransitionSpecs.d.ts +0 -0
  334. /package/lib/typescript/{src → commonjs/src}/index.d.ts +0 -0
  335. /package/lib/typescript/{src → commonjs/src}/utils/CardAnimationContext.d.ts +0 -0
  336. /package/lib/typescript/{src → commonjs/src}/utils/GestureHandlerRefContext.d.ts +0 -0
  337. /package/lib/typescript/{src → commonjs/src}/utils/ModalPresentationContext.d.ts +0 -0
  338. /package/lib/typescript/{src → commonjs/src}/utils/conditional.d.ts +0 -0
  339. /package/lib/typescript/{src → commonjs/src}/utils/findLastIndex.d.ts +0 -0
  340. /package/lib/typescript/{src → commonjs/src}/utils/getDistanceForDirection.d.ts +0 -0
  341. /package/lib/typescript/{src → commonjs/src}/utils/getInvertedMultiplier.d.ts +0 -0
  342. /package/lib/typescript/{src → commonjs/src}/utils/getModalRoutesKeys.d.ts +0 -0
  343. /package/lib/typescript/{src → commonjs/src}/utils/memoize.d.ts +0 -0
  344. /package/lib/typescript/{src → commonjs/src}/utils/throttle.d.ts +0 -0
  345. /package/lib/typescript/{src → commonjs/src}/utils/useCardAnimation.d.ts +0 -0
  346. /package/lib/typescript/{src → commonjs/src}/utils/useGestureHandlerRef.d.ts +0 -0
  347. /package/lib/typescript/{src → commonjs/src}/utils/useKeyboardManager.d.ts +0 -0
  348. /package/lib/typescript/{src → commonjs/src}/views/GestureHandler.android.d.ts +0 -0
  349. /package/lib/typescript/{src → commonjs/src}/views/GestureHandler.d.ts +0 -0
  350. /package/lib/typescript/{src → commonjs/src}/views/GestureHandler.ios.d.ts +0 -0
  351. /package/lib/typescript/{src → commonjs/src}/views/GestureHandlerNative.d.ts +0 -0
  352. /package/lib/typescript/{src → commonjs/src}/views/Header/Header.d.ts +0 -0
  353. /package/lib/typescript/{src → commonjs/src}/views/Header/HeaderContainer.d.ts +0 -0
  354. /package/lib/typescript/{src → commonjs/src}/views/Header/HeaderSegment.d.ts +0 -0
  355. /package/lib/typescript/{src → commonjs/src}/views/Screens.d.ts +0 -0
  356. /package/lib/typescript/{src → commonjs/src}/views/Stack/Card.d.ts +0 -0
  357. /package/lib/typescript/{src → commonjs/src}/views/Stack/CardContainer.d.ts +0 -0
  358. /package/lib/typescript/{src → commonjs/src}/views/Stack/CardSheet.d.ts +0 -0
  359. /package/lib/typescript/{src → commonjs/src}/views/Stack/CardStack.d.ts +0 -0
  360. /package/lib/typescript/{src → commonjs/src}/views/Stack/StackView.d.ts +0 -0
@@ -1,3 +1,5 @@
1
+ "use strict";
2
+
1
3
  import * as React from 'react';
2
4
  import { StyleSheet, View } from 'react-native';
3
5
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -20,7 +22,6 @@ export const CardSheet = /*#__PURE__*/React.forwardRef(function CardSheet({
20
22
  setPointerEvents
21
23
  };
22
24
  });
23
- const workaroundApplied = React.useRef(false);
24
25
  React.useEffect(() => {
25
26
  if (typeof document === 'undefined' || !document.body) {
26
27
  // Only run when DOM is available
@@ -35,19 +36,23 @@ export const CardSheet = /*#__PURE__*/React.forwardRef(function CardSheet({
35
36
  // address bar). To fix this, it's necessary to update the height of
36
37
  // the DOM with the current height of the window.
37
38
  // See https://css-tricks.com/the-trick-to-viewport-units-on-mobile/
38
- const fillHeight = height === layout.height;
39
- if (fillHeight) {
39
+ const isFullHeight = height === layout.height;
40
+ const id = '__react-navigation-stack-mobile-chrome-viewport-fix';
41
+ if (isFullHeight) {
40
42
  const vh = window.innerHeight * 0.01;
41
- document.documentElement.style.setProperty('--vh', `${vh}px`);
42
- document.body.setAttribute('style', `height: calc(var(--vh, 1vh) * 100);`);
43
- workaroundApplied.current = true;
43
+ const style = document.getElementById(id) ?? document.createElement('style');
44
+ style.id = id;
45
+ style.innerHTML = [`:root { --vh: ${vh}px; }`, `body { height: calc(var(--vh, 1vh) * 100); }`].join('\n');
46
+ if (!document.head.contains(style)) {
47
+ document.head.appendChild(style);
48
+ }
44
49
  } else {
45
- // Revert the workaround if the stack does not occupy the whole
50
+ // Remove the workaround if the stack does not occupy the whole
46
51
  // height of the page
47
- if (workaroundApplied.current) {
48
- document.documentElement.style.removeProperty('--vh');
49
- }
52
+ document.getElementById(id)?.remove();
50
53
  }
54
+
55
+ // eslint-disable-next-line @eslint-react/hooks-extra/no-direct-set-state-in-use-effect
51
56
  setFill(width === layout.width && height === layout.height);
52
57
  }, [layout.height, layout.width]);
53
58
  return /*#__PURE__*/_jsx(View, {
@@ -65,4 +70,4 @@ const styles = StyleSheet.create({
65
70
  overflow: 'hidden'
66
71
  }
67
72
  });
68
- //# sourceMappingURL=CardSheet.mjs.map
73
+ //# sourceMappingURL=CardSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","StyleSheet","View","jsx","_jsx","CardSheet","forwardRef","enabled","layout","style","rest","ref","fill","setFill","useState","pointerEvents","setPointerEvents","useImperativeHandle","useEffect","document","body","width","clientWidth","height","clientHeight","isFullHeight","id","vh","window","innerHeight","getElementById","createElement","innerHTML","join","head","contains","appendChild","remove","styles","page","card","create","minHeight","flex","overflow"],"sourceRoot":"../../../../src","sources":["views/Stack/CardSheet.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYhE;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,gBAAGL,KAAK,CAACM,UAAU,CACvC,SAASD,SAASA,CAAC;EAAEE,OAAO;EAAEC,MAAM;EAAEC,KAAK;EAAE,GAAGC;AAAK,CAAC,EAAEC,GAAG,EAAE;EAC3D,MAAM,CAACC,IAAI,EAAEC,OAAO,CAAC,GAAGb,KAAK,CAACc,QAAQ,CAAC,KAAK,CAAC;EAC7C;EACA;EACA,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GACrChB,KAAK,CAACc,QAAQ,CAA6B,MAAM,CAAC;EAEpDd,KAAK,CAACiB,mBAAmB,CAACN,GAAG,EAAE,MAAM;IACnC,OAAO;MAAEK;IAAiB,CAAC;EAC7B,CAAC,CAAC;EAEFhB,KAAK,CAACkB,SAAS,CAAC,MAAM;IACpB,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACA,QAAQ,CAACC,IAAI,EAAE;MACrD;MACA;IACF;IAEA,MAAMC,KAAK,GAAGF,QAAQ,CAACC,IAAI,CAACE,WAAW;IACvC,MAAMC,MAAM,GAAGJ,QAAQ,CAACC,IAAI,CAACI,YAAY;;IAEzC;IACA;IACA;IACA;IACA;IACA;IACA,MAAMC,YAAY,GAAGF,MAAM,KAAKf,MAAM,CAACe,MAAM;IAC7C,MAAMG,EAAE,GAAG,qDAAqD;IAEhE,IAAID,YAAY,EAAE;MAChB,MAAME,EAAE,GAAGC,MAAM,CAACC,WAAW,GAAG,IAAI;MACpC,MAAMpB,KAAK,GACTU,QAAQ,CAACW,cAAc,CAACJ,EAAE,CAAC,IAAIP,QAAQ,CAACY,aAAa,CAAC,OAAO,CAAC;MAEhEtB,KAAK,CAACiB,EAAE,GAAGA,EAAE;MACbjB,KAAK,CAACuB,SAAS,GAAG,CAChB,iBAAiBL,EAAE,OAAO,EAC1B,8CAA8C,CAC/C,CAACM,IAAI,CAAC,IAAI,CAAC;MAEZ,IAAI,CAACd,QAAQ,CAACe,IAAI,CAACC,QAAQ,CAAC1B,KAAK,CAAC,EAAE;QAClCU,QAAQ,CAACe,IAAI,CAACE,WAAW,CAAC3B,KAAK,CAAC;MAClC;IACF,CAAC,MAAM;MACL;MACA;MACAU,QAAQ,CAACW,cAAc,CAACJ,EAAE,CAAC,EAAEW,MAAM,CAAC,CAAC;IACvC;;IAEA;IACAxB,OAAO,CAACQ,KAAK,KAAKb,MAAM,CAACa,KAAK,IAAIE,MAAM,KAAKf,MAAM,CAACe,MAAM,CAAC;EAC7D,CAAC,EAAE,CAACf,MAAM,CAACe,MAAM,EAAEf,MAAM,CAACa,KAAK,CAAC,CAAC;EAEjC,oBACEjB,IAAA,CAACF,IAAI;IAAA,GACCQ,IAAI;IACRK,aAAa,EAAEA,aAAc;IAC7BN,KAAK,EAAE,CAACF,OAAO,IAAIK,IAAI,GAAG0B,MAAM,CAACC,IAAI,GAAGD,MAAM,CAACE,IAAI,EAAE/B,KAAK;EAAE,CAC7D,CAAC;AAEN,CACF,CAAC;AAED,MAAM6B,MAAM,GAAGrC,UAAU,CAACwC,MAAM,CAAC;EAC/BF,IAAI,EAAE;IACJG,SAAS,EAAE;EACb,CAAC;EACDF,IAAI,EAAE;IACJG,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,495 @@
1
+ "use strict";
2
+
3
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
4
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
5
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
6
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
7
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == typeof e || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
8
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
9
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function () { return !!t; })(); }
10
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
11
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
12
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
13
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
14
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
15
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
16
+ import { Background, getDefaultHeaderHeight, SafeAreaProviderCompat } from '@react-navigation/elements';
17
+ import * as React from 'react';
18
+ import { Animated, Platform, StyleSheet } from 'react-native';
19
+ import { forModalPresentationIOS, forNoAnimation as forNoAnimationCard } from "../../TransitionConfigs/CardStyleInterpolators.js";
20
+ import { BottomSheetAndroid, DefaultTransition, FadeFromBottomAndroid, FadeFromRightAndroid, ModalFadeTransition, ModalSlideFromBottomIOS, ModalTransition, RevealFromBottomAndroid, ScaleFromCenterAndroid, SlideFromLeftIOS, SlideFromRightIOS } from "../../TransitionConfigs/TransitionPresets.js";
21
+ import { findLastIndex } from "../../utils/findLastIndex.js";
22
+ import { getDistanceForDirection } from "../../utils/getDistanceForDirection.js";
23
+ import { getModalRouteKeys } from "../../utils/getModalRoutesKeys.js";
24
+ import { MaybeScreen, MaybeScreenContainer } from "../Screens.js";
25
+ import { CardContainer } from "./CardContainer.js";
26
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
27
+ const NAMED_TRANSITIONS_PRESETS = {
28
+ default: DefaultTransition,
29
+ fade: ModalFadeTransition,
30
+ fade_from_bottom: FadeFromBottomAndroid,
31
+ fade_from_right: FadeFromRightAndroid,
32
+ none: DefaultTransition,
33
+ reveal_from_bottom: RevealFromBottomAndroid,
34
+ scale_from_center: ScaleFromCenterAndroid,
35
+ slide_from_left: SlideFromLeftIOS,
36
+ slide_from_right: SlideFromRightIOS,
37
+ slide_from_bottom: Platform.select({
38
+ ios: ModalSlideFromBottomIOS,
39
+ default: BottomSheetAndroid
40
+ })
41
+ };
42
+ const EPSILON = 1e-5;
43
+ const STATE_INACTIVE = 0;
44
+ const STATE_TRANSITIONING_OR_BELOW_TOP = 1;
45
+ const STATE_ON_TOP = 2;
46
+ const FALLBACK_DESCRIPTOR = Object.freeze({
47
+ options: {}
48
+ });
49
+ const getInterpolationIndex = (scenes, index) => {
50
+ const {
51
+ cardStyleInterpolator
52
+ } = scenes[index].descriptor.options;
53
+
54
+ // Start from current card and count backwards the number of cards with same interpolation
55
+ let interpolationIndex = 0;
56
+ for (let i = index - 1; i >= 0; i--) {
57
+ const cardStyleInterpolatorCurrent = scenes[i]?.descriptor.options.cardStyleInterpolator;
58
+ if (cardStyleInterpolatorCurrent !== cardStyleInterpolator) {
59
+ break;
60
+ }
61
+ interpolationIndex++;
62
+ }
63
+ return interpolationIndex;
64
+ };
65
+ const getIsModalPresentation = cardStyleInterpolator => {
66
+ return cardStyleInterpolator === forModalPresentationIOS ||
67
+ // Handle custom modal presentation interpolators as well
68
+ cardStyleInterpolator.name === 'forModalPresentationIOS';
69
+ };
70
+ const getIsModal = (scene, interpolationIndex, isParentModal) => {
71
+ if (isParentModal) {
72
+ return true;
73
+ }
74
+ const {
75
+ cardStyleInterpolator
76
+ } = scene.descriptor.options;
77
+ const isModalPresentation = getIsModalPresentation(cardStyleInterpolator);
78
+ const isModal = isModalPresentation && interpolationIndex !== 0;
79
+ return isModal;
80
+ };
81
+ const getHeaderHeights = (scenes, insets, isParentHeaderShown, isParentModal, layout, previous) => {
82
+ return scenes.reduce((acc, curr, index) => {
83
+ const {
84
+ headerStatusBarHeight = isParentHeaderShown ? 0 : insets.top,
85
+ headerStyle
86
+ } = curr.descriptor.options;
87
+ const style = StyleSheet.flatten(headerStyle || {});
88
+ const height = 'height' in style && typeof style.height === 'number' ? style.height : previous[curr.route.key];
89
+ const interpolationIndex = getInterpolationIndex(scenes, index);
90
+ const isModal = getIsModal(curr, interpolationIndex, isParentModal);
91
+ acc[curr.route.key] = typeof height === 'number' ? height : getDefaultHeaderHeight(layout, isModal, headerStatusBarHeight);
92
+ return acc;
93
+ }, {});
94
+ };
95
+ const getDistanceFromOptions = (layout, descriptor, isRTL) => {
96
+ if (descriptor?.options.gestureDirection) {
97
+ return getDistanceForDirection(layout, descriptor?.options.gestureDirection, isRTL);
98
+ }
99
+ const defaultGestureDirection = descriptor?.options.presentation === 'modal' ? ModalTransition.gestureDirection : DefaultTransition.gestureDirection;
100
+ const gestureDirection = descriptor?.options.animation ? NAMED_TRANSITIONS_PRESETS[descriptor?.options.animation]?.gestureDirection : defaultGestureDirection;
101
+ return getDistanceForDirection(layout, gestureDirection, isRTL);
102
+ };
103
+ const getProgressFromGesture = (gesture, layout, descriptor, isRTL) => {
104
+ const distance = getDistanceFromOptions({
105
+ // Make sure that we have a non-zero distance, otherwise there will be incorrect progress
106
+ // This causes blank screen on web if it was previously inside container with display: none
107
+ width: Math.max(1, layout.width),
108
+ height: Math.max(1, layout.height)
109
+ }, descriptor, isRTL);
110
+ if (distance > 0) {
111
+ return gesture.interpolate({
112
+ inputRange: [0, distance],
113
+ outputRange: [1, 0]
114
+ });
115
+ }
116
+ return gesture.interpolate({
117
+ inputRange: [distance, 0],
118
+ outputRange: [0, 1]
119
+ });
120
+ };
121
+ export let CardStack = /*#__PURE__*/function (_React$Component) {
122
+ function CardStack(_props) {
123
+ var _this;
124
+ _classCallCheck(this, CardStack);
125
+ _this = _callSuper(this, CardStack, [_props]);
126
+ _defineProperty(_this, "handleLayout", e => {
127
+ const {
128
+ height,
129
+ width
130
+ } = e.nativeEvent.layout;
131
+ const layout = {
132
+ width,
133
+ height
134
+ };
135
+ _this.setState((state, props) => {
136
+ if (height === state.layout.height && width === state.layout.width) {
137
+ return null;
138
+ }
139
+ return {
140
+ layout,
141
+ headerHeights: getHeaderHeights(state.scenes, props.insets, props.isParentHeaderShown, props.isParentModal, layout, state.headerHeights)
142
+ };
143
+ });
144
+ });
145
+ _defineProperty(_this, "handleHeaderLayout", ({
146
+ route,
147
+ height
148
+ }) => {
149
+ _this.setState(({
150
+ headerHeights
151
+ }) => {
152
+ const previousHeight = headerHeights[route.key];
153
+ if (previousHeight === height) {
154
+ return null;
155
+ }
156
+ return {
157
+ headerHeights: {
158
+ ...headerHeights,
159
+ [route.key]: height
160
+ }
161
+ };
162
+ });
163
+ });
164
+ _defineProperty(_this, "getFocusedRoute", () => {
165
+ const {
166
+ state
167
+ } = _this.props;
168
+ return state.routes[state.index];
169
+ });
170
+ _defineProperty(_this, "getPreviousScene", ({
171
+ route
172
+ }) => {
173
+ const {
174
+ getPreviousRoute
175
+ } = _this.props;
176
+ const {
177
+ scenes
178
+ } = _this.state;
179
+ const previousRoute = getPreviousRoute({
180
+ route
181
+ });
182
+ if (previousRoute) {
183
+ const previousScene = scenes.find(scene => scene.descriptor.route.key === previousRoute.key);
184
+ return previousScene;
185
+ }
186
+ return undefined;
187
+ });
188
+ _this.state = {
189
+ routes: [],
190
+ scenes: [],
191
+ gestures: {},
192
+ layout: SafeAreaProviderCompat.initialMetrics.frame,
193
+ descriptors: _this.props.descriptors,
194
+ // Used when card's header is null and mode is float to make transition
195
+ // between screens with headers and those without headers smooth.
196
+ // This is not a great heuristic here. We don't know synchronously
197
+ // on mount what the header height is so we have just used the most
198
+ // common cases here.
199
+ headerHeights: {}
200
+ };
201
+ return _this;
202
+ }
203
+ _inherits(CardStack, _React$Component);
204
+ return _createClass(CardStack, [{
205
+ key: "render",
206
+ value: function render() {
207
+ const {
208
+ insets,
209
+ state,
210
+ routes,
211
+ closingRouteKeys,
212
+ onOpenRoute,
213
+ onCloseRoute,
214
+ renderHeader,
215
+ isParentHeaderShown,
216
+ isParentModal,
217
+ onTransitionStart,
218
+ onTransitionEnd,
219
+ onGestureStart,
220
+ onGestureEnd,
221
+ onGestureCancel,
222
+ detachInactiveScreens = Platform.OS === 'web' || Platform.OS === 'android' || Platform.OS === 'ios'
223
+ } = this.props;
224
+ const {
225
+ scenes,
226
+ layout,
227
+ gestures,
228
+ headerHeights
229
+ } = this.state;
230
+ const focusedRoute = state.routes[state.index];
231
+ const focusedHeaderHeight = headerHeights[focusedRoute.key];
232
+ const isFloatHeaderAbsolute = this.state.scenes.slice(-2).some(scene => {
233
+ const options = scene.descriptor.options ?? {};
234
+ const {
235
+ headerMode,
236
+ headerTransparent,
237
+ headerShown = true
238
+ } = options;
239
+ if (headerTransparent || headerShown === false || headerMode === 'screen') {
240
+ return true;
241
+ }
242
+ return false;
243
+ });
244
+ let activeScreensLimit = 1;
245
+ for (let i = scenes.length - 1; i >= 0; i--) {
246
+ const {
247
+ options
248
+ } = scenes[i].descriptor;
249
+ const {
250
+ // By default, we don't want to detach the previous screen of the active one for modals
251
+ detachPreviousScreen = options.presentation === 'transparentModal' ? false : getIsModalPresentation(options.cardStyleInterpolator) ? i !== findLastIndex(scenes, scene => {
252
+ const {
253
+ cardStyleInterpolator
254
+ } = scene.descriptor.options;
255
+ return cardStyleInterpolator === forModalPresentationIOS || cardStyleInterpolator?.name === 'forModalPresentationIOS';
256
+ }) : true
257
+ } = options;
258
+ if (detachPreviousScreen === false) {
259
+ activeScreensLimit++;
260
+ } else {
261
+ // Check at least last 2 screens before stopping
262
+ // This will make sure that screen isn't detached when another screen is animating on top of the transparent one
263
+ // For example, (Opaque -> Transparent -> Opaque)
264
+ if (i <= scenes.length - 2) {
265
+ break;
266
+ }
267
+ }
268
+ }
269
+ const floatingHeader = /*#__PURE__*/_jsx(React.Fragment, {
270
+ children: renderHeader({
271
+ mode: 'float',
272
+ layout,
273
+ scenes,
274
+ getPreviousScene: this.getPreviousScene,
275
+ getFocusedRoute: this.getFocusedRoute,
276
+ onContentHeightChange: this.handleHeaderLayout,
277
+ style: [styles.floating, isFloatHeaderAbsolute && [
278
+ // Without this, the header buttons won't be touchable on Android when headerTransparent: true
279
+ {
280
+ height: focusedHeaderHeight
281
+ }, styles.absolute]]
282
+ })
283
+ }, "header");
284
+ return /*#__PURE__*/_jsxs(Background, {
285
+ children: [isFloatHeaderAbsolute ? null : floatingHeader, /*#__PURE__*/_jsx(MaybeScreenContainer, {
286
+ enabled: detachInactiveScreens,
287
+ style: styles.container,
288
+ onLayout: this.handleLayout,
289
+ children: [...routes, ...state.preloadedRoutes].map((route, index) => {
290
+ const focused = focusedRoute.key === route.key;
291
+ const gesture = gestures[route.key];
292
+ const scene = scenes[index];
293
+ // It is possible that for a short period the route appears in both arrays.
294
+ // Particularly, if the screen is removed with `retain`, then it needs a moment to execute the animation.
295
+ // However, due to the router action, it immediately populates the `preloadedRoutes` array.
296
+ // Practically, the logic below takes care that it is rendered only once.
297
+ const isPreloaded = state.preloadedRoutes.includes(route) && !routes.includes(route);
298
+ if (state.preloadedRoutes.includes(route) && routes.includes(route) && index >= routes.length) {
299
+ return null;
300
+ }
301
+
302
+ // For the screens that shouldn't be active, the value is 0
303
+ // For those that should be active, but are not the top screen, the value is 1
304
+ // For those on top of the stack and with interaction enabled, the value is 2
305
+ // For the old implementation, it stays the same it was
306
+ let isScreenActive = 1;
307
+ if (index < routes.length - activeScreensLimit - 1 || isPreloaded) {
308
+ // screen should be inactive because it is too deep in the stack
309
+ isScreenActive = STATE_INACTIVE;
310
+ } else {
311
+ const sceneForActivity = scenes[routes.length - 1];
312
+ const outputValue = index === routes.length - 1 ? STATE_ON_TOP // the screen is on top after the transition
313
+ : index >= routes.length - activeScreensLimit ? STATE_TRANSITIONING_OR_BELOW_TOP // the screen should stay active after the transition, it is not on top but is in activeLimit
314
+ : STATE_INACTIVE; // the screen should be active only during the transition, it is at the edge of activeLimit
315
+ isScreenActive = sceneForActivity ? sceneForActivity.progress.current.interpolate({
316
+ inputRange: [0, 1 - EPSILON, 1],
317
+ outputRange: [1, 1, outputValue],
318
+ extrapolate: 'clamp'
319
+ }) : STATE_TRANSITIONING_OR_BELOW_TOP;
320
+ }
321
+ const {
322
+ headerShown = true,
323
+ headerTransparent,
324
+ freezeOnBlur,
325
+ autoHideHomeIndicator
326
+ } = scene.descriptor.options;
327
+ const safeAreaInsetTop = insets.top;
328
+ const safeAreaInsetRight = insets.right;
329
+ const safeAreaInsetBottom = insets.bottom;
330
+ const safeAreaInsetLeft = insets.left;
331
+ const headerHeight = headerShown !== false ? headerHeights[route.key] : 0;
332
+
333
+ // Start from current card and count backwards the number of cards with same interpolation
334
+ const interpolationIndex = getInterpolationIndex(scenes, index);
335
+ const isModal = getIsModal(scene, interpolationIndex, isParentModal);
336
+ const isNextScreenTransparent = scenes[index + 1]?.descriptor.options.presentation === 'transparentModal';
337
+ const detachCurrentScreen = scenes[index + 1]?.descriptor.options.detachPreviousScreen !== false;
338
+ return /*#__PURE__*/_jsx(MaybeScreen, {
339
+ style: [StyleSheet.absoluteFill],
340
+ enabled: detachInactiveScreens,
341
+ active: isScreenActive,
342
+ freezeOnBlur: freezeOnBlur,
343
+ homeIndicatorHidden: autoHideHomeIndicator,
344
+ pointerEvents: "box-none",
345
+ children: /*#__PURE__*/_jsx(CardContainer, {
346
+ index: index,
347
+ interpolationIndex: interpolationIndex,
348
+ modal: isModal,
349
+ active: index === routes.length - 1,
350
+ focused: focused,
351
+ closing: closingRouteKeys.includes(route.key),
352
+ layout: layout,
353
+ gesture: gesture,
354
+ scene: scene,
355
+ safeAreaInsetTop: safeAreaInsetTop,
356
+ safeAreaInsetRight: safeAreaInsetRight,
357
+ safeAreaInsetBottom: safeAreaInsetBottom,
358
+ safeAreaInsetLeft: safeAreaInsetLeft,
359
+ onGestureStart: onGestureStart,
360
+ onGestureCancel: onGestureCancel,
361
+ onGestureEnd: onGestureEnd,
362
+ headerHeight: headerHeight,
363
+ isParentHeaderShown: isParentHeaderShown,
364
+ onHeaderHeightChange: this.handleHeaderLayout,
365
+ getPreviousScene: this.getPreviousScene,
366
+ getFocusedRoute: this.getFocusedRoute,
367
+ hasAbsoluteFloatHeader: isFloatHeaderAbsolute && !headerTransparent,
368
+ renderHeader: renderHeader,
369
+ onOpenRoute: onOpenRoute,
370
+ onCloseRoute: onCloseRoute,
371
+ onTransitionStart: onTransitionStart,
372
+ onTransitionEnd: onTransitionEnd,
373
+ isNextScreenTransparent: isNextScreenTransparent,
374
+ detachCurrentScreen: detachCurrentScreen,
375
+ preloaded: isPreloaded
376
+ })
377
+ }, route.key);
378
+ })
379
+ }), isFloatHeaderAbsolute ? floatingHeader : null]
380
+ });
381
+ }
382
+ }], [{
383
+ key: "getDerivedStateFromProps",
384
+ value: function getDerivedStateFromProps(props, state) {
385
+ if (props.routes === state.routes && props.descriptors === state.descriptors) {
386
+ return null;
387
+ }
388
+ const gestures = [...props.routes, ...props.state.preloadedRoutes].reduce((acc, curr) => {
389
+ const descriptor = props.descriptors[curr.key] || props.preloadedDescriptors[curr.key];
390
+ const {
391
+ animation
392
+ } = descriptor?.options || {};
393
+ acc[curr.key] = state.gestures[curr.key] || new Animated.Value(props.openingRouteKeys.includes(curr.key) && animation !== 'none' || props.state.preloadedRoutes.includes(curr) ? getDistanceFromOptions(state.layout, descriptor, props.direction === 'rtl') : 0);
394
+ return acc;
395
+ }, {});
396
+ const modalRouteKeys = getModalRouteKeys([...props.routes, ...props.state.preloadedRoutes], {
397
+ ...props.descriptors,
398
+ ...props.preloadedDescriptors
399
+ });
400
+ const scenes = [...props.routes, ...props.state.preloadedRoutes].map((route, index, self) => {
401
+ // For preloaded screens, we don't care about the previous and the next screen
402
+ const isPreloaded = props.state.preloadedRoutes.includes(route);
403
+ const previousRoute = isPreloaded ? undefined : self[index - 1];
404
+ const nextRoute = isPreloaded ? undefined : self[index + 1];
405
+ const oldScene = state.scenes[index];
406
+ const currentGesture = gestures[route.key];
407
+ const previousGesture = previousRoute ? gestures[previousRoute.key] : undefined;
408
+ const nextGesture = nextRoute ? gestures[nextRoute.key] : undefined;
409
+ const descriptor = (isPreloaded ? props.preloadedDescriptors : props.descriptors)[route.key] || state.descriptors[route.key] || (oldScene ? oldScene.descriptor : FALLBACK_DESCRIPTOR);
410
+ const nextDescriptor = nextRoute && (props.descriptors[nextRoute?.key] || state.descriptors[nextRoute?.key]);
411
+ const previousDescriptor = previousRoute && (props.descriptors[previousRoute?.key] || state.descriptors[previousRoute?.key]);
412
+
413
+ // When a screen is not the last, it should use next screen's transition config
414
+ // Many transitions also animate the previous screen, so using 2 different transitions doesn't look right
415
+ // For example combining a slide and a modal transition would look wrong otherwise
416
+ // With this approach, combining different transition styles in the same navigator mostly looks right
417
+ // This will still be broken when 2 transitions have different idle state (e.g. modal presentation),
418
+ // but the majority of the transitions look alright
419
+ const optionsForTransitionConfig = index !== self.length - 1 && nextDescriptor && nextDescriptor.options.presentation !== 'transparentModal' ? nextDescriptor.options : descriptor.options;
420
+
421
+ // Assume modal if there are already modal screens in the stack
422
+ // or current screen is a modal when no presentation is specified
423
+ const isModal = modalRouteKeys.includes(route.key);
424
+
425
+ // Disable screen transition animation by default on web, windows and macos to match the native behavior
426
+ const excludedPlatforms = Platform.OS !== 'web' && Platform.OS !== 'windows' && Platform.OS !== 'macos';
427
+ const animation = optionsForTransitionConfig.animation ?? (excludedPlatforms ? 'default' : 'none');
428
+ const isAnimationEnabled = animation !== 'none';
429
+ const transitionPreset = animation !== 'default' ? NAMED_TRANSITIONS_PRESETS[animation] : isModal || optionsForTransitionConfig.presentation === 'modal' ? ModalTransition : optionsForTransitionConfig.presentation === 'transparentModal' ? ModalFadeTransition : DefaultTransition;
430
+ const {
431
+ gestureEnabled = Platform.OS === 'ios' && isAnimationEnabled,
432
+ gestureDirection = transitionPreset.gestureDirection,
433
+ transitionSpec = transitionPreset.transitionSpec,
434
+ cardStyleInterpolator = isAnimationEnabled ? transitionPreset.cardStyleInterpolator : forNoAnimationCard,
435
+ headerStyleInterpolator = transitionPreset.headerStyleInterpolator,
436
+ cardOverlayEnabled = Platform.OS !== 'ios' && optionsForTransitionConfig.presentation !== 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)
437
+ } = optionsForTransitionConfig;
438
+ const headerMode = descriptor.options.headerMode ?? (!(optionsForTransitionConfig.presentation === 'modal' || optionsForTransitionConfig.presentation === 'transparentModal' || nextDescriptor?.options.presentation === 'modal' || nextDescriptor?.options.presentation === 'transparentModal' || getIsModalPresentation(cardStyleInterpolator)) && Platform.OS === 'ios' && descriptor.options.header === undefined ? 'float' : 'screen');
439
+ const isRTL = props.direction === 'rtl';
440
+ const scene = {
441
+ route,
442
+ descriptor: {
443
+ ...descriptor,
444
+ options: {
445
+ ...descriptor.options,
446
+ animation,
447
+ cardOverlayEnabled,
448
+ cardStyleInterpolator,
449
+ gestureDirection,
450
+ gestureEnabled,
451
+ headerStyleInterpolator,
452
+ transitionSpec,
453
+ headerMode
454
+ }
455
+ },
456
+ progress: {
457
+ current: getProgressFromGesture(currentGesture, state.layout, descriptor, isRTL),
458
+ next: nextGesture && nextDescriptor?.options.presentation !== 'transparentModal' ? getProgressFromGesture(nextGesture, state.layout, nextDescriptor, isRTL) : undefined,
459
+ previous: previousGesture ? getProgressFromGesture(previousGesture, state.layout, previousDescriptor, isRTL) : undefined
460
+ },
461
+ __memo: [state.layout, descriptor, nextDescriptor, previousDescriptor, currentGesture, nextGesture, previousGesture]
462
+ };
463
+ if (oldScene && scene.__memo.every((it, i) => {
464
+ // @ts-expect-error: we haven't added __memo to the annotation to prevent usage elsewhere
465
+ return oldScene.__memo[i] === it;
466
+ })) {
467
+ return oldScene;
468
+ }
469
+ return scene;
470
+ });
471
+ return {
472
+ routes: props.routes,
473
+ scenes,
474
+ gestures,
475
+ descriptors: props.descriptors,
476
+ headerHeights: getHeaderHeights(scenes, props.insets, props.isParentHeaderShown, props.isParentModal, state.layout, state.headerHeights)
477
+ };
478
+ }
479
+ }]);
480
+ }(React.Component);
481
+ const styles = StyleSheet.create({
482
+ container: {
483
+ flex: 1
484
+ },
485
+ absolute: {
486
+ position: 'absolute',
487
+ top: 0,
488
+ start: 0,
489
+ end: 0
490
+ },
491
+ floating: {
492
+ zIndex: 1
493
+ }
494
+ });
495
+ //# sourceMappingURL=CardStack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Background","getDefaultHeaderHeight","SafeAreaProviderCompat","React","Animated","Platform","StyleSheet","forModalPresentationIOS","forNoAnimation","forNoAnimationCard","BottomSheetAndroid","DefaultTransition","FadeFromBottomAndroid","FadeFromRightAndroid","ModalFadeTransition","ModalSlideFromBottomIOS","ModalTransition","RevealFromBottomAndroid","ScaleFromCenterAndroid","SlideFromLeftIOS","SlideFromRightIOS","findLastIndex","getDistanceForDirection","getModalRouteKeys","MaybeScreen","MaybeScreenContainer","CardContainer","jsx","_jsx","jsxs","_jsxs","NAMED_TRANSITIONS_PRESETS","default","fade","fade_from_bottom","fade_from_right","none","reveal_from_bottom","scale_from_center","slide_from_left","slide_from_right","slide_from_bottom","select","ios","EPSILON","STATE_INACTIVE","STATE_TRANSITIONING_OR_BELOW_TOP","STATE_ON_TOP","FALLBACK_DESCRIPTOR","Object","freeze","options","getInterpolationIndex","scenes","index","cardStyleInterpolator","descriptor","interpolationIndex","i","cardStyleInterpolatorCurrent","getIsModalPresentation","name","getIsModal","scene","isParentModal","isModalPresentation","isModal","getHeaderHeights","insets","isParentHeaderShown","layout","previous","reduce","acc","curr","headerStatusBarHeight","top","headerStyle","style","flatten","height","route","key","getDistanceFromOptions","isRTL","gestureDirection","defaultGestureDirection","presentation","animation","getProgressFromGesture","gesture","distance","width","Math","max","interpolate","inputRange","outputRange","CardStack","_React$Component","props","_this","_classCallCheck","_callSuper","_defineProperty","e","nativeEvent","setState","state","headerHeights","previousHeight","routes","getPreviousRoute","previousRoute","previousScene","find","undefined","gestures","initialMetrics","frame","descriptors","_inherits","_createClass","value","render","closingRouteKeys","onOpenRoute","onCloseRoute","renderHeader","onTransitionStart","onTransitionEnd","onGestureStart","onGestureEnd","onGestureCancel","detachInactiveScreens","OS","focusedRoute","focusedHeaderHeight","isFloatHeaderAbsolute","slice","some","headerMode","headerTransparent","headerShown","activeScreensLimit","length","detachPreviousScreen","floatingHeader","Fragment","children","mode","getPreviousScene","getFocusedRoute","onContentHeightChange","handleHeaderLayout","styles","floating","absolute","enabled","container","onLayout","handleLayout","preloadedRoutes","map","focused","isPreloaded","includes","isScreenActive","sceneForActivity","outputValue","progress","current","extrapolate","freezeOnBlur","autoHideHomeIndicator","safeAreaInsetTop","safeAreaInsetRight","right","safeAreaInsetBottom","bottom","safeAreaInsetLeft","left","headerHeight","isNextScreenTransparent","detachCurrentScreen","absoluteFill","active","homeIndicatorHidden","pointerEvents","modal","closing","onHeaderHeightChange","hasAbsoluteFloatHeader","preloaded","getDerivedStateFromProps","preloadedDescriptors","Value","openingRouteKeys","direction","modalRouteKeys","self","nextRoute","oldScene","currentGesture","previousGesture","nextGesture","nextDescriptor","previousDescriptor","optionsForTransitionConfig","excludedPlatforms","isAnimationEnabled","transitionPreset","gestureEnabled","transitionSpec","headerStyleInterpolator","cardOverlayEnabled","header","next","__memo","every","it","Component","create","flex","position","start","end","zIndex"],"sourceRoot":"../../../../src","sources":["views/Stack/CardStack.tsx"],"mappings":"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","ignoreList":[]}