react-native-screen-transitions 3.9.0-alpha.0 → 3.9.0-alpha.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +10 -10
  2. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  3. package/lib/commonjs/shared/components/boundary/create-boundary-component.js +45 -101
  4. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  5. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +103 -0
  6. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
  7. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js +7 -4
  8. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js +24 -14
  10. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js +3 -4
  12. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +6 -8
  14. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js +6 -3
  16. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/index.js +2 -2
  18. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js +8 -2
  19. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  20. package/lib/commonjs/shared/components/boundary/portal/components/portal-provider.js +5 -2
  21. package/lib/commonjs/shared/components/boundary/portal/components/portal-provider.js.map +1 -1
  22. package/lib/commonjs/shared/components/boundary/portal/components/portal.js +10 -7
  23. package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
  24. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js +36 -0
  25. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js.map +1 -0
  26. package/lib/commonjs/shared/components/boundary/portal/teleport.js +23 -0
  27. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -0
  28. package/lib/commonjs/shared/components/boundary/providers/{boundary-owner.provider.js → boundary-root.provider.js} +21 -23
  29. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
  30. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +33 -2
  31. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
  32. package/lib/commonjs/shared/components/create-transition-aware-component.js +2 -20
  33. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  34. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +1 -1
  35. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  36. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +2 -14
  37. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  38. package/lib/commonjs/shared/components/screen-container/layers/content.js +4 -16
  39. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  40. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +4 -15
  41. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  42. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +4 -16
  43. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
  44. package/lib/commonjs/shared/hooks/navigation/use-stack.js +17 -2
  45. package/lib/commonjs/shared/hooks/navigation/use-stack.js.map +1 -1
  46. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +142 -33
  47. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  48. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js +23 -12
  49. package/lib/commonjs/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  50. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js +1 -0
  51. package/lib/commonjs/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  52. package/lib/commonjs/shared/providers/screen/screen-composer.js +1 -1
  53. package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
  54. package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js +32 -0
  55. package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
  56. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +7 -8
  57. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  58. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +1 -20
  60. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
  61. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +1 -11
  62. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  63. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +23 -36
  64. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  65. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -19
  66. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  67. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +8 -3
  68. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  69. package/lib/commonjs/shared/providers/screen/styles/index.js +25 -7
  70. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  71. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +103 -0
  72. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -0
  73. package/lib/commonjs/shared/stores/animation.store.js +2 -0
  74. package/lib/commonjs/shared/stores/animation.store.js.map +1 -1
  75. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +16 -1
  76. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  77. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +8 -1
  78. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  79. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +59 -0
  80. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  81. package/lib/commonjs/shared/utils/logger.js +11 -0
  82. package/lib/commonjs/shared/utils/logger.js.map +1 -1
  83. package/lib/module/shared/components/boundary/components/boundary-target.js +10 -10
  84. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  85. package/lib/module/shared/components/boundary/create-boundary-component.js +47 -103
  86. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  87. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +98 -0
  88. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
  89. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js +7 -4
  90. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +1 -1
  91. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js +24 -14
  92. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +1 -1
  93. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js +3 -4
  94. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +1 -1
  95. package/lib/module/shared/components/boundary/hooks/use-measurer.js +6 -8
  96. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  97. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js +6 -3
  98. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +1 -1
  99. package/lib/module/shared/components/boundary/index.js +2 -2
  100. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js +8 -2
  101. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  102. package/lib/module/shared/components/boundary/portal/components/portal-provider.js +4 -1
  103. package/lib/module/shared/components/boundary/portal/components/portal-provider.js.map +1 -1
  104. package/lib/module/shared/components/boundary/portal/components/portal.js +11 -8
  105. package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
  106. package/lib/module/shared/components/boundary/portal/resolve-portal.js +31 -0
  107. package/lib/module/shared/components/boundary/portal/resolve-portal.js.map +1 -0
  108. package/lib/module/shared/components/boundary/portal/teleport.js +19 -0
  109. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -0
  110. package/lib/module/shared/components/boundary/providers/{boundary-owner.provider.js → boundary-root.provider.js} +18 -20
  111. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
  112. package/lib/module/shared/components/boundary/utils/destination-signals.js +33 -2
  113. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
  114. package/lib/module/shared/components/create-transition-aware-component.js +4 -22
  115. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  116. package/lib/module/shared/components/overlay/variations/float-overlay.js +2 -2
  117. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  118. package/lib/module/shared/components/screen-container/layers/backdrop.js +4 -16
  119. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  120. package/lib/module/shared/components/screen-container/layers/content.js +4 -16
  121. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  122. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +5 -16
  123. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  124. package/lib/module/shared/components/screen-container/layers/surface-container.js +4 -16
  125. package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
  126. package/lib/module/shared/hooks/navigation/use-stack.js +19 -4
  127. package/lib/module/shared/hooks/navigation/use-stack.js.map +1 -1
  128. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +144 -35
  129. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  130. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js +20 -10
  131. package/lib/module/shared/providers/screen/animation/helpers/stack-progress.js.map +1 -1
  132. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js +1 -0
  133. package/lib/module/shared/providers/screen/animation/helpers/use-build-transition-state.js.map +1 -1
  134. package/lib/module/shared/providers/screen/screen-composer.js +2 -2
  135. package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
  136. package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js +26 -0
  137. package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
  138. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +7 -8
  139. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  140. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  141. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +0 -18
  142. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
  143. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +0 -9
  144. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  145. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +22 -35
  146. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  147. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -19
  148. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  149. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +9 -4
  150. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  151. package/lib/module/shared/providers/screen/styles/index.js +1 -1
  152. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  153. package/lib/module/shared/providers/screen/styles/slot.provider.js +91 -0
  154. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -0
  155. package/lib/module/shared/stores/animation.store.js +2 -0
  156. package/lib/module/shared/stores/animation.store.js.map +1 -1
  157. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +14 -0
  158. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  159. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +9 -2
  160. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  161. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +58 -0
  162. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  163. package/lib/module/shared/utils/logger.js +11 -0
  164. package/lib/module/shared/utils/logger.js.map +1 -1
  165. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +2 -1
  166. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  167. package/lib/typescript/component-stack/components/component-screen.d.ts +1 -1
  168. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
  169. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +2 -1
  170. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
  171. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -1
  172. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  173. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
  174. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
  175. package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +2 -2
  176. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +1 -1
  177. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
  178. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
  179. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  180. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +1 -1
  181. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -1
  182. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +1 -1
  183. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  184. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +1 -1
  185. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  186. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  187. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +32 -0
  188. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -0
  189. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +2 -1
  190. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +1 -1
  191. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts +3 -2
  192. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +1 -1
  193. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +2 -2
  194. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +1 -1
  195. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +3 -5
  196. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  197. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts +3 -3
  198. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +1 -1
  199. package/lib/typescript/shared/components/boundary/index.d.ts +7 -211
  200. package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
  201. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts +2 -2
  202. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
  203. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +1 -1
  204. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
  205. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts +1 -1
  206. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts.map +1 -1
  207. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +1 -1
  208. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
  209. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts +14 -0
  210. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts.map +1 -0
  211. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +6 -0
  212. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -0
  213. package/lib/typescript/shared/components/boundary/providers/{boundary-owner.provider.d.ts → boundary-root.provider.d.ts} +12 -14
  214. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -0
  215. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +1 -0
  216. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
  217. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +5 -6
  218. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  219. package/lib/typescript/shared/components/masked-view.d.ts +1 -1
  220. package/lib/typescript/shared/components/masked-view.d.ts.map +1 -1
  221. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
  222. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  223. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
  224. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  225. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  226. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  227. package/lib/typescript/shared/components/screen-container/index.d.ts +1 -1
  228. package/lib/typescript/shared/components/screen-container/index.d.ts.map +1 -1
  229. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +1 -1
  230. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  231. package/lib/typescript/shared/components/screen-container/layers/content.d.ts +1 -1
  232. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  233. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts +1 -1
  234. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  235. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts +1 -1
  236. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
  237. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -1
  238. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  239. package/lib/typescript/shared/index.d.ts +663 -919
  240. package/lib/typescript/shared/index.d.ts.map +1 -1
  241. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts +1 -0
  242. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/types.d.ts.map +1 -1
  243. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  244. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts +2 -1
  245. package/lib/typescript/shared/providers/screen/animation/helpers/stack-progress.d.ts.map +1 -1
  246. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts +1 -0
  247. package/lib/typescript/shared/providers/screen/animation/helpers/use-build-transition-state.d.ts.map +1 -1
  248. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +1 -1
  249. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  250. package/lib/typescript/shared/providers/screen/screen-composer.d.ts +1 -1
  251. package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
  252. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +1 -1
  253. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -1
  254. package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts +16 -0
  255. package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts.map +1 -0
  256. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +3 -4
  257. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  258. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
  259. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts +0 -1
  260. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts.map +1 -1
  261. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +0 -1
  262. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
  263. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +0 -5
  264. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  265. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -3
  266. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  267. package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
  268. package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
  269. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  270. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +23 -0
  271. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -0
  272. package/lib/typescript/shared/stores/animation.store.d.ts +1 -0
  273. package/lib/typescript/shared/stores/animation.store.d.ts.map +1 -1
  274. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +6 -1
  275. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
  276. package/lib/typescript/shared/stores/bounds/types.d.ts +13 -0
  277. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  278. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  279. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +9 -0
  280. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  281. package/lib/typescript/shared/utils/logger.d.ts +6 -0
  282. package/lib/typescript/shared/utils/logger.d.ts.map +1 -1
  283. package/package.json +6 -1
  284. package/src/shared/components/boundary/components/boundary-target.tsx +12 -12
  285. package/src/shared/components/boundary/create-boundary-component.tsx +59 -142
  286. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +127 -0
  287. package/src/shared/components/boundary/hooks/use-boundary-presence.ts +7 -5
  288. package/src/shared/components/boundary/hooks/use-initial-destination-measurement.ts +27 -11
  289. package/src/shared/components/boundary/hooks/use-initial-source-measurement.ts +5 -5
  290. package/src/shared/components/boundary/hooks/use-measurer.ts +11 -14
  291. package/src/shared/components/boundary/hooks/use-refresh-boundary.ts +5 -5
  292. package/src/shared/components/boundary/index.tsx +2 -2
  293. package/src/shared/components/boundary/portal/components/portal-boundary-host.tsx +10 -3
  294. package/src/shared/components/boundary/portal/components/portal-provider.tsx +5 -1
  295. package/src/shared/components/boundary/portal/components/portal.tsx +15 -10
  296. package/src/shared/components/boundary/portal/resolve-portal.ts +40 -0
  297. package/src/shared/components/boundary/portal/teleport.ts +21 -0
  298. package/src/shared/components/boundary/providers/{boundary-owner.provider.tsx → boundary-root.provider.tsx} +27 -32
  299. package/src/shared/components/boundary/utils/destination-signals.ts +53 -2
  300. package/src/shared/components/create-transition-aware-component.tsx +3 -25
  301. package/src/shared/components/overlay/variations/float-overlay.tsx +3 -3
  302. package/src/shared/components/screen-container/layers/backdrop.tsx +4 -17
  303. package/src/shared/components/screen-container/layers/content.tsx +4 -16
  304. package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +8 -18
  305. package/src/shared/components/screen-container/layers/surface-container.tsx +4 -17
  306. package/src/shared/hooks/navigation/use-stack.tsx +32 -1
  307. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/types.ts +1 -0
  308. package/src/shared/providers/screen/animation/helpers/pipeline.ts +253 -77
  309. package/src/shared/providers/screen/animation/helpers/stack-progress.ts +31 -16
  310. package/src/shared/providers/screen/animation/helpers/use-build-transition-state.ts +2 -0
  311. package/src/shared/providers/screen/screen-composer.tsx +3 -3
  312. package/src/shared/providers/screen/styles/helpers/opening-phase.ts +25 -0
  313. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +8 -10
  314. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +0 -1
  315. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.ts +0 -24
  316. package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +0 -12
  317. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +29 -37
  318. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +0 -18
  319. package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +17 -4
  320. package/src/shared/providers/screen/styles/index.tsx +8 -4
  321. package/src/shared/providers/screen/styles/slot.provider.tsx +111 -0
  322. package/src/shared/stores/animation.store.ts +3 -0
  323. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +17 -0
  324. package/src/shared/stores/bounds/types.ts +14 -0
  325. package/src/shared/utils/bounds/navigation/zoom/build.ts +9 -1
  326. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +96 -0
  327. package/src/shared/utils/logger.ts +12 -0
  328. package/lib/commonjs/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
  329. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -26
  330. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
  331. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js +0 -61
  332. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +0 -1
  333. package/lib/module/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
  334. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -21
  335. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
  336. package/lib/module/shared/providers/screen/styles/styles.provider.js +0 -53
  337. package/lib/module/shared/providers/screen/styles/styles.provider.js.map +0 -1
  338. package/lib/typescript/shared/components/boundary/providers/boundary-owner.provider.d.ts.map +0 -1
  339. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts +0 -3
  340. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts.map +0 -1
  341. package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts +0 -14
  342. package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts.map +0 -1
  343. package/src/shared/providers/screen/styles/helpers/preserve-animated-props-only.ts +0 -22
  344. package/src/shared/providers/screen/styles/styles.provider.tsx +0 -60
@@ -2,12 +2,11 @@
2
2
 
3
3
  import { memo, useCallback, useMemo } from "react";
4
4
  import { Pressable, StyleSheet } from "react-native";
5
- import Animated, { runOnUI, useAnimatedProps, useAnimatedStyle } from "react-native-reanimated";
5
+ import Animated, { runOnUI } from "react-native-reanimated";
6
6
  import { DefaultSnapSpec } from "../../../configs/specs";
7
- import { NO_PROPS, NO_STYLES } from "../../../constants";
8
7
  import { useNavigationHelpers } from "../../../hooks/navigation/use-navigation-helpers";
9
8
  import { useDescriptors } from "../../../providers/screen/descriptors";
10
- import { useScreenStyles } from "../../../providers/screen/styles";
9
+ import { useSlotProps, useSlotStyles } from "../../../providers/screen/styles";
11
10
  import { AnimationStore } from "../../../stores/animation.store";
12
11
  import { GestureStore } from "../../../stores/gesture.store";
13
12
  import { SystemStore } from "../../../stores/system.store";
@@ -18,9 +17,6 @@ export const BackdropLayer = /*#__PURE__*/memo(function BackdropLayer({
18
17
  backdropBehavior,
19
18
  isBackdropActive
20
19
  }) {
21
- const {
22
- stylesMap
23
- } = useScreenStyles();
24
20
  const {
25
21
  current
26
22
  } = useDescriptors();
@@ -84,16 +80,8 @@ export const BackdropLayer = /*#__PURE__*/memo(function BackdropLayer({
84
80
  })();
85
81
  }
86
82
  }, [animations, targetProgress, resolvedAutoSnapPoint, backdropBehavior, current, dismissScreen, routeKey]);
87
- const animatedBackdropStyle = useAnimatedStyle(() => {
88
- "worklet";
89
-
90
- return stylesMap.get().backdrop?.style ?? NO_STYLES;
91
- });
92
- const animatedBackdropProps = useAnimatedProps(() => {
93
- "worklet";
94
-
95
- return stylesMap.get().backdrop?.props ?? NO_PROPS;
96
- });
83
+ const animatedBackdropStyle = useSlotStyles("backdrop");
84
+ const animatedBackdropProps = useSlotProps("backdrop");
97
85
  return /*#__PURE__*/_jsxs(Pressable, {
98
86
  style: StyleSheet.absoluteFill,
99
87
  pointerEvents: isBackdropActive ? "auto" : "none",
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useMemo","Pressable","StyleSheet","Animated","runOnUI","useAnimatedProps","useAnimatedStyle","DefaultSnapSpec","NO_PROPS","NO_STYLES","useNavigationHelpers","useDescriptors","useScreenStyles","AnimationStore","GestureStore","SystemStore","animateToProgress","findCollapseTarget","jsx","_jsx","jsxs","_jsxs","BackdropLayer","backdropBehavior","isBackdropActive","stylesMap","current","dismissScreen","BackdropComponent","options","backdropComponent","routeKey","route","key","animations","getBag","targetProgress","resolvedAutoSnapPoint","AnimatedBackdropComponent","createAnimatedComponent","handleBackdropPress","rawSnapPoints","snapPoints","canDismiss","gestureEnabled","length","gestures","transitionSpec","resolvedSnaps","i","point","resolvedPoint","get","push","target","shouldDismiss","transitionProgress","dismissing","set","spec","open","expand","close","collapse","onAnimationFinish","undefined","animatedBackdropStyle","backdrop","style","animatedBackdropProps","props","absoluteFill","pointerEvents","onPress","children","animatedProps","View"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","useMemo","Pressable","StyleSheet","Animated","runOnUI","DefaultSnapSpec","useNavigationHelpers","useDescriptors","useSlotProps","useSlotStyles","AnimationStore","GestureStore","SystemStore","animateToProgress","findCollapseTarget","jsx","_jsx","jsxs","_jsxs","BackdropLayer","backdropBehavior","isBackdropActive","current","dismissScreen","BackdropComponent","options","backdropComponent","routeKey","route","key","animations","getBag","targetProgress","resolvedAutoSnapPoint","AnimatedBackdropComponent","createAnimatedComponent","handleBackdropPress","rawSnapPoints","snapPoints","canDismiss","gestureEnabled","length","gestures","transitionSpec","resolvedSnaps","i","point","resolvedPoint","get","push","target","shouldDismiss","transitionProgress","dismissing","set","spec","open","expand","close","collapse","onAnimationFinish","undefined","animatedBackdropStyle","animatedBackdropProps","style","absoluteFill","pointerEvents","onPress","children","animatedProps","View"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,12 +4,11 @@
4
4
  import { memo } from "react";
5
5
  import { StyleSheet, View } from "react-native";
6
6
  import { GestureDetector } from "react-native-gesture-handler";
7
- import Animated, { useAnimatedProps, useAnimatedStyle } from "react-native-reanimated";
8
- import { NO_PROPS, NO_STYLES } from "../../../constants";
7
+ import Animated from "react-native-reanimated";
9
8
  import { useDescriptors } from "../../../providers/screen/descriptors";
10
9
  import { useGestureContext } from "../../../providers/screen/gestures";
11
10
  import { OriginProvider } from "../../../providers/screen/origin.provider";
12
- import { useScreenStyles } from "../../../providers/screen/styles";
11
+ import { useSlotProps, useSlotStyles } from "../../../providers/screen/styles";
13
12
  import { ScreenFallbackHost } from "../../boundary/portal/components/host";
14
13
  import { useContentLayout } from "../hooks/use-content-layout";
15
14
  import { MaybeMaskedNavigationContainer } from "./maybe-masked-navigation-container";
@@ -20,9 +19,6 @@ export const ContentLayer = /*#__PURE__*/memo(({
20
19
  pointerEvents,
21
20
  isBackdropActive
22
21
  }) => {
23
- const {
24
- stylesMap
25
- } = useScreenStyles();
26
22
  const {
27
23
  current
28
24
  } = useDescriptors();
@@ -31,16 +27,8 @@ export const ContentLayer = /*#__PURE__*/memo(({
31
27
  const contentPointerEvents = isBackdropActive ? "box-none" : pointerEvents;
32
28
  const hasAutoSnapPoint = current.options.snapPoints?.includes("auto") ?? false;
33
29
  const handleContentLayout = useContentLayout();
34
- const animatedContentStyle = useAnimatedStyle(() => {
35
- "worklet";
36
-
37
- return stylesMap.get().content?.style || NO_STYLES;
38
- });
39
- const animatedContentProps = useAnimatedProps(() => {
40
- "worklet";
41
-
42
- return stylesMap.get().content?.props ?? NO_PROPS;
43
- });
30
+ const animatedContentStyle = useSlotStyles("content");
31
+ const animatedContentProps = useSlotProps("content");
44
32
  return /*#__PURE__*/_jsx(GestureDetector, {
45
33
  gesture: gestureContext.detectorGesture,
46
34
  children: /*#__PURE__*/_jsx(Animated.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["memo","StyleSheet","View","GestureDetector","Animated","useAnimatedProps","useAnimatedStyle","NO_PROPS","NO_STYLES","useDescriptors","useGestureContext","OriginProvider","useScreenStyles","ScreenFallbackHost","useContentLayout","MaybeMaskedNavigationContainer","SurfaceContainer","jsx","_jsx","jsxs","_jsxs","ContentLayer","children","pointerEvents","isBackdropActive","stylesMap","current","gestureContext","isNavigationMaskEnabled","options","navigationMaskEnabled","contentPointerEvents","hasAutoSnapPoint","snapPoints","includes","handleContentLayout","animatedContentStyle","get","content","style","animatedContentProps","props","gesture","detectorGesture","styles","animatedProps","enabled","collapsable","onLayout","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/content.tsx"],"mappings":";;AAAA;AACA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,gBAAgB,QACV,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;AACxD,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,iBAAiB,QAAQ,oCAAoC;AACtE,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,eAAe,QAAQ,kCAAkC;AAClE,SAASC,kBAAkB,QAAQ,uCAAuC;AAC1E,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,8BAA8B,QAAQ,qCAAqC;AACpF,SAASC,gBAAgB,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQvD,OAAO,MAAMC,YAAY,gBAAGrB,IAAI,CAC/B,CAAC;EAAEsB,QAAQ;EAAEC,aAAa;EAAEC;AAAwB,CAAC,KAAK;EACzD,MAAM;IAAEC;EAAU,CAAC,GAAGb,eAAe,CAAC,CAAC;EACvC,MAAM;IAAEc;EAAQ,CAAC,GAAGjB,cAAc,CAAC,CAAC;EAEpC,MAAMkB,cAAc,GAAGjB,iBAAiB,CAAC,CAAC;EAC1C,MAAMkB,uBAAuB,GAAG,CAAC,CAACF,OAAO,CAACG,OAAO,CAACC,qBAAqB;EACvE,MAAMC,oBAAoB,GAAGP,gBAAgB,GAAG,UAAU,GAAGD,aAAa;EAE1E,MAAMS,gBAAgB,GACrBN,OAAO,CAACG,OAAO,CAACI,UAAU,EAAEC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK;EAEtD,MAAMC,mBAAmB,GAAGrB,gBAAgB,CAAC,CAAC;EAE9C,MAAMsB,oBAAoB,GAAG9B,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOmB,SAAS,CAACY,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,KAAK,IAAI/B,SAAS;EACnD,CAAC,CAAC;EAEF,MAAMgC,oBAAoB,GAAGnC,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOoB,SAAS,CAACY,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEG,KAAK,IAAIlC,QAAQ;EAClD,CAAC,CAAC;EAEF,oBACCW,IAAA,CAACf,eAAe;IAACuC,OAAO,EAAEf,cAAc,CAAEgB,eAAgB;IAAArB,QAAA,eACzDJ,IAAA,CAACd,QAAQ,CAACF,IAAI;MACbqC,KAAK,EAAE,CAACK,MAAM,CAACN,OAAO,EAAEF,oBAAoB,CAAE;MAC9CS,aAAa,EAAEL,oBAAqB;MACpCjB,aAAa,EAAEQ,oBAAqB;MAAAT,QAAA,eAEpCJ,IAAA,CAACH,8BAA8B;QAC9BQ,aAAa,EAAEQ,oBAAqB;QACpCe,OAAO,EAAElB,uBAAwB;QAAAN,QAAA,eAEjCJ,IAAA,CAACF,gBAAgB;UAACO,aAAa,EAAEQ,oBAAqB;UAAAT,QAAA,eACrDF,KAAA,CAACT,cAAc;YAAAW,QAAA,GACbU,gBAAgB,gBAChBd,IAAA,CAAChB,IAAI;cAAC6C,WAAW,EAAE,KAAM;cAACC,QAAQ,EAAEb,mBAAoB;cAAAb,QAAA,EACtDA;YAAQ,CACJ,CAAC,GAEPA,QACA,eACDJ,IAAA,CAACL,kBAAkB,IAAE,CAAC;UAAA,CACP;QAAC,CACA;MAAC,CACY;IAAC,CACnB;EAAC,CACA,CAAC;AAEpB,CACD,CAAC;AAED,MAAM+B,MAAM,GAAG3C,UAAU,CAACgD,MAAM,CAAC;EAChCX,OAAO,EAAE;IACRY,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","StyleSheet","View","GestureDetector","Animated","useDescriptors","useGestureContext","OriginProvider","useSlotProps","useSlotStyles","ScreenFallbackHost","useContentLayout","MaybeMaskedNavigationContainer","SurfaceContainer","jsx","_jsx","jsxs","_jsxs","ContentLayer","children","pointerEvents","isBackdropActive","current","gestureContext","isNavigationMaskEnabled","options","navigationMaskEnabled","contentPointerEvents","hasAutoSnapPoint","snapPoints","includes","handleContentLayout","animatedContentStyle","animatedContentProps","gesture","detectorGesture","style","styles","content","animatedProps","enabled","collapsable","onLayout","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/content.tsx"],"mappings":";;AAAA;AACA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,iBAAiB,QAAQ,oCAAoC;AACtE,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,YAAY,EAAEC,aAAa,QAAQ,kCAAkC;AAC9E,SAASC,kBAAkB,QAAQ,uCAAuC;AAC1E,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,8BAA8B,QAAQ,qCAAqC;AACpF,SAASC,gBAAgB,QAAQ,qBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQvD,OAAO,MAAMC,YAAY,gBAAGlB,IAAI,CAC/B,CAAC;EAAEmB,QAAQ;EAAEC,aAAa;EAAEC;AAAwB,CAAC,KAAK;EACzD,MAAM;IAAEC;EAAQ,CAAC,GAAGjB,cAAc,CAAC,CAAC;EAEpC,MAAMkB,cAAc,GAAGjB,iBAAiB,CAAC,CAAC;EAC1C,MAAMkB,uBAAuB,GAAG,CAAC,CAACF,OAAO,CAACG,OAAO,CAACC,qBAAqB;EACvE,MAAMC,oBAAoB,GAAGN,gBAAgB,GAAG,UAAU,GAAGD,aAAa;EAE1E,MAAMQ,gBAAgB,GACrBN,OAAO,CAACG,OAAO,CAACI,UAAU,EAAEC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK;EAEtD,MAAMC,mBAAmB,GAAGpB,gBAAgB,CAAC,CAAC;EAE9C,MAAMqB,oBAAoB,GAAGvB,aAAa,CAAC,SAAS,CAAC;EACrD,MAAMwB,oBAAoB,GAAGzB,YAAY,CAAC,SAAS,CAAC;EAEpD,oBACCO,IAAA,CAACZ,eAAe;IAAC+B,OAAO,EAAEX,cAAc,CAAEY,eAAgB;IAAAhB,QAAA,eACzDJ,IAAA,CAACX,QAAQ,CAACF,IAAI;MACbkC,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEN,oBAAoB,CAAE;MAC9CO,aAAa,EAAEN,oBAAqB;MACpCb,aAAa,EAAEO,oBAAqB;MAAAR,QAAA,eAEpCJ,IAAA,CAACH,8BAA8B;QAC9BQ,aAAa,EAAEO,oBAAqB;QACpCa,OAAO,EAAEhB,uBAAwB;QAAAL,QAAA,eAEjCJ,IAAA,CAACF,gBAAgB;UAACO,aAAa,EAAEO,oBAAqB;UAAAR,QAAA,eACrDF,KAAA,CAACV,cAAc;YAAAY,QAAA,GACbS,gBAAgB,gBAChBb,IAAA,CAACb,IAAI;cAACuC,WAAW,EAAE,KAAM;cAACC,QAAQ,EAAEX,mBAAoB;cAAAZ,QAAA,EACtDA;YAAQ,CACJ,CAAC,GAEPA,QACA,eACDJ,IAAA,CAACL,kBAAkB,IAAE,CAAC;UAAA,CACP;QAAC,CACA;MAAC,CACY;IAAC,CACnB;EAAC,CACA,CAAC;AAEpB,CACD,CAAC;AAED,MAAM2B,MAAM,GAAGpC,UAAU,CAAC0C,MAAM,CAAC;EAChCL,OAAO,EAAE;IACRM,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -2,9 +2,9 @@
2
2
 
3
3
  import { memo, useCallback } from "react";
4
4
  import { StyleSheet, View } from "react-native";
5
- import Animated, { useAnimatedStyle } from "react-native-reanimated";
6
- import { NAVIGATION_MASK_CONTAINER_STYLE_ID, NAVIGATION_MASK_ELEMENT_STYLE_ID, NO_STYLES } from "../../../constants";
7
- import { useScreenStyles } from "../../../providers/screen/styles";
5
+ import Animated from "react-native-reanimated";
6
+ import { NAVIGATION_MASK_CONTAINER_STYLE_ID, NAVIGATION_MASK_ELEMENT_STYLE_ID } from "../../../constants";
7
+ import { useSlotStyles } from "../../../providers/screen/styles";
8
8
  import { logger } from "../../../utils/logger";
9
9
  import { jsx as _jsx } from "react/jsx-runtime";
10
10
  let LazyMaskedView = View;
@@ -31,25 +31,14 @@ const MaskedNavigationContainer = /*#__PURE__*/memo(({
31
31
  children,
32
32
  pointerEvents
33
33
  }) => {
34
- const {
35
- stylesMap
36
- } = useScreenStyles();
37
34
  const maybeLogWarning = useCallback(() => {
38
35
  if (LazyMaskedView !== View) return;
39
36
  if (hasWarnedMissingMaskedView) return;
40
37
  hasWarnedMissingMaskedView = true;
41
38
  logger.warn("navigationMaskEnabled requires @react-native-masked-view/masked-view. Install it to enable navigation bounds masking.");
42
39
  }, []);
43
- const animatedNavigationMaskStyle = useAnimatedStyle(() => {
44
- "worklet";
45
-
46
- return stylesMap.get()[NAVIGATION_MASK_ELEMENT_STYLE_ID]?.style || NO_STYLES;
47
- });
48
- const animatedNavigationMaskContainerStyle = useAnimatedStyle(() => {
49
- "worklet";
50
-
51
- return stylesMap.get()[NAVIGATION_MASK_CONTAINER_STYLE_ID]?.style || NO_STYLES;
52
- });
40
+ const animatedNavigationMaskStyle = useSlotStyles(NAVIGATION_MASK_ELEMENT_STYLE_ID);
41
+ const animatedNavigationMaskContainerStyle = useSlotStyles(NAVIGATION_MASK_CONTAINER_STYLE_ID);
53
42
  return /*#__PURE__*/_jsx(LazyMaskedView, {
54
43
  style: styles.navigationMaskedRoot
55
44
  // @ts-expect-error masked-view package types are too strict here
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","StyleSheet","View","Animated","useAnimatedStyle","NAVIGATION_MASK_CONTAINER_STYLE_ID","NAVIGATION_MASK_ELEMENT_STYLE_ID","NO_STYLES","useScreenStyles","logger","jsx","_jsx","LazyMaskedView","require","default","_","hasWarnedMissingMaskedView","MaybeMaskedNavigationContainer","enabled","children","pointerEvents","MaskedNavigationContainer","stylesMap","maybeLogWarning","warn","animatedNavigationMaskStyle","get","style","animatedNavigationMaskContainerStyle","styles","navigationMaskedRoot","maskElement","navigationMaskElement","onLayout","navigationContainer","collapsable","create","flex","backgroundColor"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/maybe-masked-navigation-container.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/D,OAAOC,QAAQ,IAAIC,gBAAgB,QAAQ,yBAAyB;AACpE,SACCC,kCAAkC,EAClCC,gCAAgC,EAChCC,SAAS,QACH,oBAAoB;AAC3B,SAASC,eAAe,QAAQ,kCAAkC;AAClE,SAASC,MAAM,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ/C,IAAIC,cAAc,GAAGV,IAAI;AAEzB,IAAI;EACHU,cAAc,GAAGC,OAAO,CAAC,uCAAuC,CAAC,CAACC,OAAO;AAC1E,CAAC,CAAC,OAAOC,CAAC,EAAE;EACX;AAAA;AAGD,IAAIC,0BAA0B,GAAG,KAAK;AAEtC,OAAO,MAAMC,8BAA8B,gBAAGlB,IAAI,CACjD,CAAC;EAAEmB,OAAO;EAAEC,QAAQ;EAAEC;AAAqB,CAAC,KAAK;EAChD,IAAI,CAACF,OAAO,IAAIN,cAAc,KAAKV,IAAI,EAAE;IACxC,OAAOiB,QAAQ;EAChB;EAEA,oBACCR,IAAA,CAACU,yBAAyB;IAACD,aAAa,EAAEA,aAAc;IAAAD,QAAA,EACtDA;EAAQ,CACiB,CAAC;AAE9B,CACD,CAAC;AAED,MAAME,yBAAyB,gBAAGtB,IAAI,CACrC,CAAC;EACAoB,QAAQ;EACRC;AAID,CAAC,KAAK;EACL,MAAM;IAAEE;EAAU,CAAC,GAAGd,eAAe,CAAC,CAAC;EAEvC,MAAMe,eAAe,GAAGvB,WAAW,CAAC,MAAM;IACzC,IAAIY,cAAc,KAAKV,IAAI,EAAE;IAC7B,IAAIc,0BAA0B,EAAE;IAEhCA,0BAA0B,GAAG,IAAI;IACjCP,MAAM,CAACe,IAAI,CACV,uHACD,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,2BAA2B,GAAGrB,gBAAgB,CAAC,MAAM;IAC1D,SAAS;;IACT,OACCkB,SAAS,CAACI,GAAG,CAAC,CAAC,CAACpB,gCAAgC,CAAC,EAAEqB,KAAK,IAAIpB,SAAS;EAEvE,CAAC,CAAC;EAEF,MAAMqB,oCAAoC,GAAGxB,gBAAgB,CAAC,MAAM;IACnE,SAAS;;IACT,OACCkB,SAAS,CAACI,GAAG,CAAC,CAAC,CAACrB,kCAAkC,CAAC,EAAEsB,KAAK,IAAIpB,SAAS;EAEzE,CAAC,CAAC;EAEF,oBACCI,IAAA,CAACC,cAAc;IACde,KAAK,EAAEE,MAAM,CAACC;IACd;IAAA;IACAC,WAAW,eACVpB,IAAA,CAACR,QAAQ,CAACD,IAAI;MACbyB,KAAK,EAAE,CAACE,MAAM,CAACG,qBAAqB,EAAEP,2BAA2B,CAAE;MACnEL,aAAa,EAAC;IAAM,CACpB,CACD;IACDA,aAAa,EAAEA,aAAc;IAC7Ba,QAAQ,EAAEV,eAAgB;IAAAJ,QAAA,eAE1BR,IAAA,CAACR,QAAQ,CAACD,IAAI;MACbyB,KAAK,EAAE,CACNE,MAAM,CAACK,mBAAmB,EAC1BN,oCAAoC,CACnC;MACFO,WAAW,EAAE,KAAM;MAAAhB,QAAA,EAElBA;IAAQ,CACK;EAAC,CACD,CAAC;AAEnB,CACD,CAAC;AAED,MAAMU,MAAM,GAAG5B,UAAU,CAACmC,MAAM,CAAC;EAChCN,oBAAoB,EAAE;IACrBO,IAAI,EAAE;EACP,CAAC;EACDH,mBAAmB,EAAE;IACpBG,IAAI,EAAE;EACP,CAAC;EACDL,qBAAqB,EAAE;IACtBM,eAAe,EAAE;EAClB;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","StyleSheet","View","Animated","NAVIGATION_MASK_CONTAINER_STYLE_ID","NAVIGATION_MASK_ELEMENT_STYLE_ID","useSlotStyles","logger","jsx","_jsx","LazyMaskedView","require","default","_","hasWarnedMissingMaskedView","MaybeMaskedNavigationContainer","enabled","children","pointerEvents","MaskedNavigationContainer","maybeLogWarning","warn","animatedNavigationMaskStyle","animatedNavigationMaskContainerStyle","style","styles","navigationMaskedRoot","maskElement","navigationMaskElement","onLayout","navigationContainer","collapsable","create","flex","backgroundColor"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/maybe-masked-navigation-container.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,WAAW,QAAQ,OAAO;AACzC,SAASC,UAAU,EAAEC,IAAI,QAAwB,cAAc;AAC/D,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SACCC,kCAAkC,EAClCC,gCAAgC,QAC1B,oBAAoB;AAC3B,SAASC,aAAa,QAAQ,kCAAkC;AAChE,SAASC,MAAM,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQ/C,IAAIC,cAAc,GAAGR,IAAI;AAEzB,IAAI;EACHQ,cAAc,GAAGC,OAAO,CAAC,uCAAuC,CAAC,CAACC,OAAO;AAC1E,CAAC,CAAC,OAAOC,CAAC,EAAE;EACX;AAAA;AAGD,IAAIC,0BAA0B,GAAG,KAAK;AAEtC,OAAO,MAAMC,8BAA8B,gBAAGhB,IAAI,CACjD,CAAC;EAAEiB,OAAO;EAAEC,QAAQ;EAAEC;AAAqB,CAAC,KAAK;EAChD,IAAI,CAACF,OAAO,IAAIN,cAAc,KAAKR,IAAI,EAAE;IACxC,OAAOe,QAAQ;EAChB;EAEA,oBACCR,IAAA,CAACU,yBAAyB;IAACD,aAAa,EAAEA,aAAc;IAAAD,QAAA,EACtDA;EAAQ,CACiB,CAAC;AAE9B,CACD,CAAC;AAED,MAAME,yBAAyB,gBAAGpB,IAAI,CACrC,CAAC;EACAkB,QAAQ;EACRC;AAID,CAAC,KAAK;EACL,MAAME,eAAe,GAAGpB,WAAW,CAAC,MAAM;IACzC,IAAIU,cAAc,KAAKR,IAAI,EAAE;IAC7B,IAAIY,0BAA0B,EAAE;IAEhCA,0BAA0B,GAAG,IAAI;IACjCP,MAAM,CAACc,IAAI,CACV,uHACD,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,2BAA2B,GAAGhB,aAAa,CAChDD,gCACD,CAAC;EACD,MAAMkB,oCAAoC,GAAGjB,aAAa,CACzDF,kCACD,CAAC;EAED,oBACCK,IAAA,CAACC,cAAc;IACdc,KAAK,EAAEC,MAAM,CAACC;IACd;IAAA;IACAC,WAAW,eACVlB,IAAA,CAACN,QAAQ,CAACD,IAAI;MACbsB,KAAK,EAAE,CAACC,MAAM,CAACG,qBAAqB,EAAEN,2BAA2B,CAAE;MACnEJ,aAAa,EAAC;IAAM,CACpB,CACD;IACDA,aAAa,EAAEA,aAAc;IAC7BW,QAAQ,EAAET,eAAgB;IAAAH,QAAA,eAE1BR,IAAA,CAACN,QAAQ,CAACD,IAAI;MACbsB,KAAK,EAAE,CACNC,MAAM,CAACK,mBAAmB,EAC1BP,oCAAoC,CACnC;MACFQ,WAAW,EAAE,KAAM;MAAAd,QAAA,EAElBA;IAAQ,CACK;EAAC,CACD,CAAC;AAEnB,CACD,CAAC;AAED,MAAMQ,MAAM,GAAGxB,UAAU,CAAC+B,MAAM,CAAC;EAChCN,oBAAoB,EAAE;IACrBO,IAAI,EAAE;EACP,CAAC;EACDH,mBAAmB,EAAE;IACpBG,IAAI,EAAE;EACP,CAAC;EACDL,qBAAqB,EAAE;IACtBM,eAAe,EAAE;EAClB;AACD,CAAC,CAAC","ignoreList":[]}
@@ -2,10 +2,9 @@
2
2
 
3
3
  import { memo, useMemo } from "react";
4
4
  import { StyleSheet } from "react-native";
5
- import Animated, { useAnimatedProps, useAnimatedStyle } from "react-native-reanimated";
6
- import { NO_PROPS, NO_STYLES } from "../../../constants";
5
+ import Animated from "react-native-reanimated";
7
6
  import { useDescriptors } from "../../../providers/screen/descriptors";
8
- import { useScreenStyles } from "../../../providers/screen/styles";
7
+ import { useSlotProps, useSlotStyles } from "../../../providers/screen/styles";
9
8
  import { jsx as _jsx } from "react/jsx-runtime";
10
9
  export const SurfaceContainer = /*#__PURE__*/memo(({
11
10
  children,
@@ -30,19 +29,8 @@ const AnimatedSurface = /*#__PURE__*/memo(({
30
29
  pointerEvents,
31
30
  SurfaceComponent
32
31
  }) => {
33
- const {
34
- stylesMap
35
- } = useScreenStyles();
36
- const animatedSurfaceStyle = useAnimatedStyle(() => {
37
- "worklet";
38
-
39
- return stylesMap.get().surface?.style ?? NO_STYLES;
40
- });
41
- const animatedSurfaceProps = useAnimatedProps(() => {
42
- "worklet";
43
-
44
- return stylesMap.get().surface?.props ?? NO_PROPS;
45
- });
32
+ const animatedSurfaceStyle = useSlotStyles("surface");
33
+ const animatedSurfaceProps = useSlotProps("surface");
46
34
  return /*#__PURE__*/_jsx(SurfaceComponent, {
47
35
  style: [styles.surface, animatedSurfaceStyle],
48
36
  animatedProps: animatedSurfaceProps,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","StyleSheet","Animated","useAnimatedProps","useAnimatedStyle","NO_PROPS","NO_STYLES","useDescriptors","useScreenStyles","jsx","_jsx","SurfaceContainer","children","pointerEvents","current","SurfaceComponent","options","surfaceComponent","AnimatedSurfaceComponent","createAnimatedComponent","AnimatedSurface","stylesMap","animatedSurfaceStyle","get","surface","style","animatedSurfaceProps","props","styles","animatedProps","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/surface-container.tsx"],"mappings":";;AAAA,SAA6BA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACzD,SAASC,UAAU,QAAwB,cAAc;AACzD,OAAOC,QAAQ,IACdC,gBAAgB,EAChBC,gBAAgB,QACV,yBAAyB;AAChC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;AACxD,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,eAAe,QAAQ,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOnE,OAAO,MAAMC,gBAAgB,gBAAGZ,IAAI,CAAC,CAAC;EAAEa,QAAQ;EAAEC;AAAqB,CAAC,KAAK;EAC5E,MAAM;IAAEC;EAAQ,CAAC,GAAGP,cAAc,CAAC,CAAC;EAEpC,MAAMQ,gBAAgB,GAAGD,OAAO,CAACE,OAAO,CAACC,gBAAgB;EAEzD,MAAMC,wBAAwB,GAAGlB,OAAO,CAA4B,MAAM;IACzE,OAAOe,gBAAgB,GACpBb,QAAQ,CAACiB,uBAAuB,CAACJ,gBAAgB,CAAC,GAClD,IAAI;EACR,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtB,IAAI,CAACG,wBAAwB,EAAE,OAAON,QAAQ;EAE9C,oBACCF,IAAA,CAACU,eAAe;IACfL,gBAAgB,EAAEG,wBAAyB;IAC3CL,aAAa,EAAEA,aAAc;IAAAD,QAAA,EAE5BA;EAAQ,CACO,CAAC;AAEpB,CAAC,CAAC;AAQF,MAAMQ,eAAe,gBAAGrB,IAAI,CAC3B,CAAC;EAAEa,QAAQ;EAAEC,aAAa;EAAEE;AAAuC,CAAC,KAAK;EACxE,MAAM;IAAEM;EAAU,CAAC,GAAGb,eAAe,CAAC,CAAC;EAEvC,MAAMc,oBAAoB,GAAGlB,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOiB,SAAS,CAACE,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEC,KAAK,IAAInB,SAAS;EACnD,CAAC,CAAC;EAEF,MAAMoB,oBAAoB,GAAGvB,gBAAgB,CAAC,MAAM;IACnD,SAAS;;IACT,OAAOkB,SAAS,CAACE,GAAG,CAAC,CAAC,CAACC,OAAO,EAAEG,KAAK,IAAItB,QAAQ;EAClD,CAAC,CAAC;EAEF,oBACCK,IAAA,CAACK,gBAAgB;IAChBU,KAAK,EAAE,CAACG,MAAM,CAACJ,OAAO,EAAEF,oBAAoB,CAAE;IAC9CO,aAAa,EAAEH,oBAAqB;IACpCb,aAAa,EAAEA,aAAc;IAAAD,QAAA,EAE5BA;EAAQ,CACQ,CAAC;AAErB,CACD,CAAC;AAED,MAAMgB,MAAM,GAAG3B,UAAU,CAAC6B,MAAM,CAAC;EAChCN,OAAO,EAAE;IACRO,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","useMemo","StyleSheet","Animated","useDescriptors","useSlotProps","useSlotStyles","jsx","_jsx","SurfaceContainer","children","pointerEvents","current","SurfaceComponent","options","surfaceComponent","AnimatedSurfaceComponent","createAnimatedComponent","AnimatedSurface","animatedSurfaceStyle","animatedSurfaceProps","style","styles","surface","animatedProps","create","flex"],"sourceRoot":"../../../../../../src","sources":["shared/components/screen-container/layers/surface-container.tsx"],"mappings":";;AAAA,SAA6BA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACzD,SAASC,UAAU,QAAwB,cAAc;AACzD,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,cAAc,QAAQ,uCAAuC;AACtE,SAASC,YAAY,EAAEC,aAAa,QAAQ,kCAAkC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO/E,OAAO,MAAMC,gBAAgB,gBAAGT,IAAI,CAAC,CAAC;EAAEU,QAAQ;EAAEC;AAAqB,CAAC,KAAK;EAC5E,MAAM;IAAEC;EAAQ,CAAC,GAAGR,cAAc,CAAC,CAAC;EAEpC,MAAMS,gBAAgB,GAAGD,OAAO,CAACE,OAAO,CAACC,gBAAgB;EAEzD,MAAMC,wBAAwB,GAAGf,OAAO,CAA4B,MAAM;IACzE,OAAOY,gBAAgB,GACpBV,QAAQ,CAACc,uBAAuB,CAACJ,gBAAgB,CAAC,GAClD,IAAI;EACR,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtB,IAAI,CAACG,wBAAwB,EAAE,OAAON,QAAQ;EAE9C,oBACCF,IAAA,CAACU,eAAe;IACfL,gBAAgB,EAAEG,wBAAyB;IAC3CL,aAAa,EAAEA,aAAc;IAAAD,QAAA,EAE5BA;EAAQ,CACO,CAAC;AAEpB,CAAC,CAAC;AAQF,MAAMQ,eAAe,gBAAGlB,IAAI,CAC3B,CAAC;EAAEU,QAAQ;EAAEC,aAAa;EAAEE;AAAuC,CAAC,KAAK;EACxE,MAAMM,oBAAoB,GAAGb,aAAa,CAAC,SAAS,CAAC;EACrD,MAAMc,oBAAoB,GAAGf,YAAY,CAAC,SAAS,CAAC;EAEpD,oBACCG,IAAA,CAACK,gBAAgB;IAChBQ,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAEJ,oBAAoB,CAAE;IAC9CK,aAAa,EAAEJ,oBAAqB;IACpCT,aAAa,EAAEA,aAAc;IAAAD,QAAA,EAE5BA;EAAQ,CACQ,CAAC;AAErB,CACD,CAAC;AAED,MAAMY,MAAM,GAAGpB,UAAU,CAACuB,MAAM,CAAC;EAChCF,OAAO,EAAE;IACRG,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import { createContext, useCallback, useContext, useLayoutEffect, useRef, useSyncExternalStore } from "react";
4
- import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createContext, useCallback, useContext, useLayoutEffect, useMemo, useRef, useSyncExternalStore } from "react";
4
+ import { useDerivedValue } from "react-native-reanimated";
5
+ import { syncStackProgressValues } from "../../providers/screen/animation/helpers/stack-progress";
6
+ import { AnimationStore } from "../../stores/animation.store";
7
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
8
  const createStackStore = initialSnapshot => {
6
9
  let snapshot = initialSnapshot;
7
10
  const listeners = new Set();
@@ -29,6 +32,16 @@ const createStackStore = initialSnapshot => {
29
32
  };
30
33
  const StackContext = /*#__PURE__*/createContext(null);
31
34
  StackContext.displayName = "Stack";
35
+ function StackProgressOwner({
36
+ routeKeys
37
+ }) {
38
+ const visualProgressValues = useMemo(() => routeKeys.map(routeKey => AnimationStore.getValue(routeKey, "visualProgress")), [routeKeys]);
39
+ const stackProgressValues = useMemo(() => routeKeys.map(routeKey => AnimationStore.getValue(routeKey, "stackProgress")), [routeKeys]);
40
+ useDerivedValue(() => {
41
+ syncStackProgressValues(visualProgressValues, stackProgressValues);
42
+ });
43
+ return null;
44
+ }
32
45
  export function StackProvider({
33
46
  children,
34
47
  value
@@ -48,9 +61,11 @@ export function StackProvider({
48
61
  pendingNotifyRef.current = false;
49
62
  store.notify();
50
63
  });
51
- return /*#__PURE__*/_jsx(StackContext.Provider, {
64
+ return /*#__PURE__*/_jsxs(StackContext.Provider, {
52
65
  value: store,
53
- children: children
66
+ children: [/*#__PURE__*/_jsx(StackProgressOwner, {
67
+ routeKeys: value.routeKeys
68
+ }), children]
54
69
  });
55
70
  }
56
71
  function useStackStore() {
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","useCallback","useContext","useLayoutEffect","useRef","useSyncExternalStore","jsx","_jsx","createStackStore","initialSnapshot","snapshot","listeners","Set","getSnapshot","notify","listener","setSnapshot","nextSnapshot","Object","is","subscribe","add","delete","StackContext","displayName","StackProvider","children","value","storeRef","pendingNotifyRef","store","current","Provider","useStackStore","Error","useStack","selector","selectorRef","stack","getSelectedSnapshot"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-stack.tsx"],"mappings":";;AACA,SACCA,aAAa,EAEbC,WAAW,EACXC,UAAU,EACVC,eAAe,EACfC,MAAM,EACNC,oBAAoB,QACd,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AA+Cf,MAAMC,gBAAgB,GACrBC,eAAkC,IACR;EAC1B,IAAIC,QAAQ,GAAGD,eAAe;EAC9B,MAAME,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;EAEvC,OAAO;IACNC,WAAW,EAAEA,CAAA,KAAMH,QAAQ;IAC3BI,MAAM,EAAEA,CAAA,KAAM;MACb,KAAK,MAAMC,QAAQ,IAAIJ,SAAS,EAAE;QACjCI,QAAQ,CAAC,CAAC;MACX;IACD,CAAC;IACDC,WAAW,EAAGC,YAAY,IAAK;MAC9B,IAAIC,MAAM,CAACC,EAAE,CAACT,QAAQ,EAAEO,YAAY,CAAC,EAAE;QACtC,OAAO,KAAK;MACb;MAEAP,QAAQ,GAAGO,YAAY;MACvB,OAAO,IAAI;IACZ,CAAC;IACDG,SAAS,EAAGL,QAAQ,IAAK;MACxBJ,SAAS,CAACU,GAAG,CAACN,QAAQ,CAAC;MACvB,OAAO,MAAM;QACZJ,SAAS,CAACW,MAAM,CAACP,QAAQ,CAAC;MAC3B,CAAC;IACF;EACD,CAAC;AACF,CAAC;AAED,MAAMQ,YAAY,gBAAGvB,aAAa,CAAuB,IAAI,CAAC;AAC9DuB,YAAY,CAACC,WAAW,GAAG,OAAO;AAElC,OAAO,SAASC,aAAaA,CAAC;EAC7BC,QAAQ;EACRC;AAID,CAAC,EAAE;EACF,MAAMC,QAAQ,GAAGxB,MAAM,CAA8B,IAAI,CAAC;EAC1D,MAAMyB,gBAAgB,GAAGzB,MAAM,CAAC,KAAK,CAAC;EAEtC,IAAI0B,KAAK,GAAGF,QAAQ,CAACG,OAAO;EAC5B,IAAI,CAACD,KAAK,EAAE;IACXA,KAAK,GAAGtB,gBAAgB,CAACmB,KAAK,CAAC;IAC/BC,QAAQ,CAACG,OAAO,GAAGD,KAAK;EACzB;EAEAD,gBAAgB,CAACE,OAAO,GACvBD,KAAK,CAACd,WAAW,CAACW,KAAK,CAAC,IAAIE,gBAAgB,CAACE,OAAO;EAErD5B,eAAe,CAAC,MAAM;IACrB,IAAI,CAAC0B,gBAAgB,CAACE,OAAO,EAAE;MAC9B;IACD;IAEAF,gBAAgB,CAACE,OAAO,GAAG,KAAK;IAChCD,KAAK,CAAChB,MAAM,CAAC,CAAC;EACf,CAAC,CAAC;EAEF,oBACCP,IAAA,CAACgB,YAAY,CAACS,QAAQ;IAACL,KAAK,EAAEG,KAAM;IAAAJ,QAAA,EAAEA;EAAQ,CAAwB,CAAC;AAEzE;AAEA,SAASO,aAAaA,CAAA,EAAkB;EACvC,MAAMH,KAAK,GAAG5B,UAAU,CAACqB,YAAY,CAAC;EAEtC,IAAIO,KAAK,KAAK,IAAI,EAAE;IACnB,MAAM,IAAII,KAAK,CAAC,+CAA+C,CAAC;EACjE;EAEA,OAAOJ,KAAK;AACb;AAIA,OAAO,SAASK,QAAQA,CACvBC,QAA2B,EACH;EACxB,MAAMN,KAAK,GAAGG,aAAa,CAAC,CAAC;EAC7B,MAAMI,WAAW,GAAGjC,MAAM,CACzBgC,QAAQ,KAAME,KAAK,IAAKA,KAAK,CAC9B,CAAC;EACDD,WAAW,CAACN,OAAO,GAAGK,QAAQ,KAAME,KAAK,IAAKA,KAAK,CAAC;EAEpD,MAAMC,mBAAmB,GAAGtC,WAAW,CACtC,MAAMoC,WAAW,CAACN,OAAO,CAACD,KAAK,CAACjB,WAAW,CAAC,CAAC,CAAC,EAC9C,CAACiB,KAAK,CACP,CAAC;EAED,OAAOzB,oBAAoB,CAC1ByB,KAAK,CAACV,SAAS,EACfmB,mBAAmB,EACnBA,mBACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createContext","useCallback","useContext","useLayoutEffect","useMemo","useRef","useSyncExternalStore","useDerivedValue","syncStackProgressValues","AnimationStore","jsx","_jsx","jsxs","_jsxs","createStackStore","initialSnapshot","snapshot","listeners","Set","getSnapshot","notify","listener","setSnapshot","nextSnapshot","Object","is","subscribe","add","delete","StackContext","displayName","StackProgressOwner","routeKeys","visualProgressValues","map","routeKey","getValue","stackProgressValues","StackProvider","children","value","storeRef","pendingNotifyRef","store","current","Provider","useStackStore","Error","useStack","selector","selectorRef","stack","getSelectedSnapshot"],"sourceRoot":"../../../../../src","sources":["shared/hooks/navigation/use-stack.tsx"],"mappings":"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","ignoreList":[]}
@@ -4,28 +4,110 @@ import { useMemo } from "react";
4
4
  import { useWindowDimensions } from "react-native";
5
5
  import { useDerivedValue, useSharedValue } from "react-native-reanimated";
6
6
  import { useSafeAreaInsets } from "react-native-safe-area-context";
7
- import { DEFAULT_SCREEN_TRANSITION_STATE } from "../../../../constants";
7
+ import { createScreenTransitionState, DEFAULT_SCREEN_TRANSITION_STATE } from "../../../../constants";
8
8
  import { useStack } from "../../../../hooks/navigation/use-stack";
9
- import { AnimationStore } from "../../../../stores/animation.store";
10
9
  import { useDescriptors } from "../../descriptors";
10
+ import { buildScreenTransitionOptions } from "./build-screen-transition-options";
11
11
  import { updateDerivations } from "./derivations";
12
12
  import { hasTransitionsEnabled } from "./has-transitions-enabled";
13
13
  import { hydrateTransitionState } from "./hydrate-transition-state";
14
- import { deriveStackProgress } from "./stack-progress";
14
+ import { resolveStackProgress } from "./stack-progress";
15
15
  import { useBuildTransitionState } from "./use-build-transition-state";
16
- const createInitialBaseInterpolatorProps = (dimensions, insets) => {
17
- const current = {
18
- ...DEFAULT_SCREEN_TRANSITION_STATE,
19
- layouts: {
20
- screen: dimensions
21
- }
22
- };
23
- return {
16
+ import { toPlainRoute, toPlainValue } from "./worklet";
17
+ const getInitialSettledProgress = descriptor => {
18
+ const {
19
+ snapPoints,
20
+ initialSnapIndex = 0
21
+ } = descriptor.options;
22
+ if (!snapPoints?.length) {
23
+ return 1;
24
+ }
25
+ const clampedIndex = Math.min(Math.max(0, initialSnapIndex), snapPoints.length - 1);
26
+ const snapPoint = snapPoints[clampedIndex];
27
+ return typeof snapPoint === "number" ? snapPoint : 0;
28
+ };
29
+ const applyInitialProgress = ({
30
+ state,
31
+ dimensions,
32
+ progress,
33
+ entering = 0,
34
+ closing = 0,
35
+ animating = 0,
36
+ willAnimate = 0,
37
+ settled = entering || closing || animating ? 0 : 1
38
+ }) => {
39
+ state.progress = progress;
40
+ state.transitionProgress = progress;
41
+ state.entering = entering;
42
+ state.closing = closing;
43
+ state.animating = animating;
44
+ state.willAnimate = willAnimate;
45
+ state.settled = settled;
46
+ state.logicallySettled = settled;
47
+ state.layouts.screen = dimensions;
48
+ return state;
49
+ };
50
+ const createInitialTransitionState = ({
51
+ descriptor,
52
+ dimensions,
53
+ progress,
54
+ entering,
55
+ animating,
56
+ willAnimate,
57
+ settled
58
+ }) => {
59
+ const meta = descriptor.options.meta ? toPlainValue(descriptor.options.meta) : undefined;
60
+ const state = createScreenTransitionState(toPlainRoute(descriptor.route), meta, buildScreenTransitionOptions(descriptor.options));
61
+ return applyInitialProgress({
62
+ state,
63
+ dimensions,
64
+ progress,
65
+ entering,
66
+ animating,
67
+ willAnimate,
68
+ settled
69
+ });
70
+ };
71
+ const createInitialInterpolatorProps = ({
72
+ dimensions,
73
+ insets,
74
+ currentDescriptor,
75
+ nextDescriptor,
76
+ prevDescriptor
77
+ }) => {
78
+ const hasIncomingNext = !!nextDescriptor;
79
+ const isFocusedEntering = !!prevDescriptor && !nextDescriptor;
80
+ const shouldAnimateInitialMount = !prevDescriptor && !nextDescriptor && !!currentDescriptor.options.experimental_animateOnInitialMount;
81
+ const currentProgress = hasIncomingNext || !isFocusedEntering && !shouldAnimateInitialMount ? getInitialSettledProgress(currentDescriptor) : 0;
82
+ const currentEntering = isFocusedEntering || shouldAnimateInitialMount ? 1 : 0;
83
+ const current = createInitialTransitionState({
84
+ descriptor: currentDescriptor,
85
+ dimensions,
86
+ progress: currentProgress,
87
+ entering: currentEntering,
88
+ animating: currentEntering,
89
+ willAnimate: currentEntering
90
+ });
91
+ const previous = prevDescriptor ? createInitialTransitionState({
92
+ descriptor: prevDescriptor,
93
+ dimensions,
94
+ progress: getInitialSettledProgress(prevDescriptor)
95
+ }) : undefined;
96
+ const next = nextDescriptor ? createInitialTransitionState({
97
+ descriptor: nextDescriptor,
98
+ dimensions,
99
+ progress: 0,
100
+ entering: 1,
101
+ animating: 1,
102
+ willAnimate: 1,
103
+ settled: 0
104
+ }) : undefined;
105
+ const frame = {
24
106
  layouts: current.layouts,
25
107
  insets,
26
- previous: undefined,
108
+ previous,
27
109
  current,
28
- next: undefined,
110
+ next,
29
111
  progress: 0,
30
112
  stackProgress: 0,
31
113
  logicallySettled: 1,
@@ -33,15 +115,41 @@ const createInitialBaseInterpolatorProps = (dimensions, insets) => {
33
115
  active: current,
34
116
  inactive: undefined
35
117
  };
118
+ updateDerivations(frame);
119
+ frame.stackProgress = frame.progress;
120
+ frame.logicallySettled = frame.active.settled;
121
+ return frame;
122
+ };
123
+ const hydrateInterpolatorFrame = ({
124
+ frame,
125
+ dimensions,
126
+ insets,
127
+ currentAnimation,
128
+ nextAnimation,
129
+ prevAnimation,
130
+ nextHasTransitions,
131
+ interpolatorOptions
132
+ }) => {
133
+ "worklet";
134
+
135
+ const shouldApplyOptionsToCurrent = interpolatorOptions.owner === "current";
136
+ const shouldApplyOptionsToNext = interpolatorOptions.owner === "next" && !!nextAnimation && nextHasTransitions;
137
+ const previousCurrentProgress = currentAnimation?.visualProgress.get();
138
+ const previousNextProgress = nextAnimation && nextHasTransitions ? nextAnimation.visualProgress.get() : undefined;
139
+ frame.previous = prevAnimation ? hydrateTransitionState(prevAnimation, dimensions) : undefined;
140
+ frame.current = currentAnimation ? hydrateTransitionState(currentAnimation, dimensions, shouldApplyOptionsToCurrent ? interpolatorOptions.options : undefined) : DEFAULT_SCREEN_TRANSITION_STATE;
141
+ frame.next = nextAnimation && nextHasTransitions ? hydrateTransitionState(nextAnimation, dimensions, shouldApplyOptionsToNext ? interpolatorOptions.options : undefined) : undefined;
142
+ frame.layouts = frame.current.layouts;
143
+ frame.insets = insets;
144
+ updateDerivations(frame);
145
+ frame.stackProgress = resolveStackProgress(currentAnimation?.stackProgress, frame.progress, frame.current.progress, previousCurrentProgress, frame.next?.progress, previousNextProgress);
146
+ frame.logicallySettled = frame.active.settled;
147
+ return frame;
36
148
  };
37
149
  export function useScreenAnimationPipeline() {
38
- const {
39
- flags,
40
- routeKeys
41
- } = useStack();
150
+ const transitionsAlwaysOn = useStack(stack => stack.flags.TRANSITIONS_ALWAYS_ON);
42
151
  const dimensions = useWindowDimensions();
43
152
  const insets = useSafeAreaInsets();
44
- const transitionsAlwaysOn = flags.TRANSITIONS_ALWAYS_ON;
45
153
  const {
46
154
  current: currDescriptor,
47
155
  next: nextDescriptor,
@@ -50,14 +158,16 @@ export function useScreenAnimationPipeline() {
50
158
  const currentAnimation = useBuildTransitionState(currDescriptor);
51
159
  const nextAnimation = useBuildTransitionState(nextDescriptor);
52
160
  const prevAnimation = useBuildTransitionState(prevDescriptor);
53
- const currentRouteKey = currDescriptor?.route?.key;
54
- const currentIndex = routeKeys.indexOf(currentRouteKey);
55
- const visualProgressValues = useMemo(() => {
56
- return routeKeys.map(routeKey => AnimationStore.getValue(routeKey, "visualProgress"));
57
- }, [routeKeys]);
58
161
  const nextRouteKey = nextDescriptor?.route?.key;
59
162
  const nextHasTransitions = !!nextRouteKey && hasTransitionsEnabled(nextDescriptor?.options, transitionsAlwaysOn);
60
- const screenInterpolatorProps = useSharedValue(createInitialBaseInterpolatorProps(dimensions, insets));
163
+ const initialInterpolatorProps = useMemo(() => createInitialInterpolatorProps({
164
+ dimensions,
165
+ insets,
166
+ currentDescriptor: currDescriptor,
167
+ nextDescriptor,
168
+ prevDescriptor
169
+ }), [dimensions, insets, currDescriptor, nextDescriptor, prevDescriptor]);
170
+ const screenInterpolatorProps = useSharedValue(initialInterpolatorProps);
61
171
  const selectedInterpolatorOptions = useSharedValue({
62
172
  owner: "current"
63
173
  });
@@ -71,17 +181,16 @@ export function useScreenAnimationPipeline() {
71
181
  "worklet";
72
182
 
73
183
  const interpolatorOptions = selectedInterpolatorOptions.get();
74
- const shouldApplyOptionsToCurrent = interpolatorOptions.owner === "current";
75
- const shouldApplyOptionsToNext = interpolatorOptions.owner === "next" && !!nextAnimation && nextHasTransitions;
76
- frame.previous = prevAnimation ? hydrateTransitionState(prevAnimation, dimensions) : undefined;
77
- frame.current = currentAnimation ? hydrateTransitionState(currentAnimation, dimensions, shouldApplyOptionsToCurrent ? interpolatorOptions.options : undefined) : DEFAULT_SCREEN_TRANSITION_STATE;
78
- frame.next = nextAnimation && nextHasTransitions ? hydrateTransitionState(nextAnimation, dimensions, shouldApplyOptionsToNext ? interpolatorOptions.options : undefined) : undefined;
79
- frame.layouts = frame.current.layouts;
80
- frame.insets = insets;
81
- updateDerivations(frame);
82
- frame.stackProgress = deriveStackProgress(routeKeys, visualProgressValues, currentIndex, frame.progress, currentRouteKey, frame.current.progress, nextRouteKey, frame.next?.progress);
83
- frame.logicallySettled = frame.active.settled;
84
- return frame;
184
+ return hydrateInterpolatorFrame({
185
+ frame,
186
+ dimensions,
187
+ insets,
188
+ currentAnimation,
189
+ nextAnimation,
190
+ prevAnimation,
191
+ nextHasTransitions,
192
+ interpolatorOptions
193
+ });
85
194
  }, false);
86
195
 
87
196
  // Critical reactive dependency for `screenInterpolatorProps`.
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","DEFAULT_SCREEN_TRANSITION_STATE","useStack","AnimationStore","useDescriptors","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","deriveStackProgress","useBuildTransitionState","createInitialBaseInterpolatorProps","dimensions","insets","current","layouts","screen","previous","undefined","next","progress","stackProgress","logicallySettled","focused","active","inactive","useScreenAnimationPipeline","flags","routeKeys","transitionsAlwaysOn","TRANSITIONS_ALWAYS_ON","currDescriptor","nextDescriptor","prevDescriptor","currentAnimation","nextAnimation","prevAnimation","currentRouteKey","route","key","currentIndex","indexOf","visualProgressValues","map","routeKey","getValue","nextRouteKey","nextHasTransitions","options","screenInterpolatorProps","selectedInterpolatorOptions","owner","propsRevisionState","value","screenInterpolatorPropsRevision","modify","frame","interpolatorOptions","get","shouldApplyOptionsToCurrent","shouldApplyOptionsToNext","settled","revision","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/pipeline.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","useWindowDimensions","useDerivedValue","useSharedValue","useSafeAreaInsets","createScreenTransitionState","DEFAULT_SCREEN_TRANSITION_STATE","useStack","useDescriptors","buildScreenTransitionOptions","updateDerivations","hasTransitionsEnabled","hydrateTransitionState","resolveStackProgress","useBuildTransitionState","toPlainRoute","toPlainValue","getInitialSettledProgress","descriptor","snapPoints","initialSnapIndex","options","length","clampedIndex","Math","min","max","snapPoint","applyInitialProgress","state","dimensions","progress","entering","closing","animating","willAnimate","settled","transitionProgress","logicallySettled","layouts","screen","createInitialTransitionState","meta","undefined","route","createInitialInterpolatorProps","insets","currentDescriptor","nextDescriptor","prevDescriptor","hasIncomingNext","isFocusedEntering","shouldAnimateInitialMount","experimental_animateOnInitialMount","currentProgress","currentEntering","current","previous","next","frame","stackProgress","focused","active","inactive","hydrateInterpolatorFrame","currentAnimation","nextAnimation","prevAnimation","nextHasTransitions","interpolatorOptions","shouldApplyOptionsToCurrent","owner","shouldApplyOptionsToNext","previousCurrentProgress","visualProgress","get","previousNextProgress","useScreenAnimationPipeline","transitionsAlwaysOn","stack","flags","TRANSITIONS_ALWAYS_ON","currDescriptor","nextRouteKey","key","initialInterpolatorProps","screenInterpolatorProps","selectedInterpolatorOptions","propsRevisionState","value","screenInterpolatorPropsRevision","modify","revision","nextInterpolator","screenStyleInterpolator","currentInterpolator"],"sourceRoot":"../../../../../../../src","sources":["shared/providers/screen/animation/helpers/pipeline.ts"],"mappings":"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","ignoreList":[]}
@@ -1,20 +1,30 @@
1
1
  "use strict";
2
2
 
3
- export const deriveStackProgress = (routeKeys, visualProgressValues, currentIndex, fallbackProgress, currentRouteKey, currentProgress, nextRouteKey, nextProgress) => {
3
+ export const syncStackProgressValues = (visualProgressValues, stackProgressValues) => {
4
4
  "worklet";
5
5
 
6
- if (currentIndex < 0) return fallbackProgress;
7
6
  let total = 0;
8
- for (let i = currentIndex; i < visualProgressValues.length; i++) {
9
- const routeKey = routeKeys[i];
10
- if (routeKey === currentRouteKey) {
11
- total += currentProgress;
12
- } else if (routeKey === nextRouteKey && nextProgress !== undefined) {
13
- total += nextProgress;
14
- } else {
15
- total += visualProgressValues[i].get();
7
+ for (let i = visualProgressValues.length - 1; i >= 0; i--) {
8
+ total += visualProgressValues[i]?.get() ?? 0;
9
+ const stackProgress = stackProgressValues[i];
10
+ if (stackProgress && stackProgress.get() !== total) {
11
+ stackProgress.set(total);
16
12
  }
17
13
  }
14
+ };
15
+ export const resolveStackProgress = (stackProgress, fallbackProgress, currentProgress, previousCurrentProgress, nextProgress, previousNextProgress) => {
16
+ "worklet";
17
+
18
+ if (!stackProgress) {
19
+ return fallbackProgress;
20
+ }
21
+ let total = stackProgress.get();
22
+ if (previousCurrentProgress !== undefined) {
23
+ total += currentProgress - previousCurrentProgress;
24
+ }
25
+ if (nextProgress !== undefined && previousNextProgress !== undefined) {
26
+ total += nextProgress - previousNextProgress;
27
+ }
18
28
  return total;
19
29
  };
20
30
  //# sourceMappingURL=stack-progress.js.map