react-native-screen-transitions 2.4.1 → 2.4.2-beta.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 (252) hide show
  1. package/lib/commonjs/__configs__/presets.js.map +1 -1
  2. package/lib/commonjs/components/root-transition-aware.js.map +1 -1
  3. package/lib/commonjs/constants.js.map +1 -1
  4. package/lib/commonjs/hooks/animation/use-screen-animation.js +9 -5
  5. package/lib/commonjs/hooks/animation/use-screen-animation.js.map +1 -1
  6. package/lib/commonjs/index.js +7 -0
  7. package/lib/commonjs/index.js.map +1 -1
  8. package/lib/commonjs/integrations/blank-stack/components/Header.js +142 -0
  9. package/lib/commonjs/integrations/blank-stack/components/Header.js.map +1 -0
  10. package/lib/commonjs/integrations/blank-stack/components/Screens.js +64 -0
  11. package/lib/commonjs/integrations/blank-stack/components/Screens.js.map +1 -0
  12. package/lib/commonjs/integrations/blank-stack/components/StackView.js +94 -0
  13. package/lib/commonjs/integrations/blank-stack/components/StackView.js.map +1 -0
  14. package/lib/commonjs/integrations/blank-stack/navigators/createBlankStackNavigator.js +74 -0
  15. package/lib/commonjs/integrations/blank-stack/navigators/createBlankStackNavigator.js.map +1 -0
  16. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.js +66 -0
  17. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.js.map +1 -0
  18. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.js +16 -0
  19. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.js.map +1 -0
  20. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.js +208 -0
  21. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.js.map +1 -0
  22. package/lib/commonjs/{types/navigator.js → integrations/blank-stack/utils/with-stack-navigation/_types.js} +1 -1
  23. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_types.js.map +1 -0
  24. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.js +15 -0
  25. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.js.map +1 -0
  26. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js +23 -0
  27. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js.map +1 -0
  28. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.js +15 -0
  29. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.js.map +1 -0
  30. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.js +14 -0
  31. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.js.map +1 -0
  32. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.js +13 -0
  33. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.js.map +1 -0
  34. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/index.js +71 -0
  35. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/index.js.map +1 -0
  36. package/lib/commonjs/integrations/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  37. package/lib/commonjs/integrations/native-stack/utils/getModalRoutesKeys.js.map +1 -1
  38. package/lib/commonjs/integrations/native-stack/utils/useInvalidPreventRemoveError.js.map +1 -1
  39. package/lib/commonjs/integrations/native-stack/views/NativeStackView.js.map +1 -1
  40. package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js.map +1 -1
  41. package/lib/commonjs/integrations/native-stack/views/useHeaderConfigProps.js.map +1 -1
  42. package/lib/commonjs/providers/keys.js.map +1 -1
  43. package/lib/commonjs/providers/screen-transition-provider.js.map +1 -1
  44. package/lib/commonjs/providers/transition-styles.js +18 -4
  45. package/lib/commonjs/providers/transition-styles.js.map +1 -1
  46. package/lib/commonjs/stores/animations.js.map +1 -1
  47. package/lib/commonjs/stores/bounds/index.js.map +1 -1
  48. package/lib/commonjs/stores/gestures.js.map +1 -1
  49. package/lib/commonjs/stores/utils/reset-stores-for-screen.js.map +1 -1
  50. package/lib/commonjs/types/blank-stack.navigator.js +6 -0
  51. package/lib/commonjs/types/{navigator.js.map → blank-stack.navigator.js.map} +1 -1
  52. package/lib/commonjs/types/native-stack.navigator.js +6 -0
  53. package/lib/commonjs/types/native-stack.navigator.js.map +1 -0
  54. package/lib/commonjs/utils/animation/derivations.js +1 -14
  55. package/lib/commonjs/utils/animation/derivations.js.map +1 -1
  56. package/lib/commonjs/utils/bounds/constants.js.map +1 -1
  57. package/lib/commonjs/utils/bounds/index.js +23 -90
  58. package/lib/commonjs/utils/bounds/index.js.map +1 -1
  59. package/lib/commonjs/utils/gesture/apply-offset-rules.js.map +1 -1
  60. package/lib/commonjs/utils/gesture/check-gesture-activation.js.map +1 -1
  61. package/lib/module/__configs__/presets.js.map +1 -1
  62. package/lib/module/components/root-transition-aware.js.map +1 -1
  63. package/lib/module/constants.js.map +1 -1
  64. package/lib/module/hooks/animation/use-screen-animation.js +9 -5
  65. package/lib/module/hooks/animation/use-screen-animation.js.map +1 -1
  66. package/lib/module/index.js +1 -0
  67. package/lib/module/index.js.map +1 -1
  68. package/lib/module/integrations/blank-stack/components/Header.js +138 -0
  69. package/lib/module/integrations/blank-stack/components/Header.js.map +1 -0
  70. package/lib/module/integrations/blank-stack/components/Screens.js +58 -0
  71. package/lib/module/integrations/blank-stack/components/Screens.js.map +1 -0
  72. package/lib/module/integrations/blank-stack/components/StackView.js +90 -0
  73. package/lib/module/integrations/blank-stack/components/StackView.js.map +1 -0
  74. package/lib/module/integrations/blank-stack/navigators/createBlankStackNavigator.js +68 -0
  75. package/lib/module/integrations/blank-stack/navigators/createBlankStackNavigator.js.map +1 -0
  76. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.js +60 -0
  77. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.js.map +1 -0
  78. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.js +11 -0
  79. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.js.map +1 -0
  80. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.js +202 -0
  81. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.js.map +1 -0
  82. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_types.js +4 -0
  83. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_types.js.map +1 -0
  84. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.js +10 -0
  85. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.js.map +1 -0
  86. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js +19 -0
  87. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js.map +1 -0
  88. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.js +10 -0
  89. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.js.map +1 -0
  90. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.js +9 -0
  91. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.js.map +1 -0
  92. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.js +8 -0
  93. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.js.map +1 -0
  94. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/index.js +65 -0
  95. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/index.js.map +1 -0
  96. package/lib/module/integrations/native-stack/navigators/createNativeStackNavigator.js.map +1 -1
  97. package/lib/module/integrations/native-stack/utils/getModalRoutesKeys.js.map +1 -1
  98. package/lib/module/integrations/native-stack/utils/useInvalidPreventRemoveError.js.map +1 -1
  99. package/lib/module/integrations/native-stack/views/NativeStackView.js.map +1 -1
  100. package/lib/module/integrations/native-stack/views/NativeStackView.native.js.map +1 -1
  101. package/lib/module/integrations/native-stack/views/useHeaderConfigProps.js.map +1 -1
  102. package/lib/module/providers/keys.js.map +1 -1
  103. package/lib/module/providers/screen-transition-provider.js.map +1 -1
  104. package/lib/module/providers/transition-styles.js +19 -5
  105. package/lib/module/providers/transition-styles.js.map +1 -1
  106. package/lib/module/stores/animations.js.map +1 -1
  107. package/lib/module/stores/bounds/index.js.map +1 -1
  108. package/lib/module/stores/gestures.js.map +1 -1
  109. package/lib/module/stores/utils/reset-stores-for-screen.js.map +1 -1
  110. package/lib/module/types/blank-stack.navigator.js +4 -0
  111. package/lib/module/types/{navigator.js.map → blank-stack.navigator.js.map} +1 -1
  112. package/lib/module/types/native-stack.navigator.js +4 -0
  113. package/lib/module/types/native-stack.navigator.js.map +1 -0
  114. package/lib/module/utils/animation/derivations.js +1 -14
  115. package/lib/module/utils/animation/derivations.js.map +1 -1
  116. package/lib/module/utils/bounds/constants.js.map +1 -1
  117. package/lib/module/utils/bounds/index.js +24 -91
  118. package/lib/module/utils/bounds/index.js.map +1 -1
  119. package/lib/module/utils/gesture/apply-offset-rules.js.map +1 -1
  120. package/lib/module/utils/gesture/check-gesture-activation.js.map +1 -1
  121. package/lib/typescript/__configs__/index.d.ts +9 -9
  122. package/lib/typescript/__configs__/index.d.ts.map +1 -1
  123. package/lib/typescript/__configs__/presets.d.ts +1 -1
  124. package/lib/typescript/__configs__/presets.d.ts.map +1 -1
  125. package/lib/typescript/components/root-transition-aware.d.ts.map +1 -1
  126. package/lib/typescript/constants.d.ts +2 -2
  127. package/lib/typescript/constants.d.ts.map +1 -1
  128. package/lib/typescript/hooks/animation/use-screen-animation.d.ts +1 -1
  129. package/lib/typescript/hooks/animation/use-screen-animation.d.ts.map +1 -1
  130. package/lib/typescript/index.d.ts +20 -18
  131. package/lib/typescript/index.d.ts.map +1 -1
  132. package/lib/typescript/integrations/blank-stack/components/Header.d.ts +5 -0
  133. package/lib/typescript/integrations/blank-stack/components/Header.d.ts.map +1 -0
  134. package/lib/typescript/integrations/blank-stack/components/Screens.d.ts +15 -0
  135. package/lib/typescript/integrations/blank-stack/components/Screens.d.ts.map +1 -0
  136. package/lib/typescript/integrations/blank-stack/components/StackView.d.ts +2 -0
  137. package/lib/typescript/integrations/blank-stack/components/StackView.d.ts.map +1 -0
  138. package/lib/typescript/integrations/blank-stack/navigators/createBlankStackNavigator.d.ts +109 -0
  139. package/lib/typescript/integrations/blank-stack/navigators/createBlankStackNavigator.d.ts.map +1 -0
  140. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.d.ts +8 -0
  141. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.d.ts.map +1 -0
  142. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.d.ts +2 -0
  143. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.d.ts.map +1 -0
  144. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.d.ts +20 -0
  145. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.d.ts.map +1 -0
  146. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_types.d.ts +23 -0
  147. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_types.d.ts.map +1 -0
  148. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.d.ts +3 -0
  149. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.d.ts.map +1 -0
  150. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.d.ts +4 -0
  151. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.d.ts.map +1 -0
  152. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.d.ts +4 -0
  153. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.d.ts.map +1 -0
  154. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.d.ts +3 -0
  155. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.d.ts.map +1 -0
  156. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.d.ts +3 -0
  157. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.d.ts.map +1 -0
  158. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/index.d.ts +6 -0
  159. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -0
  160. package/lib/typescript/integrations/native-stack/navigators/createNativeStackNavigator.d.ts +1 -1
  161. package/lib/typescript/integrations/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  162. package/lib/typescript/integrations/native-stack/utils/getModalRoutesKeys.d.ts +1 -1
  163. package/lib/typescript/integrations/native-stack/utils/getModalRoutesKeys.d.ts.map +1 -1
  164. package/lib/typescript/integrations/native-stack/utils/useInvalidPreventRemoveError.d.ts +1 -1
  165. package/lib/typescript/integrations/native-stack/utils/useInvalidPreventRemoveError.d.ts.map +1 -1
  166. package/lib/typescript/integrations/native-stack/views/NativeStackView.d.ts +1 -1
  167. package/lib/typescript/integrations/native-stack/views/NativeStackView.d.ts.map +1 -1
  168. package/lib/typescript/integrations/native-stack/views/NativeStackView.native.d.ts +1 -1
  169. package/lib/typescript/integrations/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  170. package/lib/typescript/integrations/native-stack/views/useHeaderConfigProps.d.ts +1 -1
  171. package/lib/typescript/integrations/native-stack/views/useHeaderConfigProps.d.ts.map +1 -1
  172. package/lib/typescript/providers/keys.d.ts +1 -1
  173. package/lib/typescript/providers/keys.d.ts.map +1 -1
  174. package/lib/typescript/providers/screen-transition-provider.d.ts +1 -1
  175. package/lib/typescript/providers/screen-transition-provider.d.ts.map +1 -1
  176. package/lib/typescript/providers/transition-styles.d.ts.map +1 -1
  177. package/lib/typescript/stores/animations.d.ts +1 -1
  178. package/lib/typescript/stores/animations.d.ts.map +1 -1
  179. package/lib/typescript/stores/bounds/index.d.ts +1 -1
  180. package/lib/typescript/stores/bounds/index.d.ts.map +1 -1
  181. package/lib/typescript/stores/gestures.d.ts +1 -1
  182. package/lib/typescript/stores/gestures.d.ts.map +1 -1
  183. package/lib/typescript/stores/utils/reset-stores-for-screen.d.ts +1 -1
  184. package/lib/typescript/stores/utils/reset-stores-for-screen.d.ts.map +1 -1
  185. package/lib/typescript/types/animation.d.ts +2 -4
  186. package/lib/typescript/types/animation.d.ts.map +1 -1
  187. package/lib/typescript/types/blank-stack.navigator.d.ts +219 -0
  188. package/lib/typescript/types/blank-stack.navigator.d.ts.map +1 -0
  189. package/lib/typescript/types/bounds.d.ts +0 -57
  190. package/lib/typescript/types/bounds.d.ts.map +1 -1
  191. package/lib/typescript/types/{navigator.d.ts → native-stack.navigator.d.ts} +5 -1
  192. package/lib/typescript/types/native-stack.navigator.d.ts.map +1 -0
  193. package/lib/typescript/utils/animation/derivations.d.ts +1 -4
  194. package/lib/typescript/utils/animation/derivations.d.ts.map +1 -1
  195. package/lib/typescript/utils/bounds/_types/builder.d.ts +2 -2
  196. package/lib/typescript/utils/bounds/_types/builder.d.ts.map +1 -1
  197. package/lib/typescript/utils/bounds/_utils/geometry.d.ts +2 -2
  198. package/lib/typescript/utils/bounds/_utils/geometry.d.ts.map +1 -1
  199. package/lib/typescript/utils/bounds/constants.d.ts +2 -2
  200. package/lib/typescript/utils/bounds/constants.d.ts.map +1 -1
  201. package/lib/typescript/utils/bounds/index.d.ts +4 -4
  202. package/lib/typescript/utils/bounds/index.d.ts.map +1 -1
  203. package/lib/typescript/utils/gesture/apply-offset-rules.d.ts +2 -2
  204. package/lib/typescript/utils/gesture/apply-offset-rules.d.ts.map +1 -1
  205. package/lib/typescript/utils/gesture/check-gesture-activation.d.ts +2 -2
  206. package/lib/typescript/utils/gesture/check-gesture-activation.d.ts.map +1 -1
  207. package/package.json +1 -1
  208. package/src/__configs__/presets.ts +590 -590
  209. package/src/components/root-transition-aware.tsx +27 -27
  210. package/src/constants.ts +47 -47
  211. package/src/hooks/animation/use-screen-animation.tsx +52 -47
  212. package/src/index.ts +33 -22
  213. package/src/integrations/blank-stack/components/Header.tsx +143 -0
  214. package/src/integrations/blank-stack/components/Screens.tsx +96 -0
  215. package/src/integrations/blank-stack/components/StackView.tsx +106 -0
  216. package/src/integrations/blank-stack/navigators/createBlankStackNavigator.tsx +122 -0
  217. package/src/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-closing-route-keys.tsx +62 -0
  218. package/src/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-previous.tsx +11 -0
  219. package/src/integrations/blank-stack/utils/with-stack-navigation/_hooks/use-stack-navigation-state.tsx +280 -0
  220. package/src/integrations/blank-stack/utils/with-stack-navigation/_types.ts +36 -0
  221. package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/are-descriptors-equal.ts +15 -0
  222. package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.ts +29 -0
  223. package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/compose-descriptors.ts +17 -0
  224. package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/have-same-route-keys.ts +12 -0
  225. package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/routes-are-identical.ts +11 -0
  226. package/src/integrations/blank-stack/utils/with-stack-navigation/index.tsx +93 -0
  227. package/src/integrations/native-stack/navigators/createNativeStackNavigator.tsx +95 -95
  228. package/src/integrations/native-stack/utils/getModalRoutesKeys.ts +14 -14
  229. package/src/integrations/native-stack/utils/useInvalidPreventRemoveError.tsx +23 -23
  230. package/src/integrations/native-stack/views/NativeStackView.native.tsx +608 -608
  231. package/src/integrations/native-stack/views/NativeStackView.tsx +188 -188
  232. package/src/integrations/native-stack/views/useHeaderConfigProps.tsx +260 -260
  233. package/src/providers/keys.tsx +22 -22
  234. package/src/providers/screen-transition-provider.tsx +20 -20
  235. package/src/providers/transition-styles.tsx +24 -11
  236. package/src/stores/animations.ts +23 -23
  237. package/src/stores/bounds/index.ts +82 -82
  238. package/src/stores/gestures.ts +36 -36
  239. package/src/stores/utils/reset-stores-for-screen.ts +4 -4
  240. package/src/types/animation.ts +2 -4
  241. package/src/types/blank-stack.navigator.ts +271 -0
  242. package/src/types/bounds.ts +0 -64
  243. package/src/types/{navigator.ts → native-stack.navigator.ts} +5 -0
  244. package/src/utils/animation/derivations.ts +3 -20
  245. package/src/utils/bounds/_types/builder.ts +111 -111
  246. package/src/utils/bounds/_utils/geometry.ts +2 -2
  247. package/src/utils/bounds/constants.ts +29 -29
  248. package/src/utils/bounds/index.ts +35 -105
  249. package/src/utils/gesture/apply-offset-rules.ts +271 -271
  250. package/src/utils/gesture/check-gesture-activation.ts +260 -260
  251. package/lib/module/types/navigator.js +0 -4
  252. package/lib/typescript/types/navigator.d.ts.map +0 -1
