react-native-screen-transitions 3.11.1 → 3.11.3

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 (275) hide show
  1. package/lib/commonjs/native-stack/views/NativeStackView.native.js +1 -1
  2. package/lib/commonjs/native-stack/views/NativeStackView.native.js.map +1 -1
  3. package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js +36 -0
  4. package/lib/commonjs/shared/components/boundary/components/boundary-lifecycle.js.map +1 -0
  5. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
  6. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  7. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
  8. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +3 -2
  10. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +9 -2
  12. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
  14. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +25 -43
  16. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +13 -0
  18. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -31
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  21. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +14 -19
  22. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +8 -0
  24. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +19 -47
  26. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  27. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  28. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  29. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  30. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +19 -17
  31. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  32. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +19 -5
  33. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  34. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +11 -7
  35. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  36. package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +31 -0
  37. package/lib/commonjs/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
  38. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-completion.js +26 -0
  39. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
  40. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +60 -86
  41. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  42. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
  43. package/lib/commonjs/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  44. package/lib/commonjs/shared/components/screen-lifecycle/index.js +9 -6
  45. package/lib/commonjs/shared/components/screen-lifecycle/index.js.map +1 -1
  46. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js +28 -6
  47. package/lib/commonjs/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  48. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +1 -2
  49. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  50. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +9 -2
  51. package/lib/commonjs/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  52. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
  53. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  54. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
  55. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  56. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
  57. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  58. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
  59. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  60. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js +9 -5
  61. package/lib/commonjs/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  62. package/lib/commonjs/shared/providers/screen/styles/helpers/create-interpolator-scope.js +40 -0
  63. package/lib/commonjs/shared/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -0
  64. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -10
  65. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  66. package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js +5 -1
  67. package/lib/commonjs/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
  68. package/lib/commonjs/shared/stores/bounds/internals/links.js +1 -1
  69. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  70. package/lib/commonjs/shared/stores/system.store.js +1 -2
  71. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  72. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +0 -22
  73. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  74. package/lib/commonjs/shared/utils/navigation/close-action-replay.js +22 -0
  75. package/lib/commonjs/shared/utils/navigation/close-action-replay.js.map +1 -0
  76. package/lib/module/native-stack/views/NativeStackView.native.js +1 -1
  77. package/lib/module/native-stack/views/NativeStackView.native.js.map +1 -1
  78. package/lib/module/shared/components/boundary/components/boundary-lifecycle.js +32 -0
  79. package/lib/module/shared/components/boundary/components/boundary-lifecycle.js.map +1 -0
  80. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
  81. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  82. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
  83. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  84. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +3 -2
  85. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  86. package/lib/module/shared/components/boundary/hooks/use-measurer.js +9 -2
  87. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  88. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
  89. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  90. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +27 -45
  91. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  92. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +8 -0
  93. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
  94. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -32
  95. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  96. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +15 -20
  97. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  98. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +8 -0
  99. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  100. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +20 -48
  101. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  102. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  103. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  104. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  105. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +20 -18
  106. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  107. package/lib/module/shared/components/boundary/utils/refresh-signals.js +19 -5
  108. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  109. package/lib/module/shared/components/screen-container/layers/backdrop.js +12 -8
  110. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  111. package/lib/module/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +25 -0
  112. package/lib/module/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
  113. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-completion.js +21 -0
  114. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
  115. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js +60 -85
  116. package/lib/module/shared/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  117. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
  118. package/lib/module/shared/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  119. package/lib/module/shared/components/screen-lifecycle/index.js +9 -6
  120. package/lib/module/shared/components/screen-lifecycle/index.js.map +1 -1
  121. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js +29 -7
  122. package/lib/module/shared/hooks/navigation/use-navigation-helpers.js.map +1 -1
  123. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +1 -2
  124. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  125. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js +9 -2
  126. package/lib/module/shared/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  127. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
  128. package/lib/module/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  129. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
  130. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  131. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
  132. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  133. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
  134. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  135. package/lib/module/shared/providers/screen/gestures/shared/policy.js +9 -5
  136. package/lib/module/shared/providers/screen/gestures/shared/policy.js.map +1 -1
  137. package/lib/module/shared/providers/screen/styles/helpers/create-interpolator-scope.js +35 -0
  138. package/lib/module/shared/providers/screen/styles/helpers/create-interpolator-scope.js.map +1 -0
  139. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +5 -10
  140. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  141. package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js +5 -1
  142. package/lib/module/shared/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
  143. package/lib/module/shared/stores/bounds/internals/links.js +1 -1
  144. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  145. package/lib/module/shared/stores/system.store.js +1 -2
  146. package/lib/module/shared/stores/system.store.js.map +1 -1
  147. package/lib/module/shared/utils/animation/animate-to-progress.js +0 -22
  148. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  149. package/lib/module/shared/utils/navigation/close-action-replay.js +16 -0
  150. package/lib/module/shared/utils/navigation/close-action-replay.js.map +1 -0
  151. package/lib/typescript/native-stack/views/NativeStackView.native.d.ts.map +1 -1
  152. package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts +18 -0
  153. package/lib/typescript/shared/components/boundary/components/boundary-lifecycle.d.ts.map +1 -0
  154. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +1 -2
  155. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  156. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  157. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +3 -2
  158. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  159. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +3 -2
  160. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  161. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  162. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +5 -1
  163. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  164. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +4 -0
  165. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +1 -0
  166. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts +4 -17
  167. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -1
  168. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +3 -1
  169. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
  170. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  171. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +5 -9
  172. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
  173. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +2 -1
  174. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  175. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +2 -1
  176. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  177. package/lib/typescript/shared/components/boundary/types.d.ts +6 -0
  178. package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
  179. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts +1 -0
  180. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  181. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  182. package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts +27 -0
  183. package/lib/typescript/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts.map +1 -0
  184. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-completion.d.ts +7 -0
  185. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-completion.d.ts.map +1 -0
  186. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +2 -7
  187. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  188. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts +1 -3
  189. package/lib/typescript/shared/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  190. package/lib/typescript/shared/components/screen-lifecycle/index.d.ts.map +1 -1
  191. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts +1 -0
  192. package/lib/typescript/shared/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  193. package/lib/typescript/shared/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  194. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts +1 -1
  195. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  196. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  197. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
  198. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  199. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  200. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts +2 -1
  201. package/lib/typescript/shared/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  202. package/lib/typescript/shared/providers/screen/gestures/types.d.ts +2 -0
  203. package/lib/typescript/shared/providers/screen/gestures/types.d.ts.map +1 -1
  204. package/lib/typescript/shared/providers/screen/styles/helpers/create-interpolator-scope.d.ts +9 -0
  205. package/lib/typescript/shared/providers/screen/styles/helpers/create-interpolator-scope.d.ts.map +1 -0
  206. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  207. package/lib/typescript/shared/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -1
  208. package/lib/typescript/shared/stores/system.store.d.ts +1 -2
  209. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  210. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts +2 -3
  211. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  212. package/lib/typescript/shared/utils/navigation/close-action-replay.d.ts +4 -0
  213. package/lib/typescript/shared/utils/navigation/close-action-replay.d.ts.map +1 -0
  214. package/package.json +1 -1
  215. package/src/native-stack/views/NativeStackView.native.tsx +3 -1
  216. package/src/shared/components/boundary/components/boundary-lifecycle.tsx +53 -0
  217. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +0 -14
  218. package/src/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +13 -2
  219. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +7 -2
  220. package/src/shared/components/boundary/hooks/use-measurer.ts +11 -1
  221. package/src/shared/components/boundary/portal/components/boundary-portal/components/host.tsx +13 -11
  222. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +44 -55
  223. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +10 -0
  224. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts +11 -55
  225. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +20 -24
  226. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +11 -0
  227. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +20 -67
  228. package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +1 -0
  229. package/src/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +3 -2
  230. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +29 -20
  231. package/src/shared/components/boundary/types.ts +9 -0
  232. package/src/shared/components/boundary/utils/refresh-signals.ts +39 -6
  233. package/src/shared/components/screen-container/layers/backdrop.tsx +11 -7
  234. package/src/shared/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts +64 -0
  235. package/src/shared/components/screen-lifecycle/hooks/use-close-completion.ts +28 -0
  236. package/src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts +67 -108
  237. package/src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts +0 -12
  238. package/src/shared/components/screen-lifecycle/index.tsx +8 -4
  239. package/src/shared/hooks/navigation/use-navigation-helpers.ts +39 -7
  240. package/src/shared/providers/helpers/measured-bounds-writes.ts +1 -1
  241. package/src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts +9 -1
  242. package/src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +4 -6
  243. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -3
  244. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +4 -6
  245. package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +2 -8
  246. package/src/shared/providers/screen/gestures/shared/policy.ts +17 -6
  247. package/src/shared/providers/screen/gestures/types.ts +2 -0
  248. package/src/shared/providers/screen/styles/helpers/create-interpolator-scope.ts +45 -0
  249. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +8 -12
  250. package/src/shared/providers/stack/blank-stack-state/blank-stack-controller.ts +5 -1
  251. package/src/shared/stores/bounds/internals/links.ts +1 -1
  252. package/src/shared/stores/system.store.ts +1 -2
  253. package/src/shared/utils/animation/animate-to-progress.ts +1 -22
  254. package/src/shared/utils/navigation/close-action-replay.ts +25 -0
  255. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -30
  256. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
  257. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -47
  258. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
  259. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +0 -21
  260. package/lib/commonjs/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +0 -1
  261. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -25
  262. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
  263. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -40
  264. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
  265. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js +0 -16
  266. package/lib/module/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.js.map +0 -1
  267. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +0 -9
  268. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +0 -1
  269. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts +0 -9
  270. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts.map +0 -1
  271. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts +0 -2
  272. package/lib/typescript/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.d.ts.map +0 -1
  273. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +0 -36
  274. package/src/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.ts +0 -45
  275. package/src/shared/providers/screen/animation/helpers/accessors/use-build-bounds-accessor.tsx +0 -15
