react-native-screen-transitions 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +211 -156
  3. package/lib/commonjs/__tests__ /geometry.test.js +178 -0
  4. package/lib/commonjs/__tests__ /geometry.test.js.map +1 -0
  5. package/lib/commonjs/components/bounds-activator.js +33 -0
  6. package/lib/commonjs/components/bounds-activator.js.map +1 -0
  7. package/lib/commonjs/components/controllers/screen-lifecycle.js +66 -0
  8. package/lib/commonjs/components/controllers/screen-lifecycle.js.map +1 -0
  9. package/lib/commonjs/components/create-transition-aware-component.js +96 -0
  10. package/lib/commonjs/components/create-transition-aware-component.js.map +1 -0
  11. package/lib/commonjs/components/root-transition-aware.js +56 -0
  12. package/lib/commonjs/components/root-transition-aware.js.map +1 -0
  13. package/lib/commonjs/configs/index.js +12 -0
  14. package/lib/commonjs/configs/index.js.map +1 -0
  15. package/lib/commonjs/configs/presets.js +206 -0
  16. package/lib/commonjs/configs/presets.js.map +1 -0
  17. package/lib/commonjs/configs/specs.js +14 -0
  18. package/lib/commonjs/configs/specs.js.map +1 -0
  19. package/lib/commonjs/hooks/animation/use-associated-style.js +36 -0
  20. package/lib/commonjs/hooks/animation/use-associated-style.js.map +1 -0
  21. package/lib/commonjs/hooks/animation/use-screen-animation.js +120 -0
  22. package/lib/commonjs/hooks/animation/use-screen-animation.js.map +1 -0
  23. package/lib/commonjs/hooks/bounds/use-bound-measurer.js +52 -0
  24. package/lib/commonjs/hooks/bounds/use-bound-measurer.js.map +1 -0
  25. package/lib/commonjs/hooks/gestures/use-build-gestures.js +239 -0
  26. package/lib/commonjs/hooks/gestures/use-build-gestures.js.map +1 -0
  27. package/lib/commonjs/hooks/gestures/use-scroll-progress.js +57 -0
  28. package/lib/commonjs/hooks/gestures/use-scroll-progress.js.map +1 -0
  29. package/lib/commonjs/hooks/use-stable-callback.js +17 -0
  30. package/lib/commonjs/hooks/use-stable-callback.js.map +1 -0
  31. package/lib/commonjs/index.js +37 -0
  32. package/lib/commonjs/index.js.map +1 -0
  33. package/lib/commonjs/integrations/native-stack/navigators/createNativeStackNavigator.js +68 -0
  34. package/lib/commonjs/integrations/native-stack/navigators/createNativeStackNavigator.js.map +1 -0
  35. package/lib/commonjs/integrations/native-stack/utils/debounce.js +16 -0
  36. package/lib/commonjs/integrations/native-stack/utils/debounce.js.map +1 -0
  37. package/lib/commonjs/integrations/native-stack/utils/getModalRoutesKeys.js +17 -0
  38. package/lib/commonjs/integrations/native-stack/utils/getModalRoutesKeys.js.map +1 -0
  39. package/lib/commonjs/integrations/native-stack/utils/useAnimatedHeaderHeight.js +18 -0
  40. package/lib/commonjs/integrations/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -0
  41. package/lib/commonjs/integrations/native-stack/utils/useDismissedRouteError.js +22 -0
  42. package/lib/commonjs/integrations/native-stack/utils/useDismissedRouteError.js.map +1 -0
  43. package/lib/commonjs/integrations/native-stack/utils/useInvalidPreventRemoveError.js +25 -0
  44. package/lib/commonjs/integrations/native-stack/utils/useInvalidPreventRemoveError.js.map +1 -0
  45. package/lib/commonjs/integrations/native-stack/views/FontProcessor.js +10 -0
  46. package/lib/commonjs/integrations/native-stack/views/FontProcessor.js.map +1 -0
  47. package/lib/commonjs/integrations/native-stack/views/FontProcessor.native.js +18 -0
  48. package/lib/commonjs/integrations/native-stack/views/FontProcessor.native.js.map +1 -0
  49. package/lib/commonjs/integrations/native-stack/views/FooterComponent.js +17 -0
  50. package/lib/commonjs/integrations/native-stack/views/FooterComponent.js.map +1 -0
  51. package/lib/commonjs/integrations/native-stack/views/NativeStackView.js +138 -0
  52. package/lib/commonjs/integrations/native-stack/views/NativeStackView.js.map +1 -0
  53. package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js +497 -0
  54. package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js.map +1 -0
  55. package/lib/commonjs/integrations/native-stack/views/useHeaderConfigProps.js +203 -0
  56. package/lib/commonjs/integrations/native-stack/views/useHeaderConfigProps.js.map +1 -0
  57. package/lib/commonjs/package.json +1 -0
  58. package/lib/commonjs/providers/gestures.js +64 -0
  59. package/lib/commonjs/providers/gestures.js.map +1 -0
  60. package/lib/commonjs/providers/keys.js +35 -0
  61. package/lib/commonjs/providers/keys.js.map +1 -0
  62. package/lib/commonjs/stores/animations.js +39 -0
  63. package/lib/commonjs/stores/animations.js.map +1 -0
  64. package/lib/commonjs/stores/bounds.js +64 -0
  65. package/lib/commonjs/stores/bounds.js.map +1 -0
  66. package/lib/commonjs/stores/gestures.js +38 -0
  67. package/lib/commonjs/stores/gestures.js.map +1 -0
  68. package/lib/commonjs/stores/navigator-dismiss-state.js +23 -0
  69. package/lib/commonjs/stores/navigator-dismiss-state.js.map +1 -0
  70. package/lib/commonjs/stores/utils/reset-stores-for-screen.js +20 -0
  71. package/lib/commonjs/stores/utils/reset-stores-for-screen.js.map +1 -0
  72. package/lib/commonjs/types/animation.js +6 -0
  73. package/lib/commonjs/types/animation.js.map +1 -0
  74. package/lib/commonjs/types/bounds.js +6 -0
  75. package/lib/commonjs/types/bounds.js.map +1 -0
  76. package/lib/commonjs/types/core.js +6 -0
  77. package/lib/commonjs/types/core.js.map +1 -0
  78. package/lib/commonjs/types/gesture.js +2 -0
  79. package/lib/commonjs/types/gesture.js.map +1 -0
  80. package/lib/commonjs/types/navigator.js +6 -0
  81. package/lib/commonjs/types/navigator.js.map +1 -0
  82. package/lib/commonjs/types/utils.js +2 -0
  83. package/lib/commonjs/types/utils.js.map +1 -0
  84. package/lib/commonjs/utils/animation/animate.js +18 -0
  85. package/lib/commonjs/utils/animation/animate.js.map +1 -0
  86. package/lib/commonjs/utils/animation/run-transition.js +48 -0
  87. package/lib/commonjs/utils/animation/run-transition.js.map +1 -0
  88. package/lib/commonjs/utils/bounds/_types/builder.js +6 -0
  89. package/lib/commonjs/utils/bounds/_types/builder.js.map +1 -0
  90. package/lib/commonjs/utils/bounds/_types/geometry.js +2 -0
  91. package/lib/commonjs/utils/bounds/_types/geometry.js.map +1 -0
  92. package/lib/commonjs/utils/bounds/_types/get-bounds.js +6 -0
  93. package/lib/commonjs/utils/bounds/_types/get-bounds.js.map +1 -0
  94. package/lib/commonjs/utils/bounds/build-bound-styles.js +145 -0
  95. package/lib/commonjs/utils/bounds/build-bound-styles.js.map +1 -0
  96. package/lib/commonjs/utils/bounds/constants.js +31 -0
  97. package/lib/commonjs/utils/bounds/constants.js.map +1 -0
  98. package/lib/commonjs/utils/bounds/flatten-styles.js +27 -0
  99. package/lib/commonjs/utils/bounds/flatten-styles.js.map +1 -0
  100. package/lib/commonjs/utils/bounds/geometry.js +94 -0
  101. package/lib/commonjs/utils/bounds/geometry.js.map +1 -0
  102. package/lib/commonjs/utils/bounds/get-bounds.js +51 -0
  103. package/lib/commonjs/utils/bounds/get-bounds.js.map +1 -0
  104. package/lib/commonjs/utils/bounds/index.js +38 -0
  105. package/lib/commonjs/utils/bounds/index.js.map +1 -0
  106. package/lib/commonjs/utils/bounds/style-composers.js +199 -0
  107. package/lib/commonjs/utils/bounds/style-composers.js.map +1 -0
  108. package/lib/commonjs/utils/gesture/apply-gesture-activation-criteria.js +81 -0
  109. package/lib/commonjs/utils/gesture/apply-gesture-activation-criteria.js.map +1 -0
  110. package/lib/commonjs/utils/gesture/map-gesture-to-progress.js +17 -0
  111. package/lib/commonjs/utils/gesture/map-gesture-to-progress.js.map +1 -0
  112. package/lib/commonjs/utils/gesture/normalize-gesture-translation.js +21 -0
  113. package/lib/commonjs/utils/gesture/normalize-gesture-translation.js.map +1 -0
  114. package/lib/commonjs/utils/index.js +17 -0
  115. package/lib/commonjs/utils/index.js.map +1 -0
  116. package/lib/module/__tests__ /geometry.test.js +178 -0
  117. package/lib/module/__tests__ /geometry.test.js.map +1 -0
  118. package/lib/module/components/bounds-activator.js +28 -0
  119. package/lib/module/components/bounds-activator.js.map +1 -0
  120. package/lib/module/components/controllers/screen-lifecycle.js +60 -0
  121. package/lib/module/components/controllers/screen-lifecycle.js.map +1 -0
  122. package/lib/module/components/create-transition-aware-component.js +91 -0
  123. package/lib/module/components/create-transition-aware-component.js.map +1 -0
  124. package/lib/module/components/root-transition-aware.js +51 -0
  125. package/lib/module/components/root-transition-aware.js.map +1 -0
  126. package/lib/module/configs/index.js +5 -0
  127. package/lib/module/configs/index.js.map +1 -0
  128. package/lib/module/configs/presets.js +197 -0
  129. package/lib/module/configs/presets.js.map +1 -0
  130. package/lib/module/configs/specs.js +10 -0
  131. package/lib/module/configs/specs.js.map +1 -0
  132. package/lib/module/hooks/animation/use-associated-style.js +32 -0
  133. package/lib/module/hooks/animation/use-associated-style.js.map +1 -0
  134. package/lib/module/hooks/animation/use-screen-animation.js +115 -0
  135. package/lib/module/hooks/animation/use-screen-animation.js.map +1 -0
  136. package/lib/module/hooks/bounds/use-bound-measurer.js +47 -0
  137. package/lib/module/hooks/bounds/use-bound-measurer.js.map +1 -0
  138. package/lib/module/hooks/gestures/use-build-gestures.js +234 -0
  139. package/lib/module/hooks/gestures/use-build-gestures.js.map +1 -0
  140. package/lib/module/hooks/gestures/use-scroll-progress.js +52 -0
  141. package/lib/module/hooks/gestures/use-scroll-progress.js.map +1 -0
  142. package/lib/module/hooks/use-stable-callback.js +13 -0
  143. package/lib/module/hooks/use-stable-callback.js.map +1 -0
  144. package/lib/module/index.js +21 -0
  145. package/lib/module/index.js.map +1 -0
  146. package/lib/module/integrations/native-stack/navigators/createNativeStackNavigator.js +63 -0
  147. package/lib/module/integrations/native-stack/navigators/createNativeStackNavigator.js.map +1 -0
  148. package/lib/module/integrations/native-stack/utils/debounce.js +12 -0
  149. package/lib/module/integrations/native-stack/utils/debounce.js.map +1 -0
  150. package/lib/module/integrations/native-stack/utils/getModalRoutesKeys.js +12 -0
  151. package/lib/module/integrations/native-stack/utils/getModalRoutesKeys.js.map +1 -0
  152. package/lib/module/integrations/native-stack/utils/useAnimatedHeaderHeight.js +12 -0
  153. package/lib/module/integrations/native-stack/utils/useAnimatedHeaderHeight.js.map +1 -0
  154. package/lib/module/integrations/native-stack/utils/useDismissedRouteError.js +17 -0
  155. package/lib/module/integrations/native-stack/utils/useDismissedRouteError.js.map +1 -0
  156. package/lib/module/integrations/native-stack/utils/useInvalidPreventRemoveError.js +20 -0
  157. package/lib/module/integrations/native-stack/utils/useInvalidPreventRemoveError.js.map +1 -0
  158. package/lib/module/integrations/native-stack/views/FontProcessor.js +6 -0
  159. package/lib/module/integrations/native-stack/views/FontProcessor.js.map +1 -0
  160. package/lib/module/integrations/native-stack/views/FontProcessor.native.js +12 -0
  161. package/lib/module/integrations/native-stack/views/FontProcessor.native.js.map +1 -0
  162. package/lib/module/integrations/native-stack/views/FooterComponent.js +13 -0
  163. package/lib/module/integrations/native-stack/views/FooterComponent.js.map +1 -0
  164. package/lib/module/integrations/native-stack/views/NativeStackView.js +133 -0
  165. package/lib/module/integrations/native-stack/views/NativeStackView.js.map +1 -0
  166. package/lib/module/integrations/native-stack/views/NativeStackView.native.js +492 -0
  167. package/lib/module/integrations/native-stack/views/NativeStackView.native.js.map +1 -0
  168. package/lib/module/integrations/native-stack/views/useHeaderConfigProps.js +199 -0
  169. package/lib/module/integrations/native-stack/views/useHeaderConfigProps.js.map +1 -0
  170. package/lib/module/providers/gestures.js +58 -0
  171. package/lib/module/providers/gestures.js.map +1 -0
  172. package/lib/module/providers/keys.js +29 -0
  173. package/lib/module/providers/keys.js.map +1 -0
  174. package/lib/module/stores/animations.js +33 -0
  175. package/lib/module/stores/animations.js.map +1 -0
  176. package/lib/module/stores/bounds.js +60 -0
  177. package/lib/module/stores/bounds.js.map +1 -0
  178. package/lib/module/stores/gestures.js +34 -0
  179. package/lib/module/stores/gestures.js.map +1 -0
  180. package/lib/module/stores/navigator-dismiss-state.js +19 -0
  181. package/lib/module/stores/navigator-dismiss-state.js.map +1 -0
  182. package/lib/module/stores/utils/reset-stores-for-screen.js +16 -0
  183. package/lib/module/stores/utils/reset-stores-for-screen.js.map +1 -0
  184. package/lib/module/types/animation.js +4 -0
  185. package/lib/module/types/animation.js.map +1 -0
  186. package/lib/module/types/bounds.js +4 -0
  187. package/lib/module/types/bounds.js.map +1 -0
  188. package/lib/module/types/core.js +4 -0
  189. package/lib/module/types/core.js.map +1 -0
  190. package/lib/module/types/gesture.js +2 -0
  191. package/lib/module/types/gesture.js.map +1 -0
  192. package/lib/module/types/navigator.js +4 -0
  193. package/lib/module/types/navigator.js.map +1 -0
  194. package/lib/module/types/utils.js +2 -0
  195. package/lib/module/types/utils.js.map +1 -0
  196. package/lib/module/utils/animation/animate.js +13 -0
  197. package/lib/module/utils/animation/animate.js.map +1 -0
  198. package/lib/module/utils/animation/run-transition.js +43 -0
  199. package/lib/module/utils/animation/run-transition.js.map +1 -0
  200. package/lib/module/utils/bounds/_types/builder.js +4 -0
  201. package/lib/module/utils/bounds/_types/builder.js.map +1 -0
  202. package/lib/module/utils/bounds/_types/geometry.js +2 -0
  203. package/lib/module/utils/bounds/_types/geometry.js.map +1 -0
  204. package/lib/module/utils/bounds/_types/get-bounds.js +4 -0
  205. package/lib/module/utils/bounds/_types/get-bounds.js.map +1 -0
  206. package/lib/module/utils/bounds/build-bound-styles.js +141 -0
  207. package/lib/module/utils/bounds/build-bound-styles.js.map +1 -0
  208. package/lib/module/utils/bounds/constants.js +26 -0
  209. package/lib/module/utils/bounds/constants.js.map +1 -0
  210. package/lib/module/utils/bounds/flatten-styles.js +23 -0
  211. package/lib/module/utils/bounds/flatten-styles.js.map +1 -0
  212. package/lib/module/utils/bounds/geometry.js +89 -0
  213. package/lib/module/utils/bounds/geometry.js.map +1 -0
  214. package/lib/module/utils/bounds/get-bounds.js +46 -0
  215. package/lib/module/utils/bounds/get-bounds.js.map +1 -0
  216. package/lib/module/utils/bounds/index.js +33 -0
  217. package/lib/module/utils/bounds/index.js.map +1 -0
  218. package/lib/module/utils/bounds/style-composers.js +191 -0
  219. package/lib/module/utils/bounds/style-composers.js.map +1 -0
  220. package/lib/module/utils/gesture/apply-gesture-activation-criteria.js +76 -0
  221. package/lib/module/utils/gesture/apply-gesture-activation-criteria.js.map +1 -0
  222. package/lib/module/utils/gesture/map-gesture-to-progress.js +12 -0
  223. package/lib/module/utils/gesture/map-gesture-to-progress.js.map +1 -0
  224. package/lib/module/utils/gesture/normalize-gesture-translation.js +16 -0
  225. package/lib/module/utils/gesture/normalize-gesture-translation.js.map +1 -0
  226. package/lib/module/utils/index.js +4 -0
  227. package/lib/module/utils/index.js.map +1 -0
  228. package/lib/typescript/components/bounds-activator.d.ts +8 -0
  229. package/lib/typescript/components/bounds-activator.d.ts.map +1 -0
  230. package/lib/typescript/components/controllers/screen-lifecycle.d.ts +6 -0
  231. package/lib/typescript/components/controllers/screen-lifecycle.d.ts.map +1 -0
  232. package/lib/typescript/components/create-transition-aware-component.d.ts +9 -0
  233. package/lib/typescript/components/create-transition-aware-component.d.ts.map +1 -0
  234. package/lib/typescript/components/root-transition-aware.d.ts +6 -0
  235. package/lib/typescript/components/root-transition-aware.d.ts.map +1 -0
  236. package/lib/typescript/configs/index.d.ts +3 -0
  237. package/lib/typescript/configs/index.d.ts.map +1 -0
  238. package/lib/typescript/configs/presets.d.ts +9 -0
  239. package/lib/typescript/configs/presets.d.ts.map +1 -0
  240. package/lib/typescript/configs/specs.d.ts +3 -0
  241. package/lib/typescript/configs/specs.d.ts.map +1 -0
  242. package/lib/typescript/hooks/animation/use-associated-style.d.ts +11 -0
  243. package/lib/typescript/hooks/animation/use-associated-style.d.ts.map +1 -0
  244. package/lib/typescript/hooks/animation/use-screen-animation.d.ts +7 -0
  245. package/lib/typescript/hooks/animation/use-screen-animation.d.ts.map +1 -0
  246. package/lib/typescript/hooks/bounds/use-bound-measurer.d.ts +18 -0
  247. package/lib/typescript/hooks/bounds/use-bound-measurer.d.ts.map +1 -0
  248. package/lib/typescript/hooks/gestures/use-build-gestures.d.ts +11 -0
  249. package/lib/typescript/hooks/gestures/use-build-gestures.d.ts.map +1 -0
  250. package/lib/typescript/hooks/gestures/use-scroll-progress.d.ts +14 -0
  251. package/lib/typescript/hooks/gestures/use-scroll-progress.d.ts.map +1 -0
  252. package/lib/typescript/hooks/use-stable-callback.d.ts +2 -0
  253. package/lib/typescript/hooks/use-stable-callback.d.ts.map +1 -0
  254. package/lib/typescript/index.d.ts +1275 -0
  255. package/lib/typescript/index.d.ts.map +1 -0
  256. package/lib/typescript/integrations/native-stack/navigators/createNativeStackNavigator.d.ts +16 -0
  257. package/lib/typescript/integrations/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -0
  258. package/lib/typescript/integrations/native-stack/utils/debounce.d.ts +2 -0
  259. package/lib/typescript/integrations/native-stack/utils/debounce.d.ts.map +1 -0
  260. package/lib/typescript/integrations/native-stack/utils/getModalRoutesKeys.d.ts +4 -0
  261. package/lib/typescript/integrations/native-stack/utils/getModalRoutesKeys.d.ts.map +1 -0
  262. package/lib/typescript/integrations/native-stack/utils/useAnimatedHeaderHeight.d.ts +5 -0
  263. package/lib/typescript/integrations/native-stack/utils/useAnimatedHeaderHeight.d.ts.map +1 -0
  264. package/lib/typescript/integrations/native-stack/utils/useDismissedRouteError.d.ts +6 -0
  265. package/lib/typescript/integrations/native-stack/utils/useDismissedRouteError.d.ts.map +1 -0
  266. package/lib/typescript/integrations/native-stack/utils/useInvalidPreventRemoveError.d.ts +3 -0
  267. package/lib/typescript/integrations/native-stack/utils/useInvalidPreventRemoveError.d.ts.map +1 -0
  268. package/lib/typescript/integrations/native-stack/views/FontProcessor.d.ts +2 -0
  269. package/lib/typescript/integrations/native-stack/views/FontProcessor.d.ts.map +1 -0
  270. package/lib/typescript/integrations/native-stack/views/FontProcessor.native.d.ts +2 -0
  271. package/lib/typescript/integrations/native-stack/views/FontProcessor.native.d.ts.map +1 -0
  272. package/lib/typescript/integrations/native-stack/views/FooterComponent.d.ts +7 -0
  273. package/lib/typescript/integrations/native-stack/views/FooterComponent.d.ts.map +1 -0
  274. package/lib/typescript/integrations/native-stack/views/NativeStackView.d.ts +11 -0
  275. package/lib/typescript/integrations/native-stack/views/NativeStackView.d.ts.map +1 -0
  276. package/lib/typescript/integrations/native-stack/views/NativeStackView.native.d.ts +11 -0
  277. package/lib/typescript/integrations/native-stack/views/NativeStackView.native.d.ts.map +1 -0
  278. package/lib/typescript/integrations/native-stack/views/useHeaderConfigProps.d.ts +44 -0
  279. package/lib/typescript/integrations/native-stack/views/useHeaderConfigProps.d.ts.map +1 -0
  280. package/lib/typescript/providers/gestures.d.ts +22 -0
  281. package/lib/typescript/providers/gestures.d.ts.map +1 -0
  282. package/lib/typescript/providers/keys.d.ts +16 -0
  283. package/lib/typescript/providers/keys.d.ts.map +1 -0
  284. package/lib/typescript/stores/animations.d.ts +17 -0
  285. package/lib/typescript/stores/animations.d.ts.map +1 -0
  286. package/lib/typescript/stores/bounds.d.ts +21 -0
  287. package/lib/typescript/stores/bounds.d.ts.map +1 -0
  288. package/lib/typescript/stores/gestures.d.ts +21 -0
  289. package/lib/typescript/stores/gestures.d.ts.map +1 -0
  290. package/lib/typescript/stores/navigator-dismiss-state.d.ts +7 -0
  291. package/lib/typescript/stores/navigator-dismiss-state.d.ts.map +1 -0
  292. package/lib/typescript/stores/utils/reset-stores-for-screen.d.ts +6 -0
  293. package/lib/typescript/stores/utils/reset-stores-for-screen.d.ts.map +1 -0
  294. package/lib/typescript/types/animation.d.ts +65 -0
  295. package/lib/typescript/types/animation.d.ts.map +1 -0
  296. package/lib/typescript/types/bounds.d.ts +73 -0
  297. package/lib/typescript/types/bounds.d.ts.map +1 -0
  298. package/lib/typescript/types/core.d.ts +47 -0
  299. package/lib/typescript/types/core.d.ts.map +1 -0
  300. package/lib/typescript/types/gesture.d.ts +28 -0
  301. package/lib/typescript/types/gesture.d.ts.map +1 -0
  302. package/lib/typescript/types/navigator.d.ts +683 -0
  303. package/lib/typescript/types/navigator.d.ts.map +1 -0
  304. package/lib/typescript/types/utils.d.ts +5 -0
  305. package/lib/typescript/types/utils.d.ts.map +1 -0
  306. package/lib/typescript/utils/animation/animate.d.ts +4 -0
  307. package/lib/typescript/utils/animation/animate.d.ts.map +1 -0
  308. package/lib/typescript/utils/animation/run-transition.d.ts +11 -0
  309. package/lib/typescript/utils/animation/run-transition.d.ts.map +1 -0
  310. package/lib/typescript/utils/bounds/_types/builder.d.ts +36 -0
  311. package/lib/typescript/utils/bounds/_types/builder.d.ts.map +1 -0
  312. package/lib/typescript/utils/bounds/_types/geometry.d.ts +16 -0
  313. package/lib/typescript/utils/bounds/_types/geometry.d.ts.map +1 -0
  314. package/lib/typescript/utils/bounds/_types/get-bounds.d.ts +10 -0
  315. package/lib/typescript/utils/bounds/_types/get-bounds.d.ts.map +1 -0
  316. package/lib/typescript/utils/bounds/build-bound-styles.d.ts +4 -0
  317. package/lib/typescript/utils/bounds/build-bound-styles.d.ts.map +1 -0
  318. package/lib/typescript/utils/bounds/constants.d.ts +7 -0
  319. package/lib/typescript/utils/bounds/constants.d.ts.map +1 -0
  320. package/lib/typescript/utils/bounds/flatten-styles.d.ts +2 -0
  321. package/lib/typescript/utils/bounds/flatten-styles.d.ts.map +1 -0
  322. package/lib/typescript/utils/bounds/geometry.d.ts +24 -0
  323. package/lib/typescript/utils/bounds/geometry.d.ts.map +1 -0
  324. package/lib/typescript/utils/bounds/get-bounds.d.ts +4 -0
  325. package/lib/typescript/utils/bounds/get-bounds.d.ts.map +1 -0
  326. package/lib/typescript/utils/bounds/index.d.ts +15 -0
  327. package/lib/typescript/utils/bounds/index.d.ts.map +1 -0
  328. package/lib/typescript/utils/bounds/style-composers.d.ts +40 -0
  329. package/lib/typescript/utils/bounds/style-composers.d.ts.map +1 -0
  330. package/lib/typescript/utils/gesture/apply-gesture-activation-criteria.d.ts +17 -0
  331. package/lib/typescript/utils/gesture/apply-gesture-activation-criteria.d.ts.map +1 -0
  332. package/lib/typescript/utils/gesture/map-gesture-to-progress.d.ts +5 -0
  333. package/lib/typescript/utils/gesture/map-gesture-to-progress.d.ts.map +1 -0
  334. package/lib/typescript/utils/gesture/normalize-gesture-translation.d.ts +6 -0
  335. package/lib/typescript/utils/gesture/normalize-gesture-translation.d.ts.map +1 -0
  336. package/lib/typescript/utils/index.d.ts +2 -0
  337. package/lib/typescript/utils/index.d.ts.map +1 -0
  338. package/package.json +67 -54
  339. package/dist/index.d.mts +0 -1513
  340. package/dist/index.d.ts +0 -1513
  341. package/dist/index.js +0 -1283
  342. package/dist/index.js.map +0 -1
  343. package/dist/index.mjs +0 -1279
  344. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,497 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NativeStackView = NativeStackView;