@@ -1,40 +1,40 @@
1
- import type { ScaledSize } from "react-native";
2
1
  import type { MeasuredDimensions } from "react-native-reanimated";
3
2
  import type { Complete } from "../../types/utils";
4
3
  import type { BoundsBuilderOptions } from "./_types/builder";
4
+ import type { Layout } from "../../types/native-stack.navigator";
5
5
 
6
6
  export const FULLSCREEN_DIMENSIONS = (
7
- dimensions: ScaledSize,
7
+ dimensions: Layout
8
8
  ): MeasuredDimensions => {
9
- "worklet";
10
- return {
11
- x: 0,
12
- y: 0,
13
- pageX: 0,
14
- pageY: 0,
15
- width: dimensions.width,
16
- height: dimensions.height,
17
- };
9
+ "worklet";
10
+ return {
11
+ x: 0,
12
+ y: 0,
13
+ pageX: 0,
14
+ pageY: 0,
15
+ width: dimensions.width,
16
+ height: dimensions.height,
17
+ };
18
18
  };
19
19
 
20
20
  export const DEFAULT_BUILDER_OPTIONS: Complete<
21
- Omit<BoundsBuilderOptions, "id">
21
+ Omit<BoundsBuilderOptions, "id">
22
22
  > = Object.freeze({
23
- gestures: { x: 0, y: 0 },
24
- toFullscreen: false,
25
- absolute: false,
26
- relative: true,
27
- method: "transform",
28
- contentScaleMode: "auto",
29
- space: "relative",
30
- target: "bound",
31
- /**
32
- * Controls how elements scale during transitions
33
- * - "match": Scale to match destination bounds (default for center anchor)
34
- * - "none": No scaling, maintain original size (default for non-center anchors)
35
- * - "uniform": Scale uniformly (maintain aspect ratio)
36
- */
37
- scaleMode: "match",
38
- anchor: "center",
39
- raw: false,
23
+ gestures: { x: 0, y: 0 },
24
+ toFullscreen: false,
25
+ absolute: false,
26
+ relative: true,
27
+ method: "transform",
28
+ contentScaleMode: "auto",
29
+ space: "relative",
30
+ target: "bound",
31
+ /**
32
+ * Controls how elements scale during transitions
33
+ * - "match": Scale to match destination bounds (default for center anchor)
34
+ * - "none": No scaling, maintain original size (default for non-center anchors)
35
+ * - "uniform": Scale uniformly (maintain aspect ratio)
36
+ */
37
+ scaleMode: "match",
38
+ anchor: "center",
39
+ raw: false,
40
40
  } as const);