@@ -1 +1 @@
1
- {"version":3,"file":"use-close-transition-intent.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,uCAAuC,CAAC;AAI/C,OAAO,EAGN,KAAK,cAAc,EACnB,MAAM,8BAA8B,CAAC;AA4GtC;;GAEG;AACH,wBAAgB,wBAAwB,CACvC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,cAAc,GACpB;IACF,wBAAwB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,oBAAoB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD,CAqBA"}
1
+ {"version":3,"file":"use-close-transition-intent.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/screen-lifecycle/hooks/use-close-transition-intent.ts"],"names":[],"mappings":"AAIA,OAAO,EACN,KAAK,cAAc,EAEnB,MAAM,uCAAuC,CAAC;AAe/C,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG;IAClE,aAAa,EAAE,MAAM,IAAI,CAAC;CAC1B,CAuFA"}
@@ -1,11 +1,9 @@
1
1
  import type { BaseDescriptor } from "../../../providers/screen/descriptors";
2
2
  import type { AnimationStoreMap } from "../../../stores/animation.store";
3
3
  import { type SystemStoreMap } from "../../../stores/system.store";
4
- export declare const useTransitionStartController: ({ current, animations, system, onBlankStackCloseFinish, onNativeCloseFinish, }: {
4
+ export declare const useTransitionStartController: ({ current, animations, system, }: {
5
5
  current: BaseDescriptor;
6
6
  animations: AnimationStoreMap;
7
7
  system: SystemStoreMap;
8
- onBlankStackCloseFinish?: (finished: boolean) => void;
9
- onNativeCloseFinish?: (finished: boolean) => void;
10
8
  }) => void;
11
9
  //# sourceMappingURL=use-transition-start-controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-transition-start-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAEN,KAAK,cAAc,EACnB,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,4BAA4B,GAAI,gFAM1C;IACF,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;IACvB,uBAAuB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACtD,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD,SAwDA,CAAC"}
1
+ {"version":3,"file":"use-transition-start-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/screen-lifecycle/hooks/use-transition-start-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,OAAO,EAEN,KAAK,cAAc,EACnB,MAAM,8BAA8B,CAAC;AAGtC,eAAO,MAAM,4BAA4B,GAAI,kCAI1C;IACF,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,MAAM,EAAE,cAAc,CAAC;CACvB,SAgDA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/components/screen-lifecycle/index.tsx"],"names":[],"mappings":"AAQA,UAAU,KAAK;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc,KAAK,8BAuBlD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/components/screen-lifecycle/index.tsx"],"names":[],"mappings":"AASA,UAAU,KAAK;IACd,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,cAAc,KAAK,8BA0BlD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare function useNavigationHelpers(): {
2
2
  dismissScreen: () => boolean;
3
+ isRemovePrevented: boolean;
3
4
  requestDismiss: () => boolean;
4
5
  };
5
6
  //# sourceMappingURL=use-navigation-helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-navigation-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-navigation-helpers.ts"],"names":[],"mappings":"AAKA,wBAAgB,oBAAoB;yBASG,OAAO;0BAJN,OAAO;EAqB9C"}
1
+ {"version":3,"file":"use-navigation-helpers.d.ts","sourceRoot":"","sources":["../../../../../src/shared/hooks/navigation/use-navigation-helpers.ts"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB;yBAOG,OAAO;;0BAmBN,OAAO;EAuB9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-screen-gesture-config.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAgB5D"}
1
+ {"version":3,"file":"use-screen-gesture-config.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/hooks/use-screen-gesture-config.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,wBAAgB,sBAAsB,IAAI,mBAAmB,CAuB5D"}
@@ -2,5 +2,5 @@ import { type SharedValue } from "react-native-reanimated";
2
2
  import type { GestureCompositionOwner, GestureDimensions, PanGestureEvent, PanGestureRuntime, PanReleaseResult, PanTrackState } from "../../types";
3
3
  export declare const startPanBase: (runtime: PanGestureRuntime) => void;
4
4
  export declare const trackPanGesture: (event: PanGestureEvent, rawEvent: PanGestureEvent, gestures: PanGestureRuntime["stores"]["gestures"], dimensions: GestureDimensions) => PanTrackState;
5
- export declare const finalizePanRelease: (release: PanReleaseResult, runtime: PanGestureRuntime, dismissScreen: ((finished: boolean) => void) | undefined, dimensions: GestureDimensions, rawEvent: PanGestureEvent, requestDismiss?: () => void, gestureCompositionOwner?: SharedValue<GestureCompositionOwner>) => void;
5
+ export declare const finalizePanRelease: (release: PanReleaseResult, runtime: PanGestureRuntime, dimensions: GestureDimensions, rawEvent: PanGestureEvent, requestDismiss?: () => void, gestureCompositionOwner?: SharedValue<GestureCompositionOwner>) => void;
6
6
  //# sourceMappingURL=pan-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pan-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAc3E,OAAO,KAAK,EACX,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,YAAY,GAAI,SAAS,iBAAiB,SAetD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,OAAO,eAAe,EACtB,UAAU,eAAe,EACzB,UAAU,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EACjD,YAAY,iBAAiB,KAC3B,aAuCF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,SAAS,gBAAgB,EACzB,SAAS,iBAAiB,EAC1B,eAAe,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,EACxD,YAAY,iBAAiB,EAC7B,UAAU,eAAe,EACzB,iBAAiB,MAAM,IAAI,EAC3B,0BAA0B,WAAW,CAAC,uBAAuB,CAAC,SAwE9D,CAAC"}
1
+ {"version":3,"file":"pan-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pan/behavior/pan-lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAc3E,OAAO,KAAK,EACX,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,MAAM,aAAa,CAAC;AAIrB,eAAO,MAAM,YAAY,GAAI,SAAS,iBAAiB,SAetD,CAAC;AAEF,eAAO,MAAM,eAAe,GAC3B,OAAO,eAAe,EACtB,UAAU,eAAe,EACzB,UAAU,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,EACjD,YAAY,iBAAiB,KAC3B,aAuCF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,SAAS,gBAAgB,EACzB,SAAS,iBAAiB,EAC1B,YAAY,iBAAiB,EAC7B,UAAU,eAAe,EACzB,iBAAiB,MAAM,IAAI,EAC3B,0BAA0B,WAAW,CAAC,uBAAuB,CAAC,SAuE9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-pan-behavior.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAIlE,OAAO,KAAK,EACX,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EAEX,iBAAiB,EACjB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,cAAc,GAC1B,SAAS,WAAW,CAAC,iBAAiB,CAAC,EACvC,eAAe,yBAAyB,EACxC,YAAY,iBAAiB,EAC7B,yBAAyB,WAAW,CAAC,uBAAuB,CAAC,EAC7D,kBAAkB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,KAC7C,WA6GF,CAAC"}
1
+ {"version":3,"file":"use-pan-behavior.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAIlE,OAAO,KAAK,EACX,uBAAuB,EACvB,iBAAiB,EACjB,WAAW,EAEX,iBAAiB,EACjB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,cAAc,GAC1B,SAAS,WAAW,CAAC,iBAAiB,CAAC,EACvC,eAAe,yBAAyB,EACxC,YAAY,iBAAiB,EAC7B,yBAAyB,WAAW,CAAC,uBAAuB,CAAC,EAC7D,kBAAkB,WAAW,CAAC,SAAS,GAAG,IAAI,CAAC,KAC7C,WA2GF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { PinchGestureEvent, PinchGestureRuntime, PinchReleaseResult, PinchTrackState } from "../../types";
2
2
  export declare const startPinchBase: (runtime: PinchGestureRuntime) => void;
3
3
  export declare const trackPinchGesture: (event: PinchGestureEvent, rawEvent: PinchGestureEvent, gestures: PinchGestureRuntime["stores"]["gestures"]) => PinchTrackState;
4
- export declare const finalizePinchRelease: (release: PinchReleaseResult, runtime: PinchGestureRuntime, dismissScreen: ((finished: boolean) => void) | undefined, requestDismiss?: () => void) => void;
4
+ export declare const finalizePinchRelease: (release: PinchReleaseResult, runtime: PinchGestureRuntime, requestDismiss?: () => void) => void;
5
5
  //# sourceMappingURL=pinch-lifecycle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pinch-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,cAAc,GAAI,SAAS,mBAAmB,SAe1D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC7B,OAAO,iBAAiB,EACxB,UAAU,iBAAiB,EAC3B,UAAU,mBAAmB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KACjD,eAsBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,SAAS,kBAAkB,EAC3B,SAAS,mBAAmB,EAC5B,eAAe,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,EACxD,iBAAiB,MAAM,IAAI,SAiD3B,CAAC"}
1
+ {"version":3,"file":"pinch-lifecycle.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,cAAc,GAAI,SAAS,mBAAmB,SAe1D,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC7B,OAAO,iBAAiB,EACxB,UAAU,iBAAiB,EAC3B,UAAU,mBAAmB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KACjD,eAsBF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAChC,SAAS,kBAAkB,EAC3B,SAAS,mBAAmB,EAC5B,iBAAiB,MAAM,IAAI,SAgD3B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-pinch-behavior.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,KAAK,EACX,uBAAuB,EACvB,aAAa,EAEb,mBAAmB,EACnB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,gBAAgB,GAC5B,SAAS,WAAW,CAAC,mBAAmB,CAAC,EACzC,eAAe,yBAAyB,EACxC,yBAAyB,WAAW,CAAC,uBAAuB,CAAC,KAC3D,aAqEF,CAAC"}
1
+ {"version":3,"file":"use-pinch-behavior.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAGlE,OAAO,KAAK,EACX,uBAAuB,EACvB,aAAa,EAEb,mBAAmB,EACnB,MAAM,aAAa,CAAC;AAYrB,eAAO,MAAM,gBAAgB,GAC5B,SAAS,WAAW,CAAC,mBAAmB,CAAC,EACzC,eAAe,yBAAyB,EACxC,yBAAyB,WAAW,CAAC,uBAAuB,CAAC,KAC3D,aA+DF,CAAC"}
@@ -25,10 +25,11 @@ export declare const resolveGestureCanTrack: ({ isFirstKey, canDismiss, hasSnapP
25
25
  }) => boolean;
26
26
  export declare const resolvePanPolicy: (options: GesturePolicyOptions, hasSnapPoints: boolean) => PanGesturePolicy;
27
27
  export declare const resolvePinchPolicy: (options: GesturePolicyOptions, hasSnapPoints: boolean) => PinchGesturePolicy;
28
- export declare const resolveScreenGestureConfig: ({ options, isFirstKey, gestureContext, }: {
28
+ export declare const resolveScreenGestureConfig: ({ options, isFirstKey, gestureContext, isRemovePrevented, }: {
29
29
  options: ScreenTransitionConfig;
30
30
  isFirstKey: boolean;
31
31
  gestureContext: GestureContextType | null;
32
+ isRemovePrevented?: boolean;
32
33
  }) => ScreenGestureConfig;
33
34
  export declare const resolveRuntimeGestureParticipation: ({ participation, options, }: {
34
35
  participation: ScreenGestureParticipation;
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/shared/policy.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,qBAAqB,EAGrB,sBAAsB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACX,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,SAAS,EACT,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EACX,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,UAAU,CAAC;AAYlB,MAAM,MAAM,oBAAoB,GAAG;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;CAC1D,CAAC;AAiKF,eAAO,MAAM,sBAAsB,GAAI,6DAKpC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;CAClC,YAuBA,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC5B,SAAS,oBAAoB,EAC7B,eAAe,OAAO,KACpB,gBAyBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,SAAS,oBAAoB,EAC7B,eAAe,OAAO,KACpB,kBAcF,CAAC;AAyCF,eAAO,MAAM,0BAA0B,GAAI,0CAIxC;IACF,OAAO,EAAE,sBAAsB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAC;CAC1C,KAAG,mBAaH,CAAC;AAuDF,eAAO,MAAM,kCAAkC,GAAI,6BAGhD;IACF,aAAa,EAAE,0BAA0B,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC;CAC9B,KAAG,0BAUH,CAAC"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/gestures/shared/policy.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,qBAAqB,EAGrB,sBAAsB,EAEtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACX,eAAe,EACf,sBAAsB,EACtB,0BAA0B,EAC1B,SAAS,EACT,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EACX,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,MAAM,UAAU,CAAC;AAYlB,MAAM,MAAM,oBAAoB,GAAG;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0BAA0B,CAAC,EAAE,0BAA0B,CAAC;IACxD,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,cAAc,CAAC,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;CAC1D,CAAC;AAiKF,eAAO,MAAM,sBAAsB,GAAI,6DAKpC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,eAAe,CAAC;CAClC,YAuBA,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC5B,SAAS,oBAAoB,EAC7B,eAAe,OAAO,KACpB,gBAyBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC9B,SAAS,oBAAoB,EAC7B,eAAe,OAAO,KACpB,kBAcF,CAAC;AA8CF,eAAO,MAAM,0BAA0B,GAAI,6DAKxC;IACF,OAAO,EAAE,sBAAsB,CAAC;IAChC,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B,KAAG,mBAcH,CAAC;AA0DF,eAAO,MAAM,kCAAkC,GAAI,6BAGhD;IACF,aAAa,EAAE,0BAA0B,CAAC;IAC1C,OAAO,EAAE,oBAAoB,CAAC;CAC9B,KAAG,0BAUH,CAAC"}
@@ -40,6 +40,8 @@ export interface GestureContextType {
40
40
  export interface ScreenGestureParticipation {
41
41
  /** Whether this route is the first route in its stack. First routes never track gestures. */
42
42
  isFirstKey: boolean;
43
+ /** Whether React Navigation currently blocks removal of this route. */
44
+ isRemovePrevented: boolean;
43
45
  /** Whether this route can dismiss to progress 0 from a gesture release. */
44
46
  canDismiss: boolean;
45
47
  /** Whether recognizers can activate to expose gesture values to interpolators. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/screen/gestures/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/screen/gestures/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { ScreenInterpolationProps, ScreenTransitionAccessor } from "../../../../types/animation.types";
2
+ import type { ScreenInterpolatorFrame } from "../../animation/helpers/pipeline";
3
+ import type { SelectedInterpolatorFrame } from "./select-interpolator-frame";
4
+ export declare const createInterpolatorScope: ({ frame, selectedFrame, transition, }: {
5
+ frame: ScreenInterpolatorFrame;
6
+ selectedFrame: SelectedInterpolatorFrame;
7
+ transition: ScreenTransitionAccessor;
8
+ }) => ScreenInterpolationProps;
9
+ //# sourceMappingURL=create-interpolator-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-interpolator-scope.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/helpers/create-interpolator-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,wBAAwB,EACxB,wBAAwB,EACxB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAChF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,eAAO,MAAM,uBAAuB,GAAI,uCAIrC;IACF,KAAK,EAAE,uBAAuB,CAAC;IAC/B,aAAa,EAAE,yBAAyB,CAAC;IACzC,UAAU,EAAE,wBAAwB,CAAC;CACrC,KAAG,wBA4BH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-interpolated-style-maps.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,WAAW,EAIhB,MAAM,yBAAyB,CAAC;AA2BjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AA8EvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GAAI,iCAGtC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACxC;;;CAuMA,CAAC"}
1
+ {"version":3,"file":"use-interpolated-style-maps.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx"],"names":[],"mappings":"AACA,OAAO,EACN,KAAK,WAAW,EAIhB,MAAM,yBAAyB,CAAC;AA2BjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AA6EvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,wBAAwB,GAAI,iCAGtC;IACF,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CACxC;;;CAoMA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"blank-stack-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/stack/blank-stack-state/blank-stack-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EAEnB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAEX,oBAAoB,IAAI,wBAAwB,EAEhD,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACtC,WAAW,SAAS,mBAAmB,EACvC,WAAW,SAAS,mBAAmB,EAEvC,cAAc,uBAAuB,CAAC,WAAW,EAAE,WAAW,CAAC,KAC7D,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAoInD,CAAC"}
1
+ {"version":3,"file":"blank-stack-controller.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/providers/stack/blank-stack-state/blank-stack-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qDAAqD,CAAC;AACnG,OAAO,KAAK,EACX,mBAAmB,EACnB,mBAAmB,EAEnB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAEX,oBAAoB,IAAI,wBAAwB,EAEhD,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B,GACtC,WAAW,SAAS,mBAAmB,EACvC,WAAW,SAAS,mBAAmB,EAEvC,cAAc,uBAAuB,CAAC,WAAW,EAAE,WAAW,CAAC,KAC7D,wBAAwB,CAAC,WAAW,EAAE,WAAW,CAuInD,CAAC"}
@@ -3,8 +3,7 @@ import type { Layout } from "../types/screen.types";
3
3
  export declare enum LifecycleTransitionRequestKind {
4
4
  None = 0,
5
5
  Open = 1,
6
- BlankStackClose = 2,
7
- NativeClose = 3
6
+ Close = 2
8
7
  }
9
8
  type SystemStoreState = {
10
9
  targetProgress: SharedValue<number>;
@@ -1 +1 @@
1
- {"version":3,"file":"system.store.d.ts","sourceRoot":"","sources":["../../../../src/shared/stores/system.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,WAAW,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,oBAAY,8BAA8B;IACzC,IAAI,IAAI;IACR,IAAI,IAAI;IACR,eAAe,IAAI;IACnB,WAAW,IAAI;CACf;AAED,KAAK,gBAAgB,GAAG;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3C;;OAEG;IACH,qBAAqB,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,2BAA2B,EAAE,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAEzE;;OAEG;IACH,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEnD;;;OAGG;IACH,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,0BAA0B,CACzB,IAAI,EAAE,8BAA8B,EACpC,MAAM,EAAE,MAAM,GACZ,IAAI,CAAC;IACR,+BAA+B,IAAI,IAAI,CAAC;IACxC,mBAAmB,IAAI,IAAI,CAAC;IAC5B,qBAAqB,IAAI,IAAI,CAAC;IAC9B,yBAAyB,IAAI,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC/C,OAAO,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;EA2DtB,CAAC"}
1
+ {"version":3,"file":"system.store.d.ts","sourceRoot":"","sources":["../../../../src/shared/stores/system.store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,KAAK,WAAW,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,oBAAY,8BAA8B;IACzC,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACT;AAED,KAAK,gBAAgB,GAAG;IACvB,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEpC;;;OAGG;IACH,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAE3C;;OAEG;IACH,qBAAqB,EAAE,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAElD;;OAEG;IACH,2BAA2B,EAAE,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAEzE;;OAEG;IACH,6BAA6B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEnD;;;OAGG;IACH,+BAA+B,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,0BAA0B,CACzB,IAAI,EAAE,8BAA8B,EACpC,MAAM,EAAE,MAAM,GACZ,IAAI,CAAC;IACR,+BAA+B,IAAI,IAAI,CAAC;IACxC,mBAAmB,IAAI,IAAI,CAAC;IAC5B,qBAAqB,IAAI,IAAI,CAAC;IAC9B,yBAAyB,IAAI,IAAI,CAAC;CAClC;AAED,MAAM,MAAM,cAAc,GAAG,gBAAgB,GAAG;IAC/C,OAAO,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;EA2DtB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type SharedValue } from "react-native-reanimated";
1
+ import type { SharedValue } from "react-native-reanimated";
2
2
  import { type AnimationStoreMap } from "../../stores/animation.store";
3
3
  import type { TransitionSpec } from "../../types/animation.types";
4
4
  interface AnimateToProgressProps {
@@ -10,7 +10,6 @@ interface AnimateToProgressProps {
10
10
  */
11
11
  target: "open" | "close" | number;
12
12
  spec?: TransitionSpec;
13
- onAnimationFinish?: (finished: boolean) => void;
14
13
  animations: AnimationStoreMap;
15
14
  targetProgress: SharedValue<number>;
16
15
  animationProgress: SharedValue<number>;
@@ -24,6 +23,6 @@ export declare const resolveAnimationProgressRange: (currentProgress: number, ta
24
23
  from: number;
25
24
  to: number;
26
25
  };
27
- export declare const animateToProgress: ({ target, spec, onAnimationFinish, animations, targetProgress, animationProgress, emitWillAnimate, markEntering, initialVelocity, isDragging, }: AnimateToProgressProps) => void;
26
+ export declare const animateToProgress: ({ target, spec, animations, targetProgress, animationProgress, emitWillAnimate, markEntering, initialVelocity, isDragging, }: AnimateToProgressProps) => void;
28
27
  export {};
29
28
  //# sourceMappingURL=animate-to-progress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"animate-to-progress.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/animate-to-progress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEpE,OAAO,EACN,KAAK,iBAAiB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,UAAU,sBAAsB;IAC/B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAsBD,eAAO,MAAM,6BAA6B,GACzC,iBAAiB,MAAM,EACvB,gBAAgB,MAAM;;;CAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,iJAW/B,sBAAsB,SAoHxB,CAAC"}
1
+ {"version":3,"file":"animate-to-progress.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/animation/animate-to-progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EACN,KAAK,iBAAiB,EAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAGlE,UAAU,sBAAsB;IAC/B;;;;;OAKG;IACH,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC;IAC9B,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACjC;AAsBD,eAAO,MAAM,6BAA6B,GACzC,iBAAiB,MAAM,EACvB,gBAAgB,MAAM;;;CAOtB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,8HAU/B,sBAAsB,SAiGxB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const isCloseActionReplay: (action: unknown) => boolean;
2
+ /** Carries the terminal-removal bypass through React Navigation's action clones. */
3
+ export declare const dispatchCloseAction: <TAction extends object>(action: TAction, dispatch: (action: TAction) => void) => void;
4
+ //# sourceMappingURL=close-action-replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"close-action-replay.d.ts","sourceRoot":"","sources":["../../../../../src/shared/utils/navigation/close-action-replay.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,mBAAmB,GAAI,QAAQ,OAAO,KAAG,OAGM,CAAC;AAE7D,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,GAAI,OAAO,SAAS,MAAM,EACzD,QAAQ,OAAO,EACf,UAAU,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,SAUnC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "3.11.1",
3
+ "version": "3.11.3",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -309,7 +309,9 @@ const SceneView = ({
309
309
  ? // This prop enables handling of system back gestures on Android
310
310
  // Since we handle them in JS side, we disable this
311
311
  false
312
- : nativeGestureEnabled
312
+ : enableTransitions
313
+ ? false
314
+ : nativeGestureEnabled
313
315
  }
314
316
  homeIndicatorHidden={autoHideHomeIndicator}
315
317
  hideKeyboardOnSwipe={keyboardHandlingEnabled}
@@ -0,0 +1,53 @@
1
+ import { memo } from "react";
2
+ import type { View } from "react-native";
3
+ import type { AnimatedRef } from "react-native-reanimated";
4
+ import { useDescriptorsStore } from "../../../providers/screen/descriptors";
5
+ import type { BoundTag } from "../../../stores/bounds/types";
6
+ import { useBoundaryMeasurement } from "../hooks/use-boundary-measurement";
7
+ import type {
8
+ BoundaryConfigProps,
9
+ BoundaryLocalMeasurementValue,
10
+ } from "../types";
11
+
12
+ interface BoundaryLifecycleProps {
13
+ boundTag: BoundTag;
14
+ config: BoundaryConfigProps;
15
+ currentScreenKey: string;
16
+ enabled: boolean;
17
+ escapeClipping: boolean;
18
+ handoff: boolean;
19
+ localMeasurement: BoundaryLocalMeasurementValue;
20
+ measuredRef: AnimatedRef<View>;
21
+ style?: unknown;
22
+ }
23
+
24
+ export const BoundaryLifecycle = memo(function BoundaryLifecycle({
25
+ boundTag,
26
+ config,
27
+ currentScreenKey,
28
+ enabled,
29
+ escapeClipping,
30
+ handoff,
31
+ localMeasurement,
32
+ measuredRef,
33
+ style,
34
+ }: BoundaryLifecycleProps) {
35
+ const hasConfiguredInterpolator = useDescriptorsStore(
36
+ (s) => s.derivations.hasConfiguredInterpolator,
37
+ );
38
+
39
+ useBoundaryMeasurement({
40
+ boundTag,
41
+ enabled,
42
+ runtimeEnabled: enabled && hasConfiguredInterpolator,
43
+ currentScreenKey,
44
+ measuredRef,
45
+ style,
46
+ handoff,
47
+ escapeClipping,
48
+ localMeasurement,
49
+ config,
50
+ });
51
+
52
+ return null;
53
+ });
@@ -39,14 +39,12 @@ const MAX_HANDSHAKE_RETRIES = 20;
39
39
  interface UseInitialDestinationMeasurementParams {
40
40
  boundTag: BoundTag;
41
41
  enabled: boolean;
42
- escapeClipping: boolean;
43
42
  measureBoundary: MeasureBoundary;
44
43
  }
45
44
 
46
45
  export const useInitialDestinationMeasurement = ({
47
46
  boundTag,
48
47
  enabled,
49
- escapeClipping,
50
48
  measureBoundary,
51
49
  }: UseInitialDestinationMeasurementParams) => {
52
50
  const { tag, linkKey, group } = boundTag;
@@ -142,18 +140,12 @@ export const useInitialDestinationMeasurement = ({
142
140
  runOnUI(claimLifecycleStartBlock)();
143
141
 
144
142
  return () => {
145
- if (escapeClipping) {
146
- // The portal host owns the release after this boundary hands off.
147
- return;
148
- }
149
-
150
143
  // This is an abandonment fallback, not a second release. Run it on the UI
151
144
  // runtime so it serializes with the handshake's guarded release.
152
145
  runOnUI(releaseLifecycleStartBlock)();
153
146
  };
154
147
  }, [
155
148
  claimLifecycleStartBlock,
156
- escapeClipping,
157
149
  canReceiveDestination,
158
150
  releaseLifecycleStartBlock,
159
151
  ]);
@@ -247,12 +239,6 @@ export const useInitialDestinationMeasurement = ({
247
239
  cancelAnimation(retryToken);
248
240
  handshakeRetries.set(0);
249
241
  hasFinishedInitialMeasurement.set(1);
250
- if (escapeClipping) {
251
- // Screen-level escape has a second readiness phase after destination
252
- // matching: the host must commit before the transition starts, or
253
- // the payload can disappear for a frame.
254
- return;
255
- }
256
242
  releaseLifecycleStartBlock();
257
243
  return;
258
244
  }
@@ -33,14 +33,24 @@ export const useRefreshBoundary = ({
33
33
  refreshScreenKey,
34
34
  "willAnimate",
35
35
  );
36
+ const refreshSettled = AnimationStore.getValue(
37
+ refreshScreenKey,
38
+ "progressSettled",
39
+ );
36
40
  const refreshClosing = AnimationStore.getValue(refreshScreenKey, "closing");
37
41
 
38
42
  useAnimatedReaction(
39
43
  () => {
40
44
  "worklet";
41
45
 
42
- const shouldRefresh = enabled && !!refreshWillAnimate.get();
43
- if (!shouldRefresh) {
46
+ if (!enabled) return null;
47
+
48
+ const shouldRefresh = !!refreshWillAnimate.get();
49
+ const settled = !!refreshSettled.get();
50
+ // A group's active member can change while the transition is settled
51
+ // (for example, paging a destination gallery). Let that member publish
52
+ // fresh bounds even though there is no willAnimate lifecycle pulse yet.
53
+ if (!shouldRefresh && (!group || !settled)) {
44
54
  return null;
45
55
  }
46
56
  const sourcePairKey =
@@ -56,6 +66,7 @@ export const useRefreshBoundary = ({
56
66
  linkId: linkKey,
57
67
  group,
58
68
  shouldRefresh,
69
+ settled,
59
70
  closing: !!refreshClosing.get(),
60
71
  linkState: pairs.get(),
61
72
  });
@@ -3,7 +3,10 @@ import type { View } from "react-native";
3
3
  import type { AnimatedRef } from "react-native-reanimated";
4
4
  import type { BoundTag } from "../../../stores/bounds/types";
5
5
  import { prepareStyleForBounds } from "../../../utils/bounds/helpers/styles/styles";
6
- import type { BoundaryConfigProps } from "../types";
6
+ import type {
7
+ BoundaryConfigProps,
8
+ BoundaryLocalMeasurementValue,
9
+ } from "../types";
7
10
  import { useBoundaryPresence } from "./lifecycles/use-boundary-presence";
8
11
  import { useInitialDestinationMeasurement } from "./lifecycles/use-initial-destination-measurement";
9
12
  import { useInitialSourceMeasurement } from "./lifecycles/use-initial-source-measurement";
@@ -23,6 +26,7 @@ interface UseBoundaryMeasurementParams {
23
26
  style?: unknown;
24
27
  handoff: boolean;
25
28
  escapeClipping: boolean;
29
+ localMeasurement: BoundaryLocalMeasurementValue;
26
30
  config: BoundaryConfigProps;
27
31
  }
28
32
 
@@ -40,6 +44,7 @@ export const useBoundaryMeasurement = ({
40
44
  style,
41
45
  handoff,
42
46
  escapeClipping,
47
+ localMeasurement,
43
48
  config,
44
49
  }: UseBoundaryMeasurementParams) => {
45
50
  const { anchor, scaleMode, target, method } = config;
@@ -58,6 +63,7 @@ export const useBoundaryMeasurement = ({
58
63
  measuredAnimatedRef: measuredRef,
59
64
  handoff,
60
65
  escapeClipping,
66
+ localMeasurement,
61
67
  });
62
68
 
63
69
  // Presence and source capture must not depend on this screen owning an
@@ -81,7 +87,6 @@ export const useBoundaryMeasurement = ({
81
87
  useInitialDestinationMeasurement({
82
88
  boundTag,
83
89
  enabled: runtimeEnabled,
84
- escapeClipping,
85
90
  measureBoundary,
86
91
  });
87
92
 
@@ -8,7 +8,7 @@ import type { BoundTag } from "../../../stores/bounds/types";
8
8
  import { ScrollStore } from "../../../stores/scroll.store";
9
9
  import { SystemStore } from "../../../stores/system.store";
10
10
  import { getVisibilityBlockOffset } from "../../../utils/visibility-block-offset";
11
- import type { MeasureBoundary } from "../types";
11
+ import type { BoundaryLocalMeasurementValue, MeasureBoundary } from "../types";
12
12
  import {
13
13
  attachScrollSnapshotToMeasuredBounds,
14
14
  correctMeasuredBoundsForVisibilityGate,
@@ -24,6 +24,7 @@ interface UseMeasurerParams {
24
24
  measuredAnimatedRef: AnimatedRef<View>;
25
25
  handoff: boolean;
26
26
  escapeClipping: boolean;
27
+ localMeasurement: BoundaryLocalMeasurementValue;
27
28
  }
28
29
 
29
30
  export const useMeasurer = ({
@@ -34,6 +35,7 @@ export const useMeasurer = ({
34
35
  measuredAnimatedRef,
35
36
  handoff,
36
37
  escapeClipping,
38
+ localMeasurement,
37
39
  }: UseMeasurerParams): MeasureBoundary => {
38
40
  const { width: viewportWidth, height: viewportHeight } =
39
41
  useWindowDimensions();
@@ -66,6 +68,13 @@ export const useMeasurer = ({
66
68
  viewportHeight,
67
69
  });
68
70
 
71
+ if (escapeClipping && target.type === "source") {
72
+ localMeasurement.set({
73
+ bounds: measured,
74
+ pairKey: target.pairKey,
75
+ });
76
+ }
77
+
69
78
  /**
70
79
  * - Destination Pass -
71
80
  * Be strict while lifecycle start is blocked for destination capture.
@@ -112,6 +121,7 @@ export const useMeasurer = ({
112
121
  measuredAnimatedRef,
113
122
  handoff,
114
123
  escapeClipping,
124
+ localMeasurement,
115
125
  viewportWidth,
116
126
  viewportHeight,
117
127
  scrollState,
@@ -8,7 +8,6 @@ import {
8
8
  } from "react-native";
9
9
  import Animated from "react-native-reanimated";
10
10
  import { useDescriptorsStore } from "../../../../../../providers/screen/descriptors";
11
- import { useScreenSlots } from "../../../../../../providers/screen/styles";
12
11
  import { PORTAL_POINTER_EVENTS } from "../../../teleport";
13
12
  import { useHostMeasurement } from "../hooks/use-host-measurement";
14
13
  import { registerHost, unregisterHost } from "../stores/host-registry.store";
@@ -34,20 +33,17 @@ function HostImpl({ fallback = false, style }: HostImplProps) {
34
33
  }
35
34
 
36
35
  const hostKey = fallback ? screenKey : generatedHostKeyRef.current;
37
- const capturesScroll = !fallback;
38
36
  const activeBoundaryHosts = useActivePortalBoundaryHosts(hostKey);
39
- const { visibilityBlocked } = useScreenSlots();
37
+
40
38
  const { height: viewportHeight, width: viewportWidth } =
41
39
  useWindowDimensions();
42
40
 
41
+ const measurementKey = activeBoundaryHosts.length
42
+ ? activeBoundaryHosts.map((host) => host.portalHostName).join("|")
43
+ : null;
44
+
43
45
  const measurement = useHostMeasurement({
44
- capturesScroll,
45
- enabled: activeBoundaryHosts.length > 0,
46
- hostKey,
47
- screenKey,
48
- visibilityBlocked,
49
- viewportHeight,
50
- viewportWidth,
46
+ measurementKey,
51
47
  });
52
48
 
53
49
  useLayoutEffect(() => {
@@ -71,7 +67,13 @@ function HostImpl({ fallback = false, style }: HostImplProps) {
71
67
  { width: viewportWidth, height: viewportHeight },
72
68
  ]}
73
69
  >
74
- <PortalBoundaryHost host={host} style={StyleSheet.absoluteFill} />
70
+ <PortalBoundaryHost
71
+ host={host}
72
+ hostBounds={measurement.hostBounds}
73
+ hostMeasurementKey={measurementKey}
74
+ measuredHostKey={measurement.measuredKey}
75
+ style={StyleSheet.absoluteFill}
76
+ />
75
77
  </View>
76
78
  ));
77
79