7
+ var _elements = require("@react-navigation/elements");
8
+ var _native = require("@react-navigation/native");
9
+ var React = _interopRequireWildcard(require("react"));
10
+ var _reactNative = require("react-native");
11
+ var _reactNativeSafeAreaContext = require("react-native-safe-area-context");
12
+ var _reactNativeScreens = require("react-native-screens");
13
+ var _screenLifecycle = require("../../../components/controllers/screen-lifecycle");
14
+ var _rootTransitionAware = require("../../../components/root-transition-aware");
15
+ var _gestures = require("../../../providers/gestures");
16
+ var _keys = require("../../../providers/keys");
17
+ var _debounce = require("../utils/debounce");
18
+ var _getModalRoutesKeys = require("../utils/getModalRoutesKeys");
19
+ var _useAnimatedHeaderHeight = require("../utils/useAnimatedHeaderHeight");
20
+ var _useDismissedRouteError = require("../utils/useDismissedRouteError");
21
+ var _useInvalidPreventRemoveError = require("../utils/useInvalidPreventRemoveError");
22
+ var _useHeaderConfigProps = require("./useHeaderConfigProps");
23
+ var _jsxRuntime = require("react/jsx-runtime");
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
25
+ const ANDROID_DEFAULT_HEADER_HEIGHT = 56;
26
+ function isFabric() {
27
+ return "nativeFabricUIManager" in global;
28
+ }
29
+ const useNativeDriver = _reactNative.Platform.OS !== "web";
30
+ const SceneView = ({
31
+ index,
32
+ focused,
33
+ shouldFreeze,
34
+ descriptor,
35
+ previousDescriptor,
36
+ nextDescriptor,
37
+ isPresentationModal,
38
+ isPreloaded,
39
+ onWillDisappear,
40
+ onWillAppear,
41
+ onAppear,
42
+ onDisappear,
43
+ onDismissed,
44
+ onHeaderBackButtonClicked,
45
+ onNativeDismissCancelled,
46
+ onGestureCancel,
47
+ onSheetDetentChanged
48
+ }) => {
49
+ const {
50
+ route,
51
+ navigation,
52
+ options,
53
+ render
54
+ } = descriptor;
55
+ let {
56
+ animation,
57
+ animationMatchesGesture,
58
+ presentation = isPresentationModal ? "modal" : "card",
59
+ fullScreenGestureEnabled
60
+ } = options;
61
+ const {
62
+ animationDuration,
63
+ animationTypeForReplace = "push",
64
+ fullScreenGestureShadowEnabled = true,
65
+ nativeGestureEnabled,
66
+ nativeGestureDirection = presentation === "card" ? "horizontal" : "vertical",
67
+ nativeGestureResponseDistance,
68
+ header,
69
+ headerBackButtonMenuEnabled,
70
+ headerShown,
71
+ headerBackground,
72
+ headerTransparent,
73
+ autoHideHomeIndicator,
74
+ keyboardHandlingEnabled,
75
+ navigationBarColor,
76
+ navigationBarTranslucent,
77
+ navigationBarHidden,
78
+ orientation,
79
+ sheetAllowedDetents = [1.0],
80
+ sheetLargestUndimmedDetentIndex = -1,
81
+ sheetGrabberVisible = false,
82
+ sheetCornerRadius = -1.0,
83
+ sheetElevation = 24,
84
+ sheetExpandsWhenScrolledToEdge = true,
85
+ sheetInitialDetentIndex = 0,
86
+ statusBarAnimation,
87
+ statusBarHidden,
88
+ statusBarStyle,
89
+ statusBarTranslucent,
90
+ statusBarBackgroundColor,
91
+ unstable_sheetFooter,
92
+ freezeOnBlur,
93
+ contentStyle,
94
+ enableTransitions
95
+ } = options;
96
+ if (nativeGestureDirection === "vertical" && _reactNative.Platform.OS === "ios") {
97
+ // for `vertical` direction to work, we need to set `fullScreenGestureEnabled` to `true`
98
+ // so the screen can be dismissed from any point on screen.
99
+ // `animationMatchesGesture` needs to be set to `true` so the `animation` set by user can be used,
100
+ // otherwise `simple_push` will be used.
101
+ // Also, the default animation for this direction seems to be `slide_from_bottom`.
102
+ if (fullScreenGestureEnabled === undefined) {
103
+ fullScreenGestureEnabled = true;
104
+ }
105
+ if (animationMatchesGesture === undefined) {
106
+ animationMatchesGesture = true;
107
+ }
108
+ if (animation === undefined) {
109
+ animation = "slide_from_bottom";
110
+ }
111
+ }
112
+
113
+ // workaround for rn-screens where gestureDirection has to be set on both
114
+ // current and previous screen - software-mansion/react-native-screens/pull/1509
115
+ const nextGestureDirection = nextDescriptor?.options.nativeGestureDirection;
116
+ const gestureDirectionOverride = nextGestureDirection != null ? nextGestureDirection : nativeGestureDirection;
117
+ if (index === 0) {
118
+ // first screen should always be treated as `card`, it resolves problems with no header animation
119
+ // for navigator with first screen as `modal` and the next as `card`
120
+ presentation = "card";
121
+ }
122
+ const {
123
+ colors
124
+ } = (0, _native.useTheme)();
125
+ const insets = (0, _reactNativeSafeAreaContext.useSafeAreaInsets)();
126
+
127
+ // `modal` and `formSheet` presentations do not take whole screen, so should not take the inset.
128
+ const isModal = presentation === "modal" || presentation === "formSheet";
129
+
130
+ // Modals are fullscreen in landscape only on iPhone
131
+ const isIPhone = _reactNative.Platform.OS === "ios" && !(_reactNative.Platform.isPad || _reactNative.Platform.isTV);
132
+ const isParentHeaderShown = React.useContext(_elements.HeaderShownContext);
133
+ const parentHeaderHeight = React.useContext(_elements.HeaderHeightContext);
134
+ const parentHeaderBack = React.useContext(_elements.HeaderBackContext);
135
+ const isLandscape = (0, _elements.useFrameSize)(frame => frame.width > frame.height);
136
+ const topInset = isParentHeaderShown || _reactNative.Platform.OS === "ios" && isModal || isIPhone && isLandscape ? 0 : insets.top;
137
+ const defaultHeaderHeight = (0, _elements.useFrameSize)(frame => _reactNative.Platform.select({
138
+ // FIXME: Currently screens isn't using Material 3
139
+ // So our `getDefaultHeaderHeight` doesn't return the correct value
140
+ // So we hardcode the value here for now until screens is updated
141
+ android: ANDROID_DEFAULT_HEADER_HEIGHT + topInset,
142
+ default: (0, _elements.getDefaultHeaderHeight)(frame, isModal, topInset)
143
+ }));
144
+ const {
145
+ preventedRoutes
146
+ } = (0, _native.usePreventRemoveContext)();
147
+ const [headerHeight, setHeaderHeight] = React.useState(defaultHeaderHeight);
148
+
149
+ // eslint-disable-next-line react-hooks/exhaustive-deps
150
+ const setHeaderHeightDebounced = React.useCallback(
151
+ // Debounce the header height updates to avoid excessive re-renders
152
+ (0, _debounce.debounce)(setHeaderHeight, 100), []);
153
+ const hasCustomHeader = header != null;
154
+ let headerHeightCorrectionOffset = 0;
155
+ if (_reactNative.Platform.OS === "android" && !hasCustomHeader) {
156
+ const statusBarHeight = _reactNative.StatusBar.currentHeight ?? 0;
157
+
158
+ // FIXME: On Android, the native header height is not correctly calculated
159
+ // It includes status bar height even if statusbar is not translucent
160
+ // And the statusbar value itself doesn't match the actual status bar height
161
+ // So we subtract the bogus status bar height and add the actual top inset
162
+ headerHeightCorrectionOffset = -statusBarHeight + topInset;
163
+ }
164
+ const rawAnimatedHeaderHeight = (0, _reactNative.useAnimatedValue)(defaultHeaderHeight);
165
+ const animatedHeaderHeight = React.useMemo(() => _reactNative.Animated.add(rawAnimatedHeaderHeight, headerHeightCorrectionOffset), [headerHeightCorrectionOffset, rawAnimatedHeaderHeight]);
166
+
167
+ // During the very first render topInset is > 0 when running
168
+ // in non edge-to-edge mode on Android, while on every consecutive render
169
+ // topInset === 0, causing header content to jump, as we add padding on the first frame,
170
+ // just to remove it in next one. To prevent this, when statusBarTranslucent is set,
171
+ // we apply additional padding in header only if its true.
172
+ // For more details see: https://github.com/react-navigation/react-navigation/pull/12014
173
+ const headerTopInsetEnabled = typeof statusBarTranslucent === "boolean" ? statusBarTranslucent : topInset !== 0;
174
+ const canGoBack = previousDescriptor != null || parentHeaderBack != null;
175
+ const backTitle = previousDescriptor ? (0, _elements.getHeaderTitle)(previousDescriptor.options, previousDescriptor.route.name) : parentHeaderBack?.title;
176
+ const headerBack = React.useMemo(() => {
177
+ if (canGoBack) {
178
+ return {
179
+ href: undefined,
180
+ // No href needed for native
181
+ title: backTitle
182
+ };
183
+ }
184
+ return undefined;
185
+ }, [canGoBack, backTitle]);
186
+ const isRemovePrevented = preventedRoutes[route.key]?.preventRemove;
187
+ const modifiedPresentation = enableTransitions ? "containedTransparentModal" : presentation === "card" ? "push" : presentation;
188
+ const modifiedAnimation = enableTransitions ? "none" : animation;
189
+ const modifiedHeaderShown = enableTransitions || header !== undefined ? false : headerShown;
190
+ const headerConfig = (0, _useHeaderConfigProps.useHeaderConfigProps)({
191
+ ...options,
192
+ route,
193
+ headerBackButtonMenuEnabled: isRemovePrevented !== undefined ? !isRemovePrevented : headerBackButtonMenuEnabled,
194
+ headerBackTitle: options.headerBackTitle !== undefined ? options.headerBackTitle : undefined,
195
+ headerHeight,
196
+ headerShown: modifiedHeaderShown,
197
+ headerTopInsetEnabled,
198
+ headerBack
199
+ });
200
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
201
+ value: navigation,
202
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationRouteContext.Provider, {
203
+ value: route,
204
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStackItem, {
205
+ screenId: route.key,
206
+ activityState: isPreloaded ? 0 : 2,
207
+ style: _reactNative.StyleSheet.absoluteFill,
208
+ "aria-hidden": !focused,
209
+ customAnimationOnSwipe: animationMatchesGesture,
210
+ fullScreenSwipeEnabled: fullScreenGestureEnabled,
211
+ fullScreenSwipeShadowEnabled: fullScreenGestureShadowEnabled,
212
+ freezeOnBlur: freezeOnBlur,
213
+ gestureEnabled: _reactNative.Platform.OS === "android" ?
214
+ // This prop enables handling of system back gestures on Android
215
+ // Since we handle them in JS side, we disable this
216
+ false : nativeGestureEnabled,
217
+ homeIndicatorHidden: autoHideHomeIndicator,
218
+ hideKeyboardOnSwipe: keyboardHandlingEnabled,
219
+ navigationBarColor: navigationBarColor,
220
+ navigationBarTranslucent: navigationBarTranslucent,
221
+ navigationBarHidden: navigationBarHidden,
222
+ replaceAnimation: animationTypeForReplace,
223
+ stackPresentation: modifiedPresentation,
224
+ stackAnimation: modifiedAnimation,
225
+ screenOrientation: orientation,
226
+ sheetAllowedDetents: sheetAllowedDetents,
227
+ sheetLargestUndimmedDetentIndex: sheetLargestUndimmedDetentIndex,
228
+ sheetGrabberVisible: sheetGrabberVisible,
229
+ sheetInitialDetentIndex: sheetInitialDetentIndex,
230
+ sheetCornerRadius: sheetCornerRadius,
231
+ sheetElevation: sheetElevation,
232
+ sheetExpandsWhenScrolledToEdge: sheetExpandsWhenScrolledToEdge,
233
+ statusBarAnimation: statusBarAnimation,
234
+ statusBarHidden: statusBarHidden,
235
+ statusBarStyle: statusBarStyle,
236
+ statusBarColor: statusBarBackgroundColor,
237
+ statusBarTranslucent: statusBarTranslucent,
238
+ swipeDirection: gestureDirectionOverride,
239
+ transitionDuration: animationDuration,
240
+ onWillAppear: onWillAppear,
241
+ onWillDisappear: onWillDisappear,
242
+ onAppear: onAppear,
243
+ onDisappear: onDisappear,
244
+ onDismissed: onDismissed,
245
+ onGestureCancel: onGestureCancel,
246
+ onSheetDetentChanged: onSheetDetentChanged,
247
+ gestureResponseDistance: nativeGestureResponseDistance,
248
+ nativeBackButtonDismissalEnabled: false // on Android
249
+ ,
250
+ onHeaderBackButtonClicked: onHeaderBackButtonClicked,
251
+ preventNativeDismiss: isRemovePrevented // on iOS
252
+ ,
253
+ onNativeDismissCancelled: onNativeDismissCancelled
254
+ // Unfortunately, because of the bug that exists on Fabric, where native event drivers
255
+ // for Animated objects are being created after the first notifications about the header height
256
+ // from the native side, `onHeaderHeightChange` event does not notify
257
+ // `animatedHeaderHeight` about initial values on appearing screens at the moment.
258
+ ,
259
+ onHeaderHeightChange: _reactNative.Animated.event([{
260
+ nativeEvent: {
261
+ headerHeight: rawAnimatedHeaderHeight
262
+ }
263
+ }], {
264
+ useNativeDriver,
265
+ listener: e => {
266
+ if (hasCustomHeader) {
267
+ // If we have a custom header, don't use native header height
268
+ return;
269
+ }
270
+ if (_reactNative.Platform.OS === "android" && (options.headerBackground != null || options.headerTransparent)) {
271
+ // FIXME: On Android, we get 0 if the header is translucent
272
+ // So we set a default height in that case
273
+ setHeaderHeight(ANDROID_DEFAULT_HEADER_HEIGHT + topInset);
274
+ return;
275
+ }
276
+ if (e.nativeEvent && typeof e.nativeEvent === "object" && "headerHeight" in e.nativeEvent && typeof e.nativeEvent.headerHeight === "number") {
277
+ const headerHeight = e.nativeEvent.headerHeight + headerHeightCorrectionOffset;
278
+
279
+ // Only debounce if header has large title or search bar
280
+ // As it's the only case where the header height can change frequently
281
+ const doesHeaderAnimate = _reactNative.Platform.OS === "ios" && (options.headerLargeTitle || options.headerSearchBarOptions);
282
+ if (doesHeaderAnimate) {
283
+ setHeaderHeightDebounced(headerHeight);
284
+ } else {
285
+ setHeaderHeight(headerHeight);
286
+ }
287
+ }
288
+ }
289
+ }),
290
+ contentStyle: [modifiedPresentation !== "transparentModal" && modifiedPresentation !== "containedTransparentModal" && {
291
+ backgroundColor: colors.background
292
+ }, contentStyle],
293
+ headerConfig: headerConfig,
294
+ unstable_sheetFooter: unstable_sheetFooter
295
+ // When ts-expect-error is added, it affects all the props below it
296
+ // So we keep any props that need it at the end
297
+ // Otherwise invalid props may not be caught by TypeScript
298
+ ,
299
+ shouldFreeze: shouldFreeze,
300
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_useAnimatedHeaderHeight.AnimatedHeaderHeightContext.Provider, {
301
+ value: animatedHeaderHeight,
302
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_elements.HeaderHeightContext.Provider, {
303
+ value: headerShown !== false ? headerHeight : parentHeaderHeight ?? 0,
304
+ children: [headerBackground != null ?
305
+ /*#__PURE__*/
306
+ /**
307
+ * To show a custom header background, we render it at the top of the screen below the header
308
+ * The header also needs to be positioned absolutely (with `translucent` style)
309
+ */
310
+ (0, _jsxRuntime.jsx)(_reactNative.View, {
311
+ style: [styles.background, headerTransparent ? styles.translucent : null, {
312
+ height: headerHeight
313
+ }],
314
+ children: headerBackground()
315
+ }) : null, header != null && headerShown !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
316
+ onLayout: e => {
317
+ const headerHeight = e.nativeEvent.layout.height;
318
+ setHeaderHeight(headerHeight);
319
+ rawAnimatedHeaderHeight.setValue(headerHeight);
320
+ },
321
+ style: [styles.header, headerTransparent ? styles.absolute : null],
322
+ children: header({
323
+ back: headerBack,
324
+ options,
325
+ route,
326
+ navigation
327
+ })
328
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.HeaderShownContext.Provider, {
329
+ value: isParentHeaderShown || headerShown !== false,
330
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.HeaderBackContext.Provider, {
331
+ value: headerBack,
332
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_keys.KeysProvider, {
333
+ previous: previousDescriptor,
334
+ current: descriptor,
335
+ next: nextDescriptor,
336
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_screenLifecycle.ScreenLifecycleController, {
337
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_gestures.ScreenGestureProvider, {
338
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_rootTransitionAware.RootTransitionAware, {
339
+ children: render()
340
+ })
341
+ })
342
+ })
343
+ })
344
+ })
345
+ })]
346
+ })
347
+ })
348
+ }, route.key)
349
+ })
350
+ });
351
+ };
352
+ function NativeStackView({
353
+ state,
354
+ navigation,
355
+ descriptors,
356
+ describe
357
+ }) {
358
+ const {
359
+ setNextDismissedKey
360
+ } = (0, _useDismissedRouteError.useDismissedRouteError)(state);
361
+ (0, _useInvalidPreventRemoveError.useInvalidPreventRemoveError)(descriptors);
362
+ const modalRouteKeys = (0, _getModalRoutesKeys.getModalRouteKeys)(state.routes, descriptors);
363
+ const preloadedDescriptors = state.preloadedRoutes.reduce((acc, route) => {
364
+ acc[route.key] = acc[route.key] || describe(route, true);
365
+ return acc;
366
+ }, {});
367
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_elements.SafeAreaProviderCompat, {
368
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeScreens.ScreenStack, {
369
+ style: styles.container,
370
+ children: state.routes.concat(state.preloadedRoutes).map((route, index) => {
371
+ const descriptor = descriptors[route.key] ?? preloadedDescriptors[route.key];
372
+ const isFocused = state.index === index;
373
+ const isBelowFocused = state.index - 1 === index;
374
+ const previousKey = state.routes[index - 1]?.key;
375
+ const nextKey = state.routes[index + 1]?.key;
376
+ const previousDescriptor = previousKey ? descriptors[previousKey] : undefined;
377
+ const nextDescriptor = nextKey ? descriptors[nextKey] : undefined;
378
+ const isModal = modalRouteKeys.includes(route.key);
379
+ const isPreloaded = preloadedDescriptors[route.key] !== undefined && descriptors[route.key] === undefined;
380
+
381
+ // On Fabric, when screen is frozen, animated and reanimated values are not updated
382
+ // due to component being unmounted. To avoid this, we don't freeze the previous screen there
383
+ const shouldFreeze = isFabric() ? !isPreloaded && !isFocused && !isBelowFocused : !isPreloaded && !isFocused;
384
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SceneView, {
385
+ index: index,
386
+ focused: isFocused,
387
+ shouldFreeze: shouldFreeze,
388
+ descriptor: descriptor,
389
+ previousDescriptor: previousDescriptor,
390
+ nextDescriptor: nextDescriptor,
391
+ isPresentationModal: isModal,
392
+ isPreloaded: isPreloaded,
393
+ onWillDisappear: () => {
394
+ navigation.emit({
395
+ type: "transitionStart",
396
+ data: {
397
+ closing: true
398
+ },
399
+ target: route.key
400
+ });
401
+ },
402
+ onWillAppear: () => {
403
+ navigation.emit({
404
+ type: "transitionStart",
405
+ data: {
406
+ closing: false
407
+ },
408
+ target: route.key
409
+ });
410
+ },
411
+ onAppear: () => {
412
+ navigation.emit({
413
+ type: "transitionEnd",
414
+ data: {
415
+ closing: false
416
+ },
417
+ target: route.key
418
+ });
419
+ },
420
+ onDisappear: () => {
421
+ navigation.emit({
422
+ type: "transitionEnd",
423
+ data: {
424
+ closing: true
425
+ },
426
+ target: route.key
427
+ });
428
+ },
429
+ onDismissed: event => {
430
+ navigation.dispatch({
431
+ ..._native.StackActions.pop(event.nativeEvent.dismissCount),
432
+ source: route.key,
433
+ target: state.key
434
+ });
435
+ setNextDismissedKey(route.key);
436
+ },
437
+ onHeaderBackButtonClicked: () => {
438
+ navigation.dispatch({
439
+ ..._native.StackActions.pop(),
440
+ source: route.key,
441
+ target: state.key
442
+ });
443
+ },
444
+ onNativeDismissCancelled: event => {
445
+ navigation.dispatch({
446
+ ..._native.StackActions.pop(event.nativeEvent.dismissCount),
447
+ source: route.key,
448
+ target: state.key
449
+ });
450
+ },
451
+ onGestureCancel: () => {
452
+ navigation.emit({
453
+ type: "gestureCancel",
454
+ target: route.key
455
+ });
456
+ },
457
+ onSheetDetentChanged: event => {
458
+ navigation.emit({
459
+ type: "sheetDetentChange",
460
+ target: route.key,
461
+ data: {
462
+ index: event.nativeEvent.index,
463
+ stable: event.nativeEvent.isStable
464
+ }
465
+ });
466
+ }
467
+ }, route.key);
468
+ })
469
+ })
470
+ });
471
+ }
472
+ const styles = _reactNative.StyleSheet.create({
473
+ container: {
474
+ flex: 1
475
+ },
476
+ header: {
477
+ zIndex: 1
478
+ },
479
+ absolute: {
480
+ position: "absolute",
481
+ top: 0,
482
+ start: 0,
483
+ end: 0
484
+ },
485
+ translucent: {
486
+ position: "absolute",
487
+ top: 0,
488
+ start: 0,
489
+ end: 0,
490
+ zIndex: 1,
491
+ elevation: 1
492
+ },
493
+ background: {
494
+ overflow: "hidden"
495
+ }
496
+ });
497
+ //# sourceMappingURL=NativeStackView.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_elements","require","_native","React","_interopRequireWildcard","_reactNative","_reactNativeSafeAreaContext","_reactNativeScreens","_screenLifecycle","_rootTransitionAware","_gestures","_keys","_debounce","_getModalRoutesKeys","_useAnimatedHeaderHeight","_useDismissedRouteError","_useInvalidPreventRemoveError","_useHeaderConfigProps","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ANDROID_DEFAULT_HEADER_HEIGHT","isFabric","global","useNativeDriver","Platform","OS","SceneView","index","focused","shouldFreeze","descriptor","previousDescriptor","nextDescriptor","isPresentationModal","isPreloaded","onWillDisappear","onWillAppear","onAppear","onDisappear","onDismissed","onHeaderBackButtonClicked","onNativeDismissCancelled","onGestureCancel","onSheetDetentChanged","route","navigation","options","render","animation","animationMatchesGesture","presentation","fullScreenGestureEnabled","animationDuration","animationTypeForReplace","fullScreenGestureShadowEnabled","nativeGestureEnabled","nativeGestureDirection","nativeGestureResponseDistance","header","headerBackButtonMenuEnabled","headerShown","headerBackground","headerTransparent","autoHideHomeIndicator","keyboardHandlingEnabled","navigationBarColor","navigationBarTranslucent","navigationBarHidden","orientation","sheetAllowedDetents","sheetLargestUndimmedDetentIndex","sheetGrabberVisible","sheetCornerRadius","sheetElevation","sheetExpandsWhenScrolledToEdge","sheetInitialDetentIndex","statusBarAnimation","statusBarHidden","statusBarStyle","statusBarTranslucent","statusBarBackgroundColor","unstable_sheetFooter","freezeOnBlur","contentStyle","enableTransitions","undefined","nextGestureDirection","gestureDirectionOverride","colors","useTheme","insets","useSafeAreaInsets","isModal","isIPhone","isPad","isTV","isParentHeaderShown","useContext","HeaderShownContext","parentHeaderHeight","HeaderHeightContext","parentHeaderBack","HeaderBackContext","isLandscape","useFrameSize","frame","width","height","topInset","top","defaultHeaderHeight","select","android","getDefaultHeaderHeight","preventedRoutes","usePreventRemoveContext","headerHeight","setHeaderHeight","useState","setHeaderHeightDebounced","useCallback","debounce","hasCustomHeader","headerHeightCorrectionOffset","statusBarHeight","StatusBar","currentHeight","rawAnimatedHeaderHeight","useAnimatedValue","animatedHeaderHeight","useMemo","Animated","add","headerTopInsetEnabled","canGoBack","backTitle","getHeaderTitle","name","title","headerBack","href","isRemovePrevented","key","preventRemove","modifiedPresentation","modifiedAnimation","modifiedHeaderShown","headerConfig","useHeaderConfigProps","headerBackTitle","jsx","NavigationContext","Provider","value","children","NavigationRouteContext","ScreenStackItem","screenId","activityState","style","StyleSheet","absoluteFill","customAnimationOnSwipe","fullScreenSwipeEnabled","fullScreenSwipeShadowEnabled","gestureEnabled","homeIndicatorHidden","hideKeyboardOnSwipe","replaceAnimation","stackPresentation","stackAnimation","screenOrientation","statusBarColor","swipeDirection","transitionDuration","gestureResponseDistance","nativeBackButtonDismissalEnabled","preventNativeDismiss","onHeaderHeightChange","event","nativeEvent","listener","doesHeaderAnimate","headerLargeTitle","headerSearchBarOptions","backgroundColor","background","AnimatedHeaderHeightContext","jsxs","View","styles","translucent","onLayout","layout","setValue","absolute","back","KeysProvider","previous","current","next","ScreenLifecycleController","ScreenGestureProvider","RootTransitionAware","NativeStackView","state","descriptors","describe","setNextDismissedKey","useDismissedRouteError","useInvalidPreventRemoveError","modalRouteKeys","getModalRouteKeys","routes","preloadedDescriptors","preloadedRoutes","reduce","acc","SafeAreaProviderCompat","ScreenStack","container","concat","map","isFocused","isBelowFocused","previousKey","nextKey","includes","emit","type","data","closing","target","dispatch","StackActions","pop","dismissCount","source","stable","isStable","create","flex","zIndex","position","start","end","elevation","overflow"],"sourceRoot":"../../../../../src","sources":["integrations/native-stack/views/NativeStackView.native.tsx"],"mappings":"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","ignoreList":[]}