@@ -1,16 +1,18 @@
1
- import type { ScaledSize } from "react-native";
2
1
  import type { MeasuredDimensions } from "react-native-reanimated";
3
2
  import {
4
- DEFAULT_BUILDER_OPTIONS,
5
3
  EMPTY_BOUND_HELPER_RESULT,
6
4
  EMPTY_BOUND_HELPER_RESULT_RAW,
7
5
  ENTER_RANGE,
8
6
  EXIT_RANGE,
9
7
  FULLSCREEN_DIMENSIONS,
10
8
  } from "../../constants";
11
- import type { ScreenTransitionState } from "../../types/animation";
12
- import type { BoundsAccessor, BoundsBuilder } from "../../types/bounds";
9
+ import type {
10
+ ScreenInterpolationProps,
11
+ ScreenTransitionState,
12
+ } from "../../types/animation";
13
+ import type { BoundsAccessor } from "../../types/bounds";
13
14
  import type { ScreenPhase } from "../../types/core";
15
+ import type { Layout } from "../../types/native-stack.navigator";
14
16
  import type {
15
17
  BoundsBuilderInitParams,
16
18
  BoundsBuilderOptions,
@@ -35,7 +37,7 @@ export interface BuildBoundsAccessorParams {
35
37
  previous?: ScreenTransitionState;
36
38
  next?: ScreenTransitionState;
37
39
  progress: number;
38
- dimensions: ScaledSize;
40
+ dimensions: Layout;
39
41
  }
40
42
 
41
43
  const resolveBounds = (props: {
@@ -44,7 +46,7 @@ const resolveBounds = (props: {
44
46
  current?: ScreenTransitionState;
45
47
  next?: ScreenTransitionState;
46
48
  toRect?: Partial<MeasuredDimensions>;
47
- dimensions: ScaledSize;
49
+ dimensions: Layout;
48
50
  computeOptions: BoundsBuilderOptions;
49
51
  }) => {
50
52
  "worklet";
@@ -180,110 +182,38 @@ const computeBoundStyles = (
180
182
  : composeTransformRelative(common);
181
183
  };
182
184
 
183
- /**
184
- * @deprecated Use `createBounds` instead. We'll avoid using the builder pattern for this type of function.
185
- */
186
- const buildBoundStyles = (params: BoundsBuilderInitParams): BoundsBuilder => {
185
+ export const createBounds = (
186
+ props: Omit<ScreenInterpolationProps, "bounds">,
187
+ ): BoundsAccessor => {
187
188
  "worklet";
188
189
 
189
- const cfg: { options: BoundsBuilderOptions } = {
190
- options: { ...DEFAULT_BUILDER_OPTIONS },
190
+ const boundsFunction = (params?: BoundsBuilderOptions) => {
191
+ "worklet";
192
+ const id = params?.id ?? props.activeBoundId;
193
+
194
+ return computeBoundStyles(
195
+ {
196
+ id,
197
+ current: props.current,
198
+ previous: props.previous,
199
+ next: props.next,
200
+ progress: props.progress,
201
+ dimensions: props.layouts.screen,
202
+ },
203
+ params,
204
+ );
191
205
  };
192
206
 
193
- const builder = (): BoundsBuilder => ({
194
- gestures: (options) => {
195
- cfg.options.gestures = options;
196
- return builder();
197
- },
198
- toFullscreen: () => {
199
- cfg.options.toFullscreen = true;
200
- return builder();
201
- },
202
- absolute: () => {
203
- cfg.options.absolute = true;
204
- cfg.options.relative = false;
205
- return builder();
206
- },
207
- relative: () => {
208
- cfg.options.relative = true;
209
- cfg.options.absolute = false;
210
- return builder();
211
- },
212
- transform: () => {
213
- cfg.options.method = "transform";
214
- return builder();
215
- },
216
- size: () => {
217
- cfg.options.method = "size";
218
- return builder();
219
- },
220
- content: () => {
221
- cfg.options.method = "content";
222
- return builder();
223
- },
224
- contentFill: () => {
225
- cfg.options.contentScaleMode = "aspectFill";
226
- return builder();
227
- },
228
- contentFit: () => {
229
- cfg.options.contentScaleMode = "aspectFit";
230
- return builder();
231
- },
232
-
233
- build: () => {
234
- return computeBoundStyles(params, cfg.options);
235
- },
236
- });
237
-
238
- return builder();
239
- };
240
-
241
- export const createBounds = ({
242
- activeBoundId,
243
- current,
244
- previous,
245
- next,
246
- progress,
247
- dimensions,
248
- }: BuildBoundsAccessorParams): BoundsAccessor => {
249
- "worklet";
250
-
251
- const bounds: BoundsAccessor = ((params?: string | BoundsBuilderOptions) => {
252
- if (typeof params === "object") {
253
- const id = params.id ?? activeBoundId;
254
-
255
- return computeBoundStyles(
256
- {
257
- id,
258
- current,
259
- previous,
260
- next,
261
- progress,
262
- dimensions,
263
- },
264
- params,
265
- );
266
- }
267
-
268
- const id = typeof params === "string" ? params : activeBoundId;
269
- return buildBoundStyles({
270
- id,
271
- current,
272
- previous,
273
- next,
274
- progress,
275
- dimensions,
276
- });
277
- }) as BoundsAccessor;
278
-
279
- bounds.get = (id?: string, phase?: ScreenPhase) =>
280
- getBounds({
281
- id: id ?? activeBoundId,
207
+ const get = (id?: string, phase?: ScreenPhase) => {
208
+ "worklet";
209
+ return getBounds({
210
+ id: id ?? props.activeBoundId,
282
211
  phase,
283
- current,
284
- previous,
285
- next,
212
+ current: props.current,
213
+ previous: props.previous,
214
+ next: props.next,
286
215
  });
216
+ };
287
217
 
288
- return bounds;
218
+ return Object.assign(boundsFunction, { get }) as BoundsAccessor;
289
219
  };