react-native-screen-transitions 4.0.0-alpha.1 → 4.0.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 (398) hide show
  1. package/lib/commonjs/animation/snap-to.js +2 -0
  2. package/lib/commonjs/animation/snap-to.js.map +1 -1
  3. package/lib/commonjs/components/boundary/components/boundary-target.js +19 -20
  4. package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
  5. package/lib/commonjs/components/boundary/create-boundary-component.js +16 -2
  6. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  7. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -0
  8. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  9. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +1 -3
  10. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  11. package/lib/commonjs/components/boundary/index.js +4 -3
  12. package/lib/commonjs/components/boundary/index.js.map +1 -1
  13. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +47 -188
  14. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  15. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js +21 -13
  16. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  17. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +1 -12
  18. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  19. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +40 -33
  20. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  21. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +3 -4
  22. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  23. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +46 -131
  24. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  25. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +45 -9
  26. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  27. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -1
  28. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +2 -29
  29. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  30. package/lib/commonjs/components/boundary/portal/utils/handoff-target.js +33 -0
  31. package/lib/commonjs/components/boundary/portal/utils/handoff-target.js.map +1 -0
  32. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js +19 -15
  33. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  34. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js +1 -10
  35. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js.map +1 -1
  36. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +18 -36
  37. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
  38. package/lib/commonjs/components/boundary/utils/refresh-signals.js +7 -0
  39. package/lib/commonjs/components/boundary/utils/refresh-signals.js.map +1 -1
  40. package/lib/commonjs/components/boundary/utils/resolve-boundary-target.js +29 -0
  41. package/lib/commonjs/components/boundary/utils/resolve-boundary-target.js.map +1 -0
  42. package/lib/commonjs/components/masked-view.js +9 -1
  43. package/lib/commonjs/components/masked-view.js.map +1 -1
  44. package/lib/commonjs/components/screen-container/layers/backdrop.js +3 -1
  45. package/lib/commonjs/components/screen-container/layers/backdrop.js.map +1 -1
  46. package/lib/commonjs/components/screen-container/layers/maybe-masked-navigation-container.js +9 -1
  47. package/lib/commonjs/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  48. package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -0
  49. package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  50. package/lib/commonjs/navigators/react-navigation/index.js +7 -8
  51. package/lib/commonjs/navigators/react-navigation/index.js.map +1 -1
  52. package/lib/commonjs/providers/helpers/measured-bounds-writes.js +4 -1
  53. package/lib/commonjs/providers/helpers/measured-bounds-writes.js.map +1 -1
  54. package/lib/commonjs/providers/screen/gestures/gestures.provider.js +2 -8
  55. package/lib/commonjs/providers/screen/gestures/gestures.provider.js.map +1 -1
  56. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js +1 -0
  57. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  58. package/lib/commonjs/providers/screen/gestures/pinch/activation/use-pinch-activation.js +37 -3
  59. package/lib/commonjs/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  60. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +1 -0
  61. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  62. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js +3 -2
  63. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  64. package/lib/commonjs/providers/screen/gestures/types.js.map +1 -1
  65. package/lib/commonjs/providers/screen/styles/helpers/transition-visual-state.js +42 -0
  66. package/lib/commonjs/providers/screen/styles/helpers/transition-visual-state.js.map +1 -0
  67. package/lib/commonjs/providers/screen/styles/helpers/visibility-gate.js +11 -5
  68. package/lib/commonjs/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  69. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js +23 -10
  70. package/lib/commonjs/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  71. package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js +10 -8
  72. package/lib/commonjs/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  73. package/lib/commonjs/stores/bounds/internals/links.js +4 -4
  74. package/lib/commonjs/stores/bounds/internals/links.js.map +1 -1
  75. package/lib/commonjs/stores/scroll.store.js +20 -2
  76. package/lib/commonjs/stores/scroll.store.js.map +1 -1
  77. package/lib/commonjs/stores/system.store.js +2 -0
  78. package/lib/commonjs/stores/system.store.js.map +1 -1
  79. package/lib/commonjs/utils/animation/animate-to-progress.js +23 -1
  80. package/lib/commonjs/utils/animation/animate-to-progress.js.map +1 -1
  81. package/lib/commonjs/utils/animation/animate.js +14 -2
  82. package/lib/commonjs/utils/animation/animate.js.map +1 -1
  83. package/lib/commonjs/utils/animation/spring/spring.js +22 -2
  84. package/lib/commonjs/utils/animation/spring/spring.js.map +1 -1
  85. package/lib/commonjs/utils/animation/spring/springUtils.js +96 -0
  86. package/lib/commonjs/utils/animation/spring/springUtils.js.map +1 -1
  87. package/lib/commonjs/utils/animation/state.js +4 -0
  88. package/lib/commonjs/utils/bounds/navigation/reveal/math.js +17 -5
  89. package/lib/commonjs/utils/bounds/navigation/reveal/math.js.map +1 -1
  90. package/lib/commonjs/utils/bounds/navigation/zoom/build.js +44 -20
  91. package/lib/commonjs/utils/bounds/navigation/zoom/build.js.map +1 -1
  92. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js +2 -31
  93. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js.map +1 -1
  94. package/lib/commonjs/utils/bounds/navigation/zoom/helpers.js +3 -17
  95. package/lib/commonjs/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  96. package/lib/module/animation/snap-to.js +2 -0
  97. package/lib/module/animation/snap-to.js.map +1 -1
  98. package/lib/module/components/boundary/components/boundary-target.js +19 -20
  99. package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
  100. package/lib/module/components/boundary/create-boundary-component.js +17 -3
  101. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  102. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js +5 -0
  103. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  104. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +1 -3
  105. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  106. package/lib/module/components/boundary/index.js +3 -2
  107. package/lib/module/components/boundary/index.js.map +1 -1
  108. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +49 -190
  109. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  110. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js +21 -13
  111. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -1
  112. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +2 -13
  113. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  114. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +43 -36
  115. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  116. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +3 -4
  117. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  118. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +50 -135
  119. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  120. package/lib/module/components/boundary/portal/components/boundary-portal/index.js +44 -9
  121. package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  122. package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -1
  123. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -27
  124. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  125. package/lib/module/components/boundary/portal/utils/handoff-target.js +28 -0
  126. package/lib/module/components/boundary/portal/utils/handoff-target.js.map +1 -0
  127. package/lib/module/components/boundary/portal/utils/resolve-portal.js +19 -15
  128. package/lib/module/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  129. package/lib/module/components/boundary/portal/utils/teleport-control.js +0 -8
  130. package/lib/module/components/boundary/portal/utils/teleport-control.js.map +1 -1
  131. package/lib/module/components/boundary/providers/boundary-root.provider.js +19 -37
  132. package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
  133. package/lib/module/components/boundary/utils/refresh-signals.js +7 -0
  134. package/lib/module/components/boundary/utils/refresh-signals.js.map +1 -1
  135. package/lib/module/components/boundary/utils/resolve-boundary-target.js +24 -0
  136. package/lib/module/components/boundary/utils/resolve-boundary-target.js.map +1 -0
  137. package/lib/module/components/masked-view.js +10 -2
  138. package/lib/module/components/masked-view.js.map +1 -1
  139. package/lib/module/components/screen-container/layers/backdrop.js +3 -1
  140. package/lib/module/components/screen-container/layers/backdrop.js.map +1 -1
  141. package/lib/module/components/screen-container/layers/maybe-masked-navigation-container.js +10 -2
  142. package/lib/module/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  143. package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js +2 -0
  144. package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  145. package/lib/module/navigators/react-navigation/index.js +4 -6
  146. package/lib/module/navigators/react-navigation/index.js.map +1 -1
  147. package/lib/module/providers/helpers/measured-bounds-writes.js +4 -1
  148. package/lib/module/providers/helpers/measured-bounds-writes.js.map +1 -1
  149. package/lib/module/providers/screen/gestures/gestures.provider.js +2 -8
  150. package/lib/module/providers/screen/gestures/gestures.provider.js.map +1 -1
  151. package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js +1 -0
  152. package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  153. package/lib/module/providers/screen/gestures/pinch/activation/use-pinch-activation.js +35 -2
  154. package/lib/module/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  155. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +1 -0
  156. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  157. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js +3 -2
  158. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  159. package/lib/module/providers/screen/gestures/types.js.map +1 -1
  160. package/lib/module/providers/screen/styles/helpers/transition-visual-state.js +35 -0
  161. package/lib/module/providers/screen/styles/helpers/transition-visual-state.js.map +1 -0
  162. package/lib/module/providers/screen/styles/helpers/visibility-gate.js +11 -5
  163. package/lib/module/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  164. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js +23 -10
  165. package/lib/module/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  166. package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js +10 -8
  167. package/lib/module/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  168. package/lib/module/stores/bounds/internals/links.js +4 -4
  169. package/lib/module/stores/bounds/internals/links.js.map +1 -1
  170. package/lib/module/stores/scroll.store.js +17 -0
  171. package/lib/module/stores/scroll.store.js.map +1 -1
  172. package/lib/module/stores/system.store.js +2 -0
  173. package/lib/module/stores/system.store.js.map +1 -1
  174. package/lib/module/utils/animation/animate-to-progress.js +21 -0
  175. package/lib/module/utils/animation/animate-to-progress.js.map +1 -1
  176. package/lib/module/utils/animation/animate.js +14 -2
  177. package/lib/module/utils/animation/animate.js.map +1 -1
  178. package/lib/module/utils/animation/spring/spring.js +23 -3
  179. package/lib/module/utils/animation/spring/spring.js.map +1 -1
  180. package/lib/module/utils/animation/spring/springUtils.js +95 -0
  181. package/lib/module/utils/animation/spring/springUtils.js.map +1 -1
  182. package/lib/module/utils/animation/state.js +2 -0
  183. package/lib/module/utils/bounds/navigation/reveal/math.js +16 -5
  184. package/lib/module/utils/bounds/navigation/reveal/math.js.map +1 -1
  185. package/lib/module/utils/bounds/navigation/zoom/build.js +46 -22
  186. package/lib/module/utils/bounds/navigation/zoom/build.js.map +1 -1
  187. package/lib/module/utils/bounds/navigation/zoom/drag.js +2 -30
  188. package/lib/module/utils/bounds/navigation/zoom/drag.js.map +1 -1
  189. package/lib/module/utils/bounds/navigation/zoom/helpers.js +4 -18
  190. package/lib/module/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  191. package/lib/typescript/animation/snap-to.d.ts.map +1 -1
  192. package/lib/typescript/components/boundary/components/boundary-target.d.ts +2 -1
  193. package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
  194. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  195. package/lib/typescript/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  196. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts +3 -4
  197. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  198. package/lib/typescript/components/boundary/index.d.ts +6 -9
  199. package/lib/typescript/components/boundary/index.d.ts.map +1 -1
  200. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +1 -3
  201. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  202. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +1 -1
  203. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  204. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  205. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts +1 -10
  206. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -1
  207. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +1 -3
  208. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  209. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +2 -2
  210. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +2 -2
  211. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -1
  212. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts +0 -1
  213. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +1 -1
  214. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +1 -10
  215. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  216. package/lib/typescript/components/boundary/portal/utils/handoff-target.d.ts +12 -0
  217. package/lib/typescript/components/boundary/portal/utils/handoff-target.d.ts.map +1 -0
  218. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts +2 -3
  219. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -1
  220. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts +0 -4
  221. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
  222. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +8 -12
  223. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  224. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts +1 -0
  225. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  226. package/lib/typescript/components/boundary/utils/resolve-boundary-target.d.ts +12 -0
  227. package/lib/typescript/components/boundary/utils/resolve-boundary-target.d.ts.map +1 -0
  228. package/lib/typescript/components/create-transition-aware-component.d.ts +5 -6
  229. package/lib/typescript/components/create-transition-aware-component.d.ts.map +1 -1
  230. package/lib/typescript/components/masked-view.d.ts.map +1 -1
  231. package/lib/typescript/components/screen-container/layers/backdrop.d.ts.map +1 -1
  232. package/lib/typescript/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  233. package/lib/typescript/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  234. package/lib/typescript/index.d.ts +650 -702
  235. package/lib/typescript/index.d.ts.map +1 -1
  236. package/lib/typescript/navigators/react-navigation/index.d.ts +6 -17
  237. package/lib/typescript/navigators/react-navigation/index.d.ts.map +1 -1
  238. package/lib/typescript/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
  239. package/lib/typescript/providers/screen/gestures/gestures.provider.d.ts.map +1 -1
  240. package/lib/typescript/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  241. package/lib/typescript/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +2 -1
  242. package/lib/typescript/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
  243. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  244. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
  245. package/lib/typescript/providers/screen/gestures/types.d.ts +1 -9
  246. package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
  247. package/lib/typescript/providers/screen/styles/helpers/transition-visual-state.d.ts +18 -0
  248. package/lib/typescript/providers/screen/styles/helpers/transition-visual-state.d.ts.map +1 -0
  249. package/lib/typescript/providers/screen/styles/helpers/visibility-gate.d.ts +2 -2
  250. package/lib/typescript/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
  251. package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts +4 -4
  252. package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  253. package/lib/typescript/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  254. package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -2
  255. package/lib/typescript/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  256. package/lib/typescript/stores/bounds/internals/links.d.ts +1 -1
  257. package/lib/typescript/stores/bounds/internals/links.d.ts.map +1 -1
  258. package/lib/typescript/stores/scroll.store.d.ts +7 -0
  259. package/lib/typescript/stores/scroll.store.d.ts.map +1 -1
  260. package/lib/typescript/stores/system.store.d.ts +5 -0
  261. package/lib/typescript/stores/system.store.d.ts.map +1 -1
  262. package/lib/typescript/utils/animation/animate-to-progress.d.ts +6 -1
  263. package/lib/typescript/utils/animation/animate-to-progress.d.ts.map +1 -1
  264. package/lib/typescript/utils/animation/animate.d.ts +2 -2
  265. package/lib/typescript/utils/animation/animate.d.ts.map +1 -1
  266. package/lib/typescript/utils/animation/spring/spring.d.ts +2 -2
  267. package/lib/typescript/utils/animation/spring/spring.d.ts.map +1 -1
  268. package/lib/typescript/utils/animation/spring/springUtils.d.ts +3 -0
  269. package/lib/typescript/utils/animation/spring/springUtils.d.ts.map +1 -1
  270. package/lib/typescript/utils/animation/state.d.ts +6 -0
  271. package/lib/typescript/utils/animation/state.d.ts.map +1 -1
  272. package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts +9 -0
  273. package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  274. package/lib/typescript/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  275. package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts +2 -11
  276. package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts.map +1 -1
  277. package/lib/typescript/utils/bounds/navigation/zoom/helpers.d.ts +7 -4
  278. package/lib/typescript/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  279. package/package.json +1 -1
  280. package/src/animation/snap-to.ts +5 -0
  281. package/src/components/boundary/components/boundary-target.tsx +37 -23
  282. package/src/components/boundary/create-boundary-component.tsx +29 -3
  283. package/src/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +11 -0
  284. package/src/components/boundary/hooks/use-boundary-measurement.ts +3 -9
  285. package/src/components/boundary/index.tsx +4 -8
  286. package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +73 -276
  287. package/src/components/boundary/portal/components/boundary-content-portal/index.tsx +31 -12
  288. package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +2 -12
  289. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +64 -62
  290. package/src/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts +2 -9
  291. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +73 -187
  292. package/src/components/boundary/portal/components/boundary-portal/index.tsx +72 -12
  293. package/src/components/boundary/portal/components/boundary-portal/stores/host-registry.store.ts +0 -1
  294. package/src/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +2 -39
  295. package/src/components/boundary/portal/utils/handoff-target.ts +48 -0
  296. package/src/components/boundary/portal/utils/resolve-portal.ts +26 -18
  297. package/src/components/boundary/portal/utils/teleport-control.ts +0 -12
  298. package/src/components/boundary/providers/boundary-root.provider.tsx +28 -80
  299. package/src/components/boundary/utils/refresh-signals.ts +8 -0
  300. package/src/components/boundary/utils/resolve-boundary-target.tsx +39 -0
  301. package/src/components/masked-view.tsx +20 -4
  302. package/src/components/screen-container/layers/backdrop.tsx +3 -1
  303. package/src/components/screen-container/layers/maybe-masked-navigation-container.tsx +14 -4
  304. package/src/components/screen-lifecycle/hooks/use-transition-start-controller.ts +2 -0
  305. package/src/navigators/react-navigation/index.tsx +4 -48
  306. package/src/providers/helpers/measured-bounds-writes.ts +1 -0
  307. package/src/providers/screen/gestures/gestures.provider.tsx +2 -10
  308. package/src/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +1 -0
  309. package/src/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +74 -3
  310. package/src/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +1 -0
  311. package/src/providers/screen/gestures/pinch/behavior/pinch-release.ts +2 -4
  312. package/src/providers/screen/gestures/types.ts +0 -14
  313. package/src/providers/screen/styles/helpers/transition-visual-state.ts +44 -0
  314. package/src/providers/screen/styles/helpers/visibility-gate.ts +17 -7
  315. package/src/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +30 -15
  316. package/src/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +14 -13
  317. package/src/stores/bounds/internals/links.ts +13 -2
  318. package/src/stores/scroll.store.ts +23 -0
  319. package/src/stores/system.store.ts +8 -0
  320. package/src/utils/animation/animate-to-progress.ts +59 -28
  321. package/src/utils/animation/animate.ts +18 -2
  322. package/src/utils/animation/spring/spring.ts +36 -1
  323. package/src/utils/animation/spring/springUtils.ts +130 -0
  324. package/src/utils/animation/state.ts +8 -0
  325. package/src/utils/bounds/navigation/reveal/math.ts +21 -5
  326. package/src/utils/bounds/navigation/zoom/build.ts +77 -23
  327. package/src/utils/bounds/navigation/zoom/drag.ts +3 -42
  328. package/src/utils/bounds/navigation/zoom/helpers.ts +9 -23
  329. package/lib/commonjs/components/boundary/hooks/use-register-target.js +0 -32
  330. package/lib/commonjs/components/boundary/hooks/use-register-target.js.map +0 -1
  331. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-slot.js +0 -52
  332. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +0 -1
  333. package/lib/commonjs/components/boundary/portal/utils/ownership.js +0 -220
  334. package/lib/commonjs/components/boundary/portal/utils/ownership.js.map +0 -1
  335. package/lib/commonjs/components/boundary/portal/utils/shallow-equal.js +0 -29
  336. package/lib/commonjs/components/boundary/portal/utils/shallow-equal.js.map +0 -1
  337. package/lib/commonjs/components/boundary/portal/utils/visible-host.js +0 -25
  338. package/lib/commonjs/components/boundary/portal/utils/visible-host.js.map +0 -1
  339. package/lib/commonjs/providers/screen/gestures/rotation/activation/use-rotation-activation.js +0 -64
  340. package/lib/commonjs/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +0 -1
  341. package/lib/commonjs/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +0 -21
  342. package/lib/commonjs/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +0 -1
  343. package/lib/commonjs/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +0 -29
  344. package/lib/commonjs/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +0 -1
  345. package/lib/commonjs/providers/screen/gestures/rotation/use-build-rotation-gesture.js +0 -38
  346. package/lib/commonjs/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +0 -1
  347. package/lib/commonjs/providers/screen/styles/helpers/opening-phase.js +0 -32
  348. package/lib/commonjs/providers/screen/styles/helpers/opening-phase.js.map +0 -1
  349. package/lib/module/components/boundary/hooks/use-register-target.js +0 -27
  350. package/lib/module/components/boundary/hooks/use-register-target.js.map +0 -1
  351. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-slot.js +0 -47
  352. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +0 -1
  353. package/lib/module/components/boundary/portal/utils/ownership.js +0 -213
  354. package/lib/module/components/boundary/portal/utils/ownership.js.map +0 -1
  355. package/lib/module/components/boundary/portal/utils/shallow-equal.js +0 -24
  356. package/lib/module/components/boundary/portal/utils/shallow-equal.js.map +0 -1
  357. package/lib/module/components/boundary/portal/utils/visible-host.js +0 -20
  358. package/lib/module/components/boundary/portal/utils/visible-host.js.map +0 -1
  359. package/lib/module/providers/screen/gestures/rotation/activation/use-rotation-activation.js +0 -59
  360. package/lib/module/providers/screen/gestures/rotation/activation/use-rotation-activation.js.map +0 -1
  361. package/lib/module/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js +0 -15
  362. package/lib/module/providers/screen/gestures/rotation/behavior/rotation-lifecycle.js.map +0 -1
  363. package/lib/module/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js +0 -24
  364. package/lib/module/providers/screen/gestures/rotation/behavior/use-rotation-behavior.js.map +0 -1
  365. package/lib/module/providers/screen/gestures/rotation/use-build-rotation-gesture.js +0 -33
  366. package/lib/module/providers/screen/gestures/rotation/use-build-rotation-gesture.js.map +0 -1
  367. package/lib/module/providers/screen/styles/helpers/opening-phase.js +0 -26
  368. package/lib/module/providers/screen/styles/helpers/opening-phase.js.map +0 -1
  369. package/lib/typescript/components/boundary/hooks/use-register-target.d.ts +0 -10
  370. package/lib/typescript/components/boundary/hooks/use-register-target.d.ts.map +0 -1
  371. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts +0 -13
  372. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts.map +0 -1
  373. package/lib/typescript/components/boundary/portal/utils/ownership.d.ts +0 -34
  374. package/lib/typescript/components/boundary/portal/utils/ownership.d.ts.map +0 -1
  375. package/lib/typescript/components/boundary/portal/utils/shallow-equal.d.ts +0 -8
  376. package/lib/typescript/components/boundary/portal/utils/shallow-equal.d.ts.map +0 -1
  377. package/lib/typescript/components/boundary/portal/utils/visible-host.d.ts +0 -8
  378. package/lib/typescript/components/boundary/portal/utils/visible-host.d.ts.map +0 -1
  379. package/lib/typescript/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts +0 -15
  380. package/lib/typescript/providers/screen/gestures/rotation/activation/use-rotation-activation.d.ts.map +0 -1
  381. package/lib/typescript/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts +0 -4
  382. package/lib/typescript/providers/screen/gestures/rotation/behavior/rotation-lifecycle.d.ts.map +0 -1
  383. package/lib/typescript/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts +0 -5
  384. package/lib/typescript/providers/screen/gestures/rotation/behavior/use-rotation-behavior.d.ts.map +0 -1
  385. package/lib/typescript/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts +0 -9
  386. package/lib/typescript/providers/screen/gestures/rotation/use-build-rotation-gesture.d.ts.map +0 -1
  387. package/lib/typescript/providers/screen/styles/helpers/opening-phase.d.ts +0 -16
  388. package/lib/typescript/providers/screen/styles/helpers/opening-phase.d.ts.map +0 -1
  389. package/src/components/boundary/hooks/use-register-target.ts +0 -43
  390. package/src/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx +0 -80
  391. package/src/components/boundary/portal/utils/ownership.ts +0 -319
  392. package/src/components/boundary/portal/utils/shallow-equal.ts +0 -25
  393. package/src/components/boundary/portal/utils/visible-host.ts +0 -24
  394. package/src/providers/screen/gestures/rotation/activation/use-rotation-activation.ts +0 -88
  395. package/src/providers/screen/gestures/rotation/behavior/rotation-lifecycle.ts +0 -19
  396. package/src/providers/screen/gestures/rotation/behavior/use-rotation-behavior.ts +0 -47
  397. package/src/providers/screen/gestures/rotation/use-build-rotation-gesture.ts +0 -50
  398. package/src/providers/screen/styles/helpers/opening-phase.ts +0 -25
@@ -34,6 +34,7 @@ function snapDescriptorToIndex(descriptor, index) {
34
34
  const targetProgress = sorted[index];
35
35
  const animations = _animation.AnimationStore.getBag(descriptor.route.key);
36
36
  const targetProgressValue = _system.SystemStore.getValue(descriptor.route.key, "targetProgress");
37
+ const animationProgressValue = _system.SystemStore.getValue(descriptor.route.key, "animationProgress");
37
38
  (0, _reactNativeWorklets.scheduleOnUI)(() => {
38
39
  "worklet";
39
40
 
@@ -42,6 +43,7 @@ function snapDescriptorToIndex(descriptor, index) {
42
43
  target: targetProgress,
43
44
  animations,
44
45
  targetProgress: targetProgressValue,
46
+ animationProgress: animationProgressValue,
45
47
  spec: (0, _resolveSnapTransitionSpec.resolveSnapTransitionSpec)(descriptor.options.transitionSpec, targetProgress < currentProgress ? "collapse" : "expand")
46
48
  });
47
49
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeWorklets","require","_animation","_system","_animateToProgress","_resolveSnapTransitionSpec","_logger","_resolveSnapTarget","getSortedSnapPoints","descriptor","snapPoints","options","length","autoVal","SystemStore","getValue","route","key","get","resolved","map","p","filter","sort","a","b","snapDescriptorToIndex","index","sorted","logger","warn","targetProgress","animations","AnimationStore","getBag","targetProgressValue","scheduleOnUI","currentProgress","transitionProgress","animateToProgress","target","spec","resolveSnapTransitionSpec","transitionSpec","snapTo","screenWithSnapPoints","resolveSnapTargetEntry"],"sourceRoot":"../../../src","sources":["animation/snap-to.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeWorklets","require","_animation","_system","_animateToProgress","_resolveSnapTransitionSpec","_logger","_resolveSnapTarget","getSortedSnapPoints","descriptor","snapPoints","options","length","autoVal","SystemStore","getValue","route","key","get","resolved","map","p","filter","sort","a","b","snapDescriptorToIndex","index","sorted","logger","warn","targetProgress","animations","AnimationStore","getBag","targetProgressValue","animationProgressValue","scheduleOnUI","currentProgress","transitionProgress","animateToProgress","target","animationProgress","spec","resolveSnapTransitionSpec","transitionSpec","snapTo","screenWithSnapPoints","resolveSnapTargetEntry"],"sourceRoot":"../../../src","sources":["animation/snap-to.ts"],"mappings":"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","ignoreList":[]}
@@ -3,51 +3,49 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.BoundaryTarget = void 0;
6
+ exports.BoundaryTarget = exports.BOUNDARY_TARGET_ACTIVE_PROP = void 0;
7
7
  var _react = require("react");
8
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
8
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
9
9
  var _styles = require("../../../providers/screen/styles");
10
- var _styles2 = require("../../../utils/bounds/helpers/styles/styles");
11
- var _useRegisterTarget = require("../hooks/use-register-target");
10
+ var _logger = require("../../../utils/logger");
12
11
  var _boundaryContentPortal = require("../portal/components/boundary-content-portal");
13
12
  var _boundaryPortal = require("../portal/components/boundary-portal");
14
13
  var _boundaryRoot = require("../providers/boundary-root.provider");
15
14
  var _jsxRuntime = require("react/jsx-runtime");
16
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
17
- const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(function BoundaryTarget(props) {
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ const BOUNDARY_TARGET_ACTIVE_PROP = exports.BOUNDARY_TARGET_ACTIVE_PROP = "__boundaryTargetActive";
17
+ const BoundaryTargetInner = props => {
18
18
  const {
19
+ [BOUNDARY_TARGET_ACTIVE_PROP]: active,
19
20
  children,
20
21
  pointerEvents,
21
22
  style,
22
23
  ...rest
23
24
  } = props;
24
- const targetAnimatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
25
- const targetEscapePlaceholderRef = (0, _reactNativeReanimated.useAnimatedRef)();
26
25
  const rootContext = (0, _boundaryRoot.useBoundaryRootContext)();
27
26
  const boundaryId = rootContext?.boundTag.tag;
28
- const isActiveTarget = rootContext?.activeTargetRef === targetAnimatedRef;
27
+ const isActiveTarget = active === true && rootContext !== null;
29
28
  const portalRuntime = rootContext?.portalRuntime;
30
29
  const handoffEnabled = isActiveTarget && rootContext?.handoffEnabled === true;
31
- const shouldEscapeTargetToScreenHost = portalRuntime?.escapeClipping === true && boundaryId !== undefined;
30
+ const shouldEscapeTargetToScreenHost = isActiveTarget && portalRuntime?.escapeClipping === true;
32
31
  const shouldApplyAssociatedStyleInline = isActiveTarget && portalRuntime?.escapeClipping !== true;
33
32
  const shouldApplyPortalLayoutStyle = isActiveTarget && portalRuntime?.escapeClipping === true;
34
33
  const associatedTargetStyles = (0, _styles.useComposedSlotStyles)(rootContext?.boundTag.tag, style);
35
34
  const portalLayoutStyle = (0, _styles.useSlotLayoutStyles)(rootContext?.boundTag.tag);
36
- const preparedStyles = (0, _react.useMemo)(() => (0, _styles2.prepareStyleForBounds)(style), [style]);
37
- const measurementRef = shouldEscapeTargetToScreenHost ? targetEscapePlaceholderRef : targetAnimatedRef;
38
- (0, _useRegisterTarget.useRegisterTarget)({
39
- preparedStyles,
40
- measurementRef,
41
- targetAnimatedRef
42
- });
35
+ const measurementRef = isActiveTarget ? rootContext.measurementRef : undefined;
36
+ (0, _react.useLayoutEffect)(() => {
37
+ if (__DEV__ && rootContext === null) {
38
+ _logger.logger.warn(_boundaryRoot.TARGET_OUTSIDE_ROOT_WARNING);
39
+ }
40
+ }, [rootContext]);
43
41
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryPortal.BoundaryPortal, {
44
42
  boundaryId: boundaryId ?? "",
45
43
  enabled: shouldEscapeTargetToScreenHost,
46
- placeholderRef: targetEscapePlaceholderRef,
44
+ placeholderRef: measurementRef,
47
45
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
48
46
  ...rest,
49
47
  pointerEvents: pointerEvents,
50
- ref: targetAnimatedRef,
48
+ ref: shouldEscapeTargetToScreenHost ? undefined : measurementRef,
51
49
  style: [style, shouldApplyAssociatedStyleInline ? associatedTargetStyles : undefined, shouldApplyPortalLayoutStyle ? portalLayoutStyle : undefined],
52
50
  collapsable: false,
53
51
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryContentPortal.BoundaryContentPortalHost, {
@@ -62,5 +60,6 @@ const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(fu
62
60
  })
63
61
  })
64
62
  });
65
- });
63
+ };
64
+ const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(BoundaryTargetInner);
66
65
  //# sourceMappingURL=boundary-target.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_styles","_styles2","_useRegisterTarget","_boundaryContentPortal","_boundaryPortal","_boundaryRoot","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BoundaryTarget","exports","memo","props","children","pointerEvents","style","rest","targetAnimatedRef","useAnimatedRef","targetEscapePlaceholderRef","rootContext","useBoundaryRootContext","boundaryId","boundTag","tag","isActiveTarget","activeTargetRef","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","undefined","shouldApplyAssociatedStyleInline","shouldApplyPortalLayoutStyle","associatedTargetStyles","useComposedSlotStyles","portalLayoutStyle","useSlotLayoutStyles","preparedStyles","useMemo","prepareStyleForBounds","measurementRef","useRegisterTarget","jsx","BoundaryPortal","enabled","placeholderRef","View","ref","collapsable","BoundaryContentPortalHost","screenKey","currentScreenKey","BoundaryContentPortal"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireDefault","_styles","_logger","_boundaryContentPortal","_boundaryPortal","_boundaryRoot","_jsxRuntime","e","__esModule","default","BOUNDARY_TARGET_ACTIVE_PROP","exports","BoundaryTargetInner","props","active","children","pointerEvents","style","rest","rootContext","useBoundaryRootContext","boundaryId","boundTag","tag","isActiveTarget","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","shouldApplyAssociatedStyleInline","shouldApplyPortalLayoutStyle","associatedTargetStyles","useComposedSlotStyles","portalLayoutStyle","useSlotLayoutStyles","measurementRef","undefined","useLayoutEffect","__DEV__","logger","warn","TARGET_OUTSIDE_ROOT_WARNING","jsx","BoundaryPortal","enabled","placeholderRef","View","ref","collapsable","BoundaryContentPortalHost","screenKey","currentScreenKey","BoundaryContentPortal","BoundaryTarget","memo"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,9 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.createBoundaryComponent = createBoundaryComponent;
7
7
  var _react = require("react");
8
8
  var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
9
+ var _boundaryTarget = require("./components/boundary-target");
9
10
  var _boundaryContentPortal = require("./portal/components/boundary-content-portal");
10
11
  var _boundaryPortal = require("./portal/components/boundary-portal");
11
12
  var _boundaryRoot = require("./providers/boundary-root.provider");
13
+ var _resolveBoundaryTarget = require("./utils/resolve-boundary-target");
12
14
  var _jsxRuntime = require("react/jsx-runtime");
13
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
16
  function createBoundaryComponent(Wrapped, options = {}) {
@@ -31,6 +33,15 @@ function createBoundaryComponent(Wrapped, options = {}) {
31
33
  children,
32
34
  ...rest
33
35
  } = props;
36
+ const targetResolution = (0, _react.useMemo)(() => {
37
+ return (0, _resolveBoundaryTarget.resolveBoundaryTarget)(children, {
38
+ isTarget: element => element.type === _boundaryTarget.BoundaryTarget,
39
+ mapTarget: (element, selected) => /*#__PURE__*/(0, _react.cloneElement)(element, {
40
+ [_boundaryTarget.BOUNDARY_TARGET_ACTIVE_PROP]: selected
41
+ })
42
+ });
43
+ }, [children]);
44
+ const targetStyle = targetResolution.target?.props?.style;
34
45
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryRoot.BoundaryRootProvider, {
35
46
  config: {
36
47
  anchor,
@@ -43,12 +54,15 @@ function createBoundaryComponent(Wrapped, options = {}) {
43
54
  forwardedRef: forwardedRef,
44
55
  group: group,
45
56
  handoff: handoff,
57
+ hasTarget: targetResolution.target !== null,
46
58
  id: id,
47
59
  style: style,
60
+ targetCount: targetResolution.targetCount,
61
+ targetStyle: targetStyle,
48
62
  children: root => /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryPortal.BoundaryPortal, {
49
63
  boundaryId: root.boundTag.tag,
50
64
  enabled: root.shouldRenderBoundaryRootThroughPortal,
51
- placeholderRef: root.rootEscapePlaceholderRef,
65
+ placeholderRef: root.measurementRef,
52
66
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedComponent, {
53
67
  ...rest,
54
68
  ref: root.ref,
@@ -58,7 +72,7 @@ function createBoundaryComponent(Wrapped, options = {}) {
58
72
  boundaryId: root.boundTag.tag,
59
73
  enabled: root.shouldRenderHandoffHost,
60
74
  screenKey: root.currentScreenKey,
61
- children: children
75
+ children: targetResolution.children
62
76
  })
63
77
  })
64
78
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireDefault","_boundaryContentPortal","_boundaryPortal","_boundaryRoot","_jsxRuntime","e","__esModule","default","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","Animated","createAnimatedComponent","Inner","forwardRef","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","handoff","escapeClipping","children","rest","jsx","BoundaryRootProvider","config","root","BoundaryPortal","boundaryId","boundTag","tag","shouldRenderBoundaryRootThroughPortal","placeholderRef","rootEscapePlaceholderRef","ref","attachedStyle","collapsable","BoundaryContentPortalHost","shouldRenderHandoffHost","screenKey","currentScreenKey","memo"],"sourceRoot":"../../../../src","sources":["components/boundary/create-boundary-component.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AAA0E,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAE,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOnE,SAASG,uBAAuBA,CACtCC,OAAyB,EACzBC,OAAuC,GAAG,CAAC,CAAC,EAC3C;EACD,MAAM;IAAEC,eAAe,GAAG;EAAM,CAAC,GAAGD,OAAO;EAC3C,MAAME,iBAAiB,GAAGD,eAAe,GACtCF,OAAO,GACPI,8BAAQ,CAACC,uBAAuB,CAACL,OAAO,CAAC;EAE5C,MAAMM,KAAK,gBAAG,IAAAC,iBAAU,EAGtB,CAACC,KAAK,EAAEC,YAAY,KAAK;IAC1B,MAAM;MACLC,OAAO,GAAG,IAAI;MACdC,KAAK;MACLC,EAAE;MACFC,MAAM;MACNC,SAAS;MACTC,MAAM;MACNC,MAAM;MACNC,KAAK;MACLC,OAAO;MACPC,cAAc;MACdC,QAAQ;MACR,GAAGC;IACJ,CAAC,GAAGb,KAAY;IAEhB,oBACC,IAAAb,WAAA,CAAA2B,GAAA,EAAC5B,aAAA,CAAA6B,oBAAoB;MACpBC,MAAM,EAAE;QAAEX,MAAM;QAAEC,SAAS;QAAEC,MAAM;QAAEC;MAAO,CAAE;MAC9CN,OAAO,EAAEA,OAAQ;MACjBS,cAAc,EAAEA,cAAe;MAC/BV,YAAY,EAAEA,YAAa;MAC3BE,KAAK,EAAEA,KAAM;MACbO,OAAO,EAAEA,OAAQ;MACjBN,EAAE,EAAEA,EAAG;MACPK,KAAK,EAAEA,KAAM;MAAAG,QAAA,EAEXK,IAAI,iBACL,IAAA9B,WAAA,CAAA2B,GAAA,EAAC7B,eAAA,CAAAiC,cAAc;QACdC,UAAU,EAAEF,IAAI,CAACG,QAAQ,CAACC,GAAI;QAC9BnB,OAAO,EAAEe,IAAI,CAACK,qCAAsC;QACpDC,cAAc,EAAEN,IAAI,CAACO,wBAAyB;QAAAZ,QAAA,eAE9C,IAAAzB,WAAA,CAAA2B,GAAA,EAACnB,iBAAiB;UAAA,GACbkB,IAAI;UACRY,GAAG,EAAER,IAAI,CAACQ,GAAI;UACdhB,KAAK,EAAE,CAACA,KAAK,EAAEQ,IAAI,CAACS,aAAa,CAAE;UACnCC,WAAW,EAAE,KAAM;UAAAf,QAAA,eAEnB,IAAAzB,WAAA,CAAA2B,GAAA,EAAC9B,sBAAA,CAAA4C,yBAAyB;YACzBT,UAAU,EAAEF,IAAI,CAACG,QAAQ,CAACC,GAAI;YAC9BnB,OAAO,EAAEe,IAAI,CAACY,uBAAwB;YACtCC,SAAS,EAAEb,IAAI,CAACc,gBAAiB;YAAAnB,QAAA,EAEhCA;UAAQ,CACiB;QAAC,CACV;MAAC,CACL;IAChB,CACoB,CAAC;EAEzB,CAAC,CAAC;;EAEF;EACA;EACA,oBAAO,IAAAoB,WAAI,EAAClC,KAAK,CAAC;AAMnB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireDefault","_boundaryTarget","_boundaryContentPortal","_boundaryPortal","_boundaryRoot","_resolveBoundaryTarget","_jsxRuntime","e","__esModule","default","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","Animated","createAnimatedComponent","Inner","forwardRef","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","handoff","escapeClipping","children","rest","targetResolution","useMemo","resolveBoundaryTarget","isTarget","element","type","BoundaryTarget","mapTarget","selected","cloneElement","BOUNDARY_TARGET_ACTIVE_PROP","targetStyle","jsx","BoundaryRootProvider","config","hasTarget","targetCount","root","BoundaryPortal","boundaryId","boundTag","tag","shouldRenderBoundaryRootThroughPortal","placeholderRef","measurementRef","ref","attachedStyle","collapsable","BoundaryContentPortalHost","shouldRenderHandoffHost","screenKey","currentScreenKey","memo"],"sourceRoot":"../../../../src","sources":["components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
@@ -8,6 +8,7 @@ var _reactNativeReanimated = require("react-native-reanimated");
8
8
  var _descriptors = require("../../../../providers/screen/descriptors");
9
9
  var _animation = require("../../../../stores/animation.store");
10
10
  var _state = require("../../../../stores/bounds/internals/state");
11
+ var _gesture = require("../../../../stores/gesture.store");
11
12
  var _refreshSignals = require("../../utils/refresh-signals");
12
13
  const useRefreshBoundary = ({
13
14
  enabled,
@@ -31,6 +32,9 @@ const useRefreshBoundary = ({
31
32
  const refreshEntering = _animation.AnimationStore.getValue(refreshScreenKey, "entering");
32
33
  const refreshAnimating = _animation.AnimationStore.getValue(refreshScreenKey, "progressAnimating");
33
34
  const refreshProgress = _animation.AnimationStore.getValue(refreshScreenKey, "transitionProgress");
35
+ const refreshDragging = _gesture.GestureStore.getValue(refreshScreenKey, "dragging");
36
+ const refreshDismissing = _gesture.GestureStore.getValue(refreshScreenKey, "dismissing");
37
+ const refreshSettling = _gesture.GestureStore.getValue(refreshScreenKey, "settling");
34
38
  (0, _reactNativeReanimated.useAnimatedReaction)(() => {
35
39
  "worklet";
36
40
 
@@ -48,6 +52,7 @@ const useRefreshBoundary = ({
48
52
  entering: !!refreshEntering.get(),
49
53
  animating: !!refreshAnimating.get(),
50
54
  progress: refreshProgress.get(),
55
+ gestureInProgress: !!refreshDragging.get() || !!refreshDismissing.get() || !!refreshSettling.get(),
51
56
  linkState: _state.pairs.get()
52
57
  });
53
58
  }, (refreshSignal, prevRefreshSignal) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_animation","_state","_refreshSignals","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","refreshScreenKey","refreshWillAnimate","AnimationStore","getValue","refreshClosing","refreshEntering","refreshAnimating","refreshProgress","useAnimatedReaction","getRefreshBoundarySignal","linkId","shouldRefresh","get","closing","entering","animating","progress","linkState","pairs","refreshSignal","prevRefreshSignal","signal","type","pairKey","exports"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAGA,IAAAI,eAAA,GAAAJ,OAAA;AAQO,MAAMK,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,QAAQ;EACRC;AACyB,CAAC,KAAK;EAC/B,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,QAAQ;EACnC,MAAMI,gBAAgB,GAAG,IAAAC,gCAAmB,EAC1CC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACH,gBACtB,CAAC;EACD,MAAMI,aAAa,GAAG,IAAAH,gCAAmB,EAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E,MAAMC,aAAa,GAAG,IAAAJ,gCAAmB,EAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACE,aAAa,CAAC;EAC7E,MAAMC,kBAAkB,GAAG,IAAAL,gCAAmB,EAC5CC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACG,kBACtB,CAAC;EACD,MAAMC,0BAA0B,GAAG,IAAAN,gCAAmB,EACpDC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACI,0BACtB,CAAC;EACD;EACA;EACA,MAAMC,gBAAgB,GAAGJ,aAAa,IAAIJ,gBAAgB;EAC1D,MAAMS,kBAAkB,GAAGC,yBAAc,CAACC,QAAQ,CACjDH,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMI,cAAc,GAAGF,yBAAc,CAACC,QAAQ,CAACH,gBAAgB,EAAE,SAAS,CAAC;EAC3E,MAAMK,eAAe,GAAGH,yBAAc,CAACC,QAAQ,CAACH,gBAAgB,EAAE,UAAU,CAAC;EAC7E,MAAMM,gBAAgB,GAAGJ,yBAAc,CAACC,QAAQ,CAC/CH,gBAAgB,EAChB,mBACD,CAAC;EACD,MAAMO,eAAe,GAAGL,yBAAc,CAACC,QAAQ,CAC9CH,gBAAgB,EAChB,oBACD,CAAC;EAED,IAAAQ,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,IAAAC,wCAAwB,EAAC;MAC/BtB,OAAO;MACPK,gBAAgB;MAChBK,aAAa;MACbC,kBAAkB;MAClBC,0BAA0B;MAC1BH,aAAa;MACbc,MAAM,EAAEpB,OAAO;MACfC,KAAK;MACLoB,aAAa,EAAE,CAAC,CAACV,kBAAkB,CAACW,GAAG,CAAC,CAAC;MACzCC,OAAO,EAAE,CAAC,CAACT,cAAc,CAACQ,GAAG,CAAC,CAAC;MAC/BE,QAAQ,EAAE,CAAC,CAACT,eAAe,CAACO,GAAG,CAAC,CAAC;MACjCG,SAAS,EAAE,CAAC,CAACT,gBAAgB,CAACM,GAAG,CAAC,CAAC;MACnCI,QAAQ,EAAET,eAAe,CAACK,GAAG,CAAC,CAAC;MAC/BK,SAAS,EAAEC,YAAK,CAACN,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACO,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEAhC,eAAe,CAAC;MACfiC,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAtC,kBAAA,GAAAA,kBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_animation","_state","_gesture","_refreshSignals","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","refreshScreenKey","refreshWillAnimate","AnimationStore","getValue","refreshClosing","refreshEntering","refreshAnimating","refreshProgress","refreshDragging","GestureStore","refreshDismissing","refreshSettling","useAnimatedReaction","getRefreshBoundarySignal","linkId","shouldRefresh","get","closing","entering","animating","progress","gestureInProgress","linkState","pairs","refreshSignal","prevRefreshSignal","signal","type","pairKey","exports"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":"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","ignoreList":[]}
@@ -23,7 +23,6 @@ const useBoundaryMeasurement = ({
23
23
  currentScreenKey,
24
24
  measuredRef,
25
25
  style,
26
- targetPreparedStyles,
27
26
  handoff,
28
27
  escapeClipping,
29
28
  config
@@ -40,8 +39,7 @@ const useBoundaryMeasurement = ({
40
39
  target,
41
40
  method
42
41
  }), [anchor, scaleMode, target, method]);
43
- const rootPreparedStyles = (0, _react.useMemo)(() => (0, _styles.prepareStyleForBounds)(style), [style]);
44
- const preparedStyles = targetPreparedStyles ?? rootPreparedStyles;
42
+ const preparedStyles = (0, _react.useMemo)(() => (0, _styles.prepareStyleForBounds)(style), [style]);
45
43
  const measureBoundary = (0, _useMeasurer.useMeasurer)({
46
44
  enabled,
47
45
  boundTag,
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_styles","_useBoundaryPresence","_useInitialDestinationMeasurement","_useInitialSourceMeasurement","_useRefreshBoundary","_useMeasurer","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","targetPreparedStyles","handoff","escapeClipping","config","anchor","scaleMode","target","method","boundaryConfig","useMemo","rootPreparedStyles","prepareStyleForBounds","preparedStyles","measureBoundary","useMeasurer","measuredAnimatedRef","useBoundaryPresence","useInitialSourceMeasurement","useInitialDestinationMeasurement","useRefreshBoundary","exports"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,iCAAA,GAAAH,OAAA;AACA,IAAAI,4BAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAmBA;AACA;AACA;AACA;AACA;AACO,MAAMO,sBAAsB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,KAAK;EACLC,oBAAoB;EACpBC,OAAO;EACPC,cAAc;EACdC;AAC6B,CAAC,KAAK;EACnC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EACpD,MAAMK,cAAc,GAAG,IAAAC,cAAO,EAC7B,OAAO;IAAEL,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAMG,kBAAkB,GAAG,IAAAD,cAAO,EACjC,MAAM,IAAAE,6BAAqB,EAACZ,KAAK,CAAC,EAClC,CAACA,KAAK,CACP,CAAC;EACD,MAAMa,cAAc,GAAGZ,oBAAoB,IAAIU,kBAAkB;EAEjE,MAAMG,eAAe,GAAG,IAAAC,wBAAW,EAAC;IACnCnB,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBe,cAAc;IACdG,mBAAmB,EAAEjB,WAAW;IAChCG,OAAO;IACPC;EACD,CAAC,CAAC;;EAEF;EACA;EACA,IAAAc,wCAAmB,EAAC;IACnBrB,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRG,gBAAgB;IAChBW,cAAc;IACdP,OAAO;IACPC;EACD,CAAC,CAAC;EAEF,IAAAe,wDAA2B,EAAC;IAC3BtB,OAAO,EAAEC,cAAc;IACvBiB,eAAe;IACfnB;EACD,CAAC,CAAC;EAEF,IAAAwB,kEAAgC,EAAC;IAChCxB,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBM,cAAc;IACdW;EACD,CAAC,CAAC;EAEF,IAAAM,sCAAkB,EAAC;IAClBxB,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRmB;EACD,CAAC,CAAC;AACH,CAAC;AAACO,OAAA,CAAA3B,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_styles","_useBoundaryPresence","_useInitialDestinationMeasurement","_useInitialSourceMeasurement","_useRefreshBoundary","_useMeasurer","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","handoff","escapeClipping","config","anchor","scaleMode","target","method","boundaryConfig","useMemo","preparedStyles","prepareStyleForBounds","measureBoundary","useMeasurer","measuredAnimatedRef","useBoundaryPresence","useInitialSourceMeasurement","useInitialDestinationMeasurement","useRefreshBoundary","exports"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAIA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,oBAAA,GAAAF,OAAA;AACA,IAAAG,iCAAA,GAAAH,OAAA;AACA,IAAAI,4BAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAkBA;AACA;AACA;AACA;AACA;AACO,MAAMO,sBAAsB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,KAAK;EACLC,OAAO;EACPC,cAAc;EACdC;AAC6B,CAAC,KAAK;EACnC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EACpD,MAAMK,cAAc,GAAG,IAAAC,cAAO,EAC7B,OAAO;IAAEL,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAMG,cAAc,GAAG,IAAAD,cAAO,EAAC,MAAM,IAAAE,6BAAqB,EAACX,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMY,eAAe,GAAG,IAAAC,wBAAW,EAAC;IACnCjB,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBY,cAAc;IACdI,mBAAmB,EAAEf,WAAW;IAChCE,OAAO;IACPC;EACD,CAAC,CAAC;;EAEF;EACA;EACA,IAAAa,wCAAmB,EAAC;IACnBnB,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRG,gBAAgB;IAChBU,cAAc;IACdP,OAAO;IACPC;EACD,CAAC,CAAC;EAEF,IAAAc,wDAA2B,EAAC;IAC3BpB,OAAO,EAAEC,cAAc;IACvBe,eAAe;IACfjB;EACD,CAAC,CAAC;EAEF,IAAAsB,kEAAgC,EAAC;IAChCtB,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBK,cAAc;IACdU;EACD,CAAC,CAAC;EAEF,IAAAM,sCAAkB,EAAC;IAClBtB,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRiB;EACD,CAAC,CAAC;AACH,CAAC;AAACO,OAAA,CAAAzB,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -12,12 +12,13 @@ Object.defineProperty(exports, "createBoundaryComponent", {
12
12
  });
13
13
  var _react = require("react");
14
14
  var _reactNative = require("react-native");
15
+ var _reactNativeGestureHandler = require("react-native-gesture-handler");
15
16
  var _boundaryTarget = require("./components/boundary-target");
16
17
  var _createBoundaryComponent = require("./create-boundary-component");
17
18
  var _portal = require("./portal");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  const BoundaryPrimitive = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
20
- const Component = "onPress" in props ? _reactNative.Pressable : _reactNative.View;
21
+ const Component = "onPress" in props ? _reactNativeGestureHandler.Pressable : _reactNative.View;
21
22
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
22
23
  ...props,
23
24
  ref: ref
@@ -26,7 +27,7 @@ const BoundaryPrimitive = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
26
27
  BoundaryPrimitive.displayName = "Transition.Boundary.Primitive";
27
28
  const BoundaryRoot = (0, _createBoundaryComponent.createBoundaryComponent)(BoundaryPrimitive);
28
29
  const BoundaryView = (0, _createBoundaryComponent.createBoundaryComponent)(_reactNative.View);
29
- const BoundaryTrigger = (0, _createBoundaryComponent.createBoundaryComponent)(_reactNative.Pressable);
30
+ const BoundaryTrigger = (0, _createBoundaryComponent.createBoundaryComponent)(_reactNativeGestureHandler.Pressable);
30
31
  BoundaryRoot.displayName = "Transition.Boundary";
31
32
  BoundaryView.displayName = "Transition.Boundary.View";
32
33
  BoundaryTrigger.displayName = "Transition.Boundary.Trigger";
@@ -47,7 +48,7 @@ _portal.Host.displayName = "Transition.Boundary.Host";
47
48
  *
48
49
  * Use:
49
50
  * - `Boundary` for passive and pressable shared elements.
50
- * - `Boundary.Target` to measure a nested descendant instead of the root.
51
+ * - `Boundary.Target` as a direct child to measure it instead of the root.
51
52
  * - `Boundary.Host` to make clipping-escape host placement explicit.
52
53
  */
53
54
 
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_boundaryTarget","_createBoundaryComponent","_portal","_jsxRuntime","BoundaryPrimitive","forwardRef","props","ref","Component","Pressable","View","jsx","displayName","BoundaryRoot","createBoundaryComponent","BoundaryView","BoundaryTrigger","BoundaryTarget","Host","Boundary","exports","Object","assign","Target","Trigger"],"sourceRoot":"../../../../src","sources":["components/boundary/index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAgC,IAAAK,WAAA,GAAAL,OAAA;AAUhC,MAAMM,iBAAiB,gBAAG,IAAAC,iBAAU,EACnC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACf,MAAMC,SAAS,GAAG,SAAS,IAAIF,KAAK,GAAGG,sBAAS,GAAGC,iBAAI;EAEvD,oBAAO,IAAAP,WAAA,CAAAQ,GAAA,EAACH,SAAS;IAAA,GAAMF,KAAK;IAAUC,GAAG,EAAEA;EAAW,CAAE,CAAC;AAC1D,CACD,CAAC;AAEDH,iBAAiB,CAACQ,WAAW,GAAG,+BAA+B;AAE/D,MAAMC,YAAY,GAAG,IAAAC,gDAAuB,EAACV,iBAAiB,CAAC;AAC/D,MAAMW,YAAY,GAAG,IAAAD,gDAAuB,EAACJ,iBAAI,CAAC;AAClD,MAAMM,eAAe,GAAG,IAAAF,gDAAuB,EAACL,sBAAS,CAAC;AAC1DI,YAAY,CAACD,WAAW,GAAG,qBAAqB;AAChDG,YAAY,CAACH,WAAW,GAAG,0BAA0B;AACrDI,eAAe,CAACJ,WAAW,GAAG,6BAA6B;AAC3DK,8BAAc,CAACL,WAAW,GAAG,4BAA4B;AACzDM,YAAI,CAACN,WAAW,GAAG,0BAA0B;;AAI7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBO,MAAMO,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAGE,MAAM,CAACC,MAAM,CAACT,YAAY,EAAE;EACnDU,MAAM,EAAEN,8BAAc;EACtBC,IAAI,EAAJA,YAAI;EACJR,IAAI,EAAEK,YAAY;EAClBS,OAAO,EAAER;AACV,CAAC,CAAsB","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeGestureHandler","_boundaryTarget","_createBoundaryComponent","_portal","_jsxRuntime","BoundaryPrimitive","forwardRef","props","ref","Component","Pressable","View","jsx","displayName","BoundaryRoot","createBoundaryComponent","BoundaryView","BoundaryTrigger","BoundaryTarget","Host","Boundary","exports","Object","assign","Target","Trigger"],"sourceRoot":"../../../../src","sources":["components/boundary/index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,wBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAAgC,IAAAM,WAAA,GAAAN,OAAA;AAUhC,MAAMO,iBAAiB,gBAAG,IAAAC,iBAAU,EACnC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACf,MAAMC,SAAS,GAAG,SAAS,IAAIF,KAAK,GAAGG,oCAAS,GAAGC,iBAAI;EAEvD,oBAAO,IAAAP,WAAA,CAAAQ,GAAA,EAACH,SAAS;IAAA,GAAMF,KAAK;IAAUC,GAAG,EAAEA;EAAW,CAAE,CAAC;AAC1D,CACD,CAAC;AAEDH,iBAAiB,CAACQ,WAAW,GAAG,+BAA+B;AAE/D,MAAMC,YAAY,GAAG,IAAAC,gDAAuB,EAACV,iBAAiB,CAAC;AAC/D,MAAMW,YAAY,GAAG,IAAAD,gDAAuB,EAACJ,iBAAI,CAAC;AAClD,MAAMM,eAAe,GAAG,IAAAF,gDAAuB,EAACL,oCAAS,CAAC;AAC1DI,YAAY,CAACD,WAAW,GAAG,qBAAqB;AAChDG,YAAY,CAACH,WAAW,GAAG,0BAA0B;AACrDI,eAAe,CAACJ,WAAW,GAAG,6BAA6B;AAC3DK,8BAAc,CAACL,WAAW,GAAG,4BAA4B;AACzDM,YAAI,CAACN,WAAW,GAAG,0BAA0B;;AAI7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBO,MAAMO,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAGE,MAAM,CAACC,MAAM,CAACT,YAAY,EAAE;EACnDU,MAAM,EAAEN,8BAAc;EACtBC,IAAI,EAAJA,YAAI;EACJR,IAAI,EAAEK,YAAY;EAClBS,OAAO,EAAER;AACV,CAAC,CAAsB","ignoreList":[]}
@@ -4,221 +4,80 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useBoundaryContentPortalAttachment = void 0;
7
- var _react = require("react");
8
7
  var _reactNativeReanimated = require("react-native-reanimated");
9
- var _reactNativeWorklets = require("react-native-worklets");
10
8
  var _descriptors = require("../../../../../../providers/screen/descriptors");
11
9
  var _styles = require("../../../../../../providers/screen/styles");
12
- var _slotReferences = require("../../../../../../providers/screen/styles/stores/slot-references.store");
10
+ var _transitionVisualState = require("../../../../../../providers/screen/styles/helpers/transition-visual-state");
13
11
  var _animation = require("../../../../../../stores/animation.store");
14
- var _linkPairs = require("../../../../../../stores/bounds/helpers/link-pairs.helpers");
15
12
  var _state = require("../../../../../../stores/bounds/internals/state");
13
+ var _system = require("../../../../../../stores/system.store");
14
+ var _handoffTarget = require("../../../utils/handoff-target");
16
15
  var _naming = require("../../../utils/naming");
17
- var _ownership = require("../../../utils/ownership");
18
- var _shallowEqual = require("../../../utils/shallow-equal");
19
16
  var _teleportControl = require("../../../utils/teleport-control");
20
- var _visibleHost = require("../../../utils/visible-host");
21
17
  var _hostName = require("../helpers/host-name");
22
18
  const useBoundaryContentPortalAttachment = ({
23
- boundaryId,
24
- enabled
19
+ boundaryId
25
20
  }) => {
26
- const ownScreenSlots = (0, _styles.useScreenSlots)();
21
+ const {
22
+ slotsMap
23
+ } = (0, _styles.useScreenSlots)();
27
24
  const sourcePairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.sourcePairKey);
28
25
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
29
- const [ownership, setOwnership] = (0, _react.useState)(null);
30
- const styleOwnerScreenKey = ownership?.ownerScreenKey ?? currentScreenKey;
31
- const ownerScreenSlots = (0, _slotReferences.useRegisteredScreenSlots)(styleOwnerScreenKey);
32
- const activeScreenSlots = ownerScreenSlots ?? ownScreenSlots;
33
- const {
34
- nextInterpolatorReady: activeNextInterpolatorReady,
35
- slotsMap: activeSlotsMap
36
- } = activeScreenSlots;
37
- const requestedPortalHostName = (0, _reactNativeReanimated.useSharedValue)(null);
38
- const visiblePortalHostName = (0, _reactNativeReanimated.useSharedValue)(null);
39
- const canSwitchPortalHostImmediately = (0, _reactNativeReanimated.useSharedValue)(0);
40
- const targetScreenKey = ownership ? ownership.hostScreenKey : null;
41
- const settledHostScreenKey = ownership?.hostScreenKey ?? null;
42
- const settledHostProgress = _animation.AnimationStore.getValue(settledHostScreenKey ?? currentScreenKey, "progressSettled");
43
- const settledHostAnimating = _animation.AnimationStore.getValue(settledHostScreenKey ?? currentScreenKey, "progressAnimating");
44
- const settledHostWillAnimate = _animation.AnimationStore.getValue(settledHostScreenKey ?? currentScreenKey, "willAnimate");
45
- const settledHostClosing = _animation.AnimationStore.getValue(settledHostScreenKey ?? currentScreenKey, "closing");
46
- const handoffHostName = targetScreenKey !== null ? (0, _hostName.createBoundaryContentPortalHostName)(targetScreenKey, boundaryId) : null;
47
- const updatePortalOwnership = (0, _react.useCallback)((hostScreenKey, ownerPairKey, ownerScreenKey) => {
48
- if (hostScreenKey && ownerPairKey && ownerScreenKey) {
49
- setOwnership(current => {
50
- if (current?.hostScreenKey === hostScreenKey && current.ownerPairKey === ownerPairKey && current.ownerScreenKey === ownerScreenKey) {
51
- return current;
52
- }
53
- return {
54
- hostScreenKey,
55
- ownerPairKey,
56
- ownerScreenKey,
57
- status: "complete"
58
- };
59
- });
60
- return;
61
- }
62
- setOwnership(current => current ? null : current);
63
- }, []);
64
- (0, _react.useLayoutEffect)(() => {
65
- if (!enabled || !ownership || !handoffHostName) {
66
- requestedPortalHostName.set(null);
67
- visiblePortalHostName.set(null);
68
- return;
69
- }
70
- requestedPortalHostName.set(handoffHostName);
71
- }, [enabled, handoffHostName, ownership, requestedPortalHostName, visiblePortalHostName]);
72
- (0, _react.useLayoutEffect)(() => {
73
- return () => {
74
- requestedPortalHostName.set(null);
75
- visiblePortalHostName.set(null);
76
- };
77
- }, [requestedPortalHostName, visiblePortalHostName]);
78
- (0, _reactNativeReanimated.useAnimatedReaction)(() => {
79
- "worklet";
26
+ const nextScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.nextScreenKey);
27
+ const destinationScreenKey = nextScreenKey ?? currentScreenKey;
28
+ const destinationAnimationProgress = _system.SystemStore.getValue(destinationScreenKey, "animationProgress");
29
+ const destinationClosing = _animation.AnimationStore.getValue(destinationScreenKey, "closing");
80
30
 
81
- if (!enabled) {
82
- return {
83
- hostScreenKey: null,
84
- ownerPairKey: sourcePairKey,
85
- ownerScreenKey: null,
86
- status: "clear"
87
- };
88
- }
89
- const progressAnimating = settledHostAnimating.get();
90
- const progressSettled = settledHostProgress.get();
91
- const willAnimate = settledHostWillAnimate.get();
92
- const closing = settledHostClosing.get();
93
- const isOwnedHostClosing = !!closing && !!ownership && settledHostScreenKey === ownership.hostScreenKey;
94
- if (isOwnedHostClosing && ownership) {
95
- const isClosingComplete = (0, _ownership.isHandoffHostClosingComplete)({
96
- closing,
97
- progressAnimating,
98
- progressSettled,
99
- willAnimate
100
- });
101
- if (!isClosingComplete) {
102
- return ownership;
103
- }
104
- const sourceScreenKey = (0, _linkPairs.getSourceScreenKeyFromPairKey)(ownership.ownerPairKey);
105
- return {
106
- hostScreenKey: sourceScreenKey,
107
- ownerPairKey: ownership.ownerPairKey,
108
- ownerScreenKey: sourceScreenKey,
109
- status: "complete"
110
- };
111
- }
112
- if (!sourcePairKey) {
113
- return {
114
- hostScreenKey: null,
115
- ownerPairKey: sourcePairKey,
116
- ownerScreenKey: null,
117
- status: "clear"
118
- };
119
- }
120
- return (0, _ownership.resolveBoundaryPortalOwnership)({
121
- boundaryId,
122
- currentScreenKey,
123
- handoff: true,
124
- isSettledHostClosingComplete: (0, _ownership.isHandoffHostClosingComplete)({
125
- closing,
126
- progressAnimating,
127
- progressSettled,
128
- willAnimate
129
- }),
130
- isSettledHostReady: progressSettled === 1 && progressAnimating === 0,
131
- pairsState: _state.pairs.get(),
132
- settledHostScreenKey,
133
- sourcePairKey
134
- });
135
- }, (signal, previousSignal) => {
136
- "worklet";
137
-
138
- if ((0, _shallowEqual.shallowEqual)(previousSignal, signal)) {
139
- return;
140
- }
141
- if (signal.status === "pending") {
142
- canSwitchPortalHostImmediately.set(0);
143
- return;
144
- }
145
- const hostScreenKey = signal.status === "complete" ? signal.hostScreenKey : null;
146
- let previousOwnerPairKey;
147
- if (previousSignal?.status === "complete") {
148
- previousOwnerPairKey = previousSignal.ownerPairKey ?? undefined;
149
- }
150
- const canSwitchImmediately = (0, _ownership.canSwitchHandoffHostImmediately)({
151
- hostScreenKey,
152
- ownerPairKey: signal.status === "complete" ? signal.ownerPairKey : undefined,
153
- previousOwnerPairKey
154
- });
155
- canSwitchPortalHostImmediately.set(canSwitchImmediately ? 1 : 0);
156
- if (canSwitchImmediately && hostScreenKey) {
157
- const hostName = (0, _hostName.createBoundaryContentPortalHostName)(hostScreenKey, boundaryId);
158
- requestedPortalHostName.set(hostName);
159
- visiblePortalHostName.set(hostName);
160
- }
161
- (0, _reactNativeWorklets.scheduleOnRN)(updatePortalOwnership, signal.hostScreenKey, signal.ownerPairKey, signal.ownerScreenKey ?? undefined);
162
- });
163
- (0, _reactNativeReanimated.useAnimatedReaction)(() => {
164
- "worklet";
165
-
166
- const slot = activeSlotsMap.get()[boundaryId];
167
- const teleport = slot?.props?.teleport;
168
- const shouldTeleport = (0, _teleportControl.shouldAttachBoundaryPortal)({
169
- enabled,
170
- teleport
171
- });
172
- const requestedName = requestedPortalHostName.get();
173
- const visibleName = visiblePortalHostName.get();
174
- const isInterpolatorReady = activeNextInterpolatorReady.get();
175
- const nextVisibleName = (0, _visibleHost.resolveNextVisiblePortalHostName)({
176
- canSwitchImmediately: canSwitchPortalHostImmediately.get() === 1,
177
- isInterpolatorReady: isInterpolatorReady === 1,
178
- requestedName,
179
- shouldTeleport,
180
- visibleName
181
- });
182
- return {
183
- isInterpolatorReady,
184
- nextVisibleName,
185
- requestedName,
186
- shouldTeleport,
187
- teleport,
188
- visibleName
189
- };
190
- }, (state, previousState) => {
191
- "worklet";
192
-
193
- if ((0, _shallowEqual.shallowEqual)(previousState, state)) {
194
- return;
195
- }
196
- if (state.nextVisibleName !== state.visibleName) {
197
- visiblePortalHostName.set(state.nextVisibleName);
198
- }
199
- });
31
+ // `nextScreenKey` can change while the previously attached destination is
32
+ // still closing. Retain that destination's lifecycle shared values so this
33
+ // payload follows the screen that actually hosts it, not the newest route.
34
+ const attachedDestination = (0, _reactNativeReanimated.useSharedValue)(null);
200
35
  const teleportProps = (0, _reactNativeReanimated.useAnimatedProps)(() => {
201
36
  "worklet";
202
37
 
203
- const slot = activeSlotsMap.get()[boundaryId];
38
+ const slot = slotsMap.get()[boundaryId];
204
39
  const {
205
40
  pointerEvents: _pointerEvents,
206
41
  teleport,
207
42
  ...slotProps
208
43
  } = slot?.props ?? {};
209
- const shouldTeleport = (0, _teleportControl.shouldAttachBoundaryPortal)({
210
- enabled,
211
- teleport
44
+ const animationProgress = destinationAnimationProgress.get();
45
+ const shouldTeleport = (0, _teleportControl.isTeleportEnabled)(teleport);
46
+ const pairsState = _state.pairs.get();
47
+ const enteringTargetScreenKey = shouldTeleport ? (0, _handoffTarget.resolveEnteringHandoffTarget)({
48
+ animationProgress,
49
+ boundaryId,
50
+ currentScreenKey,
51
+ pairsState,
52
+ sourcePairKey
53
+ }) : null;
54
+ if (enteringTargetScreenKey) {
55
+ // A valid entering pair is the only event that replaces the current
56
+ // attachment and its lifecycle owner.
57
+ attachedDestination.set({
58
+ animationProgress: destinationAnimationProgress,
59
+ closing: destinationClosing,
60
+ screenKey: enteringTargetScreenKey
61
+ });
62
+ }
63
+ const attached = attachedDestination.get();
64
+ const hasAttachedCloseFinished = attached !== null && (0, _transitionVisualState.hasCloseTransitionFinished)({
65
+ animationProgress: attached.animationProgress.get(),
66
+ closing: attached.closing.get()
212
67
  });
213
- const visibleName = visiblePortalHostName.get();
68
+
69
+ // Missing or changing pairs do not imply a return: keep the current host
70
+ // until its own screen visually closes. At that point, target the source
71
+ // host explicitly instead of `null` so Teleport restores source dimensions.
72
+ const targetScreenKey = enteringTargetScreenKey ? enteringTargetScreenKey : shouldTeleport ? hasAttachedCloseFinished ? currentScreenKey : attached?.screenKey ?? null : null;
73
+ const targetHostName = targetScreenKey ? (0, _hostName.createBoundaryContentPortalHostName)(targetScreenKey, boundaryId) : _naming.PORTAL_HOST_NAME_RESET_VALUE;
214
74
  return {
215
75
  ...slotProps,
216
- hostName: shouldTeleport && visibleName ? visibleName : _naming.PORTAL_HOST_NAME_RESET_VALUE
76
+ hostName: targetHostName
217
77
  };
218
78
  });
219
79
  return {
220
- teleportProps,
221
- visiblePortalHostName
80
+ teleportProps
222
81
  };
223
82
  };
224
83
  exports.useBoundaryContentPortalAttachment = useBoundaryContentPortalAttachment;