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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) hide show
  1. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +14 -9
  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 +66 -28
  4. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  5. package/lib/commonjs/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +8 -4
  6. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
  7. package/lib/commonjs/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +27 -10
  8. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
  9. package/lib/commonjs/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +5 -7
  10. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
  11. package/lib/commonjs/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +4 -4
  12. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
  13. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +14 -35
  14. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +5 -6
  16. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/index.js +26 -29
  18. package/lib/commonjs/shared/components/boundary/index.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +58 -0
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
  21. package/lib/commonjs/shared/components/boundary/portal/components/host.js +20 -4
  22. package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
  24. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/portal/components/portal.js +206 -96
  26. package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
  27. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js +14 -2
  28. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
  29. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js +5 -44
  30. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
  31. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js +37 -5
  32. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
  33. package/lib/commonjs/shared/components/boundary/portal/teleport.js +15 -2
  34. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
  35. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js +18 -0
  36. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
  37. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +10 -3
  38. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
  39. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js +28 -49
  40. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
  41. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +254 -0
  42. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -0
  43. package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js +38 -0
  44. package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
  45. package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js +29 -0
  46. package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
  47. package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js +10 -1
  48. package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
  49. package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js +25 -0
  50. package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
  51. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +6 -7
  52. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  53. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +1 -22
  54. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
  55. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -21
  56. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  57. package/lib/commonjs/shared/components/boundary/utils/source-signals.js +4 -9
  58. package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +1 -1
  59. package/lib/commonjs/shared/index.js.map +1 -1
  60. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +6 -3
  61. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  62. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +1 -0
  63. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  64. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +1 -0
  65. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  66. package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js +95 -0
  67. package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
  68. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
  69. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  70. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +9 -3
  71. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  72. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
  73. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  74. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +96 -0
  75. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
  76. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +16 -3
  77. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  78. package/lib/commonjs/shared/providers/screen/styles/index.js +16 -3
  79. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  80. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +22 -51
  81. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  82. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +53 -0
  83. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
  84. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +22 -2
  85. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  86. package/lib/commonjs/shared/stores/bounds/internals/entries.js +11 -4
  87. package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
  88. package/lib/commonjs/shared/stores/bounds/internals/links.js +134 -51
  89. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  90. package/lib/commonjs/shared/stores/bounds/internals/resolver.js +1 -3
  91. package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
  92. package/lib/commonjs/shared/stores/system.store.js +5 -0
  93. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  94. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +10 -69
  95. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  96. package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js +59 -0
  97. package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
  98. package/lib/module/shared/components/boundary/components/boundary-target.js +12 -7
  99. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  100. package/lib/module/shared/components/boundary/create-boundary-component.js +67 -29
  101. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  102. package/lib/module/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +8 -4
  103. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
  104. package/lib/module/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +27 -10
  105. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
  106. package/lib/module/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +5 -7
  107. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
  108. package/lib/module/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +4 -4
  109. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
  110. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +15 -36
  111. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  112. package/lib/module/shared/components/boundary/hooks/use-measurer.js +5 -6
  113. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  114. package/lib/module/shared/components/boundary/index.js +26 -29
  115. package/lib/module/shared/components/boundary/index.js.map +1 -1
  116. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +53 -0
  117. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
  118. package/lib/module/shared/components/boundary/portal/components/host.js +21 -5
  119. package/lib/module/shared/components/boundary/portal/components/host.js.map +1 -1
  120. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js +53 -32
  121. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  122. package/lib/module/shared/components/boundary/portal/components/portal.js +212 -102
  123. package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
  124. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js +15 -3
  125. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
  126. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js +4 -41
  127. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
  128. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js +35 -4
  129. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
  130. package/lib/module/shared/components/boundary/portal/teleport.js +16 -2
  131. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  132. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js +13 -0
  133. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
  134. package/lib/module/shared/components/boundary/portal/utils/naming.js +8 -2
  135. package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
  136. package/lib/module/shared/components/boundary/portal/utils/offset-style.js +29 -49
  137. package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
  138. package/lib/module/shared/components/boundary/portal/utils/ownership.js +246 -0
  139. package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -0
  140. package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js +33 -0
  141. package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
  142. package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js +24 -0
  143. package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
  144. package/lib/module/shared/components/boundary/portal/utils/teleport-control.js +8 -0
  145. package/lib/module/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
  146. package/lib/module/shared/components/boundary/portal/utils/visible-host.js +20 -0
  147. package/lib/module/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
  148. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +6 -7
  149. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  150. package/lib/module/shared/components/boundary/utils/destination-signals.js +2 -23
  151. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
  152. package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -21
  153. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  154. package/lib/module/shared/components/boundary/utils/source-signals.js +4 -9
  155. package/lib/module/shared/components/boundary/utils/source-signals.js.map +1 -1
  156. package/lib/module/shared/index.js.map +1 -1
  157. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +6 -3
  158. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  159. package/lib/module/shared/providers/screen/animation/helpers/derivations.js +1 -0
  160. package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  161. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +1 -0
  162. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  163. package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js +89 -0
  164. package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
  165. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
  166. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  167. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +9 -3
  168. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  169. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
  170. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  171. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +87 -0
  172. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
  173. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +16 -3
  174. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  175. package/lib/module/shared/providers/screen/styles/index.js +2 -1
  176. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  177. package/lib/module/shared/providers/screen/styles/slot.provider.js +22 -47
  178. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  179. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +47 -0
  180. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
  181. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +19 -1
  182. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  183. package/lib/module/shared/stores/bounds/internals/entries.js +11 -4
  184. package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
  185. package/lib/module/shared/stores/bounds/internals/links.js +135 -53
  186. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  187. package/lib/module/shared/stores/bounds/internals/resolver.js +1 -3
  188. package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
  189. package/lib/module/shared/stores/system.store.js +5 -0
  190. package/lib/module/shared/stores/system.store.js.map +1 -1
  191. package/lib/module/shared/types/animation.types.js.map +1 -1
  192. package/lib/module/shared/utils/bounds/helpers/styles/compute.js +10 -69
  193. package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  194. package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js +52 -0
  195. package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
  196. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +1 -2
  197. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  198. package/lib/typescript/component-stack/components/component-screen.d.ts +1 -1
  199. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
  200. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -2
  201. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
  202. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -1
  203. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  204. package/lib/typescript/native-stack/views/NativeStackView.d.ts +1 -2
  205. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
  206. package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +2 -2
  207. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +1 -1
  208. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
  209. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
  210. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  211. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +1 -1
  212. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -1
  213. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +1 -1
  214. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  215. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +1 -1
  216. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  217. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts +0 -1
  218. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  219. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts +11 -0
  220. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -0
  221. package/lib/typescript/shared/components/boundary/hooks/{use-initial-destination-measurement.d.ts → lifecycles/use-initial-destination-measurement.d.ts} +2 -2
  222. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -0
  223. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts +8 -0
  224. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -0
  225. package/lib/typescript/shared/components/boundary/hooks/{use-refresh-boundary.d.ts → lifecycles/use-refresh-boundary.d.ts} +2 -2
  226. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -0
  227. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +5 -9
  228. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  229. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +4 -3
  230. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  231. package/lib/typescript/shared/components/boundary/index.d.ts +35 -24
  232. package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
  233. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +8 -0
  234. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +1 -0
  235. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts +2 -2
  236. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
  237. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +2 -2
  238. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
  239. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts +1 -1
  240. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts.map +1 -1
  241. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +4 -3
  242. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
  243. package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -1
  244. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts +0 -7
  245. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -1
  246. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts +16 -1
  247. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  248. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -1
  249. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  250. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +3 -0
  251. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +1 -0
  252. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +2 -1
  253. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
  254. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts +16 -32
  255. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +1 -1
  256. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +35 -0
  257. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -0
  258. package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts +12 -0
  259. package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -0
  260. package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts +8 -0
  261. package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts.map +1 -0
  262. package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts +4 -0
  263. package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
  264. package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts +8 -0
  265. package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts.map +1 -0
  266. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +7 -12
  267. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  268. package/lib/typescript/shared/components/boundary/types.d.ts +9 -36
  269. package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
  270. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
  271. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  272. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -1
  273. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +1 -1
  274. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +6 -5
  275. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  276. package/lib/typescript/shared/components/masked-view.d.ts +1 -1
  277. package/lib/typescript/shared/components/masked-view.d.ts.map +1 -1
  278. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
  279. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  280. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
  281. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  282. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  283. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  284. package/lib/typescript/shared/components/screen-container/index.d.ts +1 -1
  285. package/lib/typescript/shared/components/screen-container/index.d.ts.map +1 -1
  286. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +1 -1
  287. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  288. package/lib/typescript/shared/components/screen-container/layers/content.d.ts +1 -1
  289. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  290. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts +1 -1
  291. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  292. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts +1 -1
  293. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
  294. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -1
  295. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  296. package/lib/typescript/shared/index.d.ts +711 -667
  297. package/lib/typescript/shared/index.d.ts.map +1 -1
  298. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +3 -3
  299. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
  300. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +1 -0
  301. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
  302. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  303. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +1 -1
  304. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  305. package/lib/typescript/shared/providers/screen/screen-composer.d.ts +1 -1
  306. package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
  307. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +1 -1
  308. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -1
  309. package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts +4 -0
  310. package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts.map +1 -0
  311. package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts.map +1 -1
  312. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  313. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts +2 -1
  314. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
  315. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +11 -0
  316. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -0
  317. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -1
  318. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  319. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -2
  320. package/lib/typescript/shared/providers/screen/styles/index.d.ts +2 -1
  321. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  322. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +5 -10
  323. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  324. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +6 -0
  325. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +1 -0
  326. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +2 -0
  327. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
  328. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
  329. package/lib/typescript/shared/stores/bounds/internals/links.d.ts +4 -3
  330. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  331. package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
  332. package/lib/typescript/shared/stores/bounds/types.d.ts +9 -20
  333. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  334. package/lib/typescript/shared/stores/system.store.d.ts +1 -0
  335. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  336. package/lib/typescript/shared/types/animation.types.d.ts +7 -1
  337. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  338. package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
  339. package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts +6 -0
  340. package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts.map +1 -0
  341. package/package.json +1 -1
  342. package/src/shared/components/boundary/components/boundary-target.tsx +21 -7
  343. package/src/shared/components/boundary/create-boundary-component.tsx +92 -28
  344. package/src/shared/components/boundary/hooks/{use-boundary-presence.ts → lifecycles/use-boundary-presence.ts} +16 -5
  345. package/src/shared/components/boundary/hooks/{use-initial-destination-measurement.ts → lifecycles/use-initial-destination-measurement.ts} +40 -13
  346. package/src/shared/components/boundary/hooks/{use-initial-source-measurement.ts → lifecycles/use-initial-source-measurement.ts} +7 -9
  347. package/src/shared/components/boundary/hooks/{use-refresh-boundary.ts → lifecycles/use-refresh-boundary.ts} +6 -6
  348. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +15 -45
  349. package/src/shared/components/boundary/hooks/use-measurer.ts +9 -14
  350. package/src/shared/components/boundary/index.tsx +55 -29
  351. package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +66 -0
  352. package/src/shared/components/boundary/portal/components/host.tsx +20 -5
  353. package/src/shared/components/boundary/portal/components/portal-boundary-host.tsx +67 -52
  354. package/src/shared/components/boundary/portal/components/portal.tsx +280 -119
  355. package/src/shared/components/boundary/portal/hooks/use-host-measurement.ts +23 -2
  356. package/src/shared/components/boundary/portal/stores/host-registry.store.ts +4 -51
  357. package/src/shared/components/boundary/portal/stores/portal-boundary-host.store.ts +59 -6
  358. package/src/shared/components/boundary/portal/teleport.ts +28 -3
  359. package/src/shared/components/boundary/portal/utils/has-local-slot.ts +16 -0
  360. package/src/shared/components/boundary/portal/utils/naming.ts +11 -1
  361. package/src/shared/components/boundary/portal/utils/offset-style.ts +37 -139
  362. package/src/shared/components/boundary/portal/utils/ownership.ts +371 -0
  363. package/src/shared/components/boundary/portal/utils/resolve-portal.ts +50 -0
  364. package/src/shared/components/boundary/portal/utils/shallow-equal.ts +25 -0
  365. package/src/shared/components/boundary/portal/utils/teleport-control.ts +12 -0
  366. package/src/shared/components/boundary/portal/utils/visible-host.ts +24 -0
  367. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +9 -18
  368. package/src/shared/components/boundary/types.ts +9 -39
  369. package/src/shared/components/boundary/utils/destination-signals.ts +1 -32
  370. package/src/shared/components/boundary/utils/refresh-signals.ts +0 -41
  371. package/src/shared/components/boundary/utils/source-signals.ts +5 -17
  372. package/src/shared/index.ts +0 -5
  373. package/src/shared/providers/helpers/measured-bounds-writes.ts +6 -11
  374. package/src/shared/providers/screen/animation/helpers/derivations.ts +3 -0
  375. package/src/shared/providers/screen/animation/helpers/pipeline.ts +1 -0
  376. package/src/shared/providers/screen/styles/helpers/compose-slot-style.ts +129 -0
  377. package/src/shared/providers/screen/styles/helpers/normalize-slots.ts +45 -8
  378. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +14 -2
  379. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +3 -0
  380. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +111 -0
  381. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +21 -3
  382. package/src/shared/providers/screen/styles/index.tsx +8 -3
  383. package/src/shared/providers/screen/styles/slot.provider.tsx +36 -54
  384. package/src/shared/providers/screen/styles/stores/slot-references.store.ts +71 -0
  385. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +24 -1
  386. package/src/shared/stores/bounds/internals/entries.ts +13 -5
  387. package/src/shared/stores/bounds/internals/links.ts +167 -85
  388. package/src/shared/stores/bounds/internals/resolver.ts +0 -2
  389. package/src/shared/stores/bounds/types.ts +10 -22
  390. package/src/shared/stores/system.store.ts +6 -0
  391. package/src/shared/types/animation.types.ts +8 -1
  392. package/src/shared/utils/bounds/helpers/styles/compute.ts +22 -124
  393. package/src/shared/utils/bounds/helpers/styles/local-transform.ts +86 -0
  394. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
  395. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
  396. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
  397. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
  398. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js +0 -36
  399. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js.map +0 -1
  400. package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js +0 -40
  401. package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js.map +0 -1
  402. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
  403. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
  404. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
  405. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
  406. package/lib/module/shared/components/boundary/portal/resolve-portal.js +0 -31
  407. package/lib/module/shared/components/boundary/portal/resolve-portal.js.map +0 -1
  408. package/lib/module/shared/components/boundary/portal/utils/attachment.js +0 -35
  409. package/lib/module/shared/components/boundary/portal/utils/attachment.js.map +0 -1
  410. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +0 -9
  411. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +0 -1
  412. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +0 -1
  413. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +0 -9
  414. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +0 -1
  415. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +0 -1
  416. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts +0 -14
  417. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts.map +0 -1
  418. package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts +0 -21
  419. package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts.map +0 -1
  420. package/src/shared/components/boundary/portal/resolve-portal.ts +0 -40
  421. package/src/shared/components/boundary/portal/utils/attachment.ts +0 -48
@@ -24,9 +24,13 @@ export interface BoundTag {
24
24
  linkKey: LinkKey;
25
25
  group?: GroupKey;
26
26
  }
27
- export type BoundsPortalAttachTarget = "current-screen" | "matched-screen";
28
27
  export type { ScreenKey } from "../../types/screen.types";
29
28
 
29
+ export type BoundaryRuntimeFlags = {
30
+ handoff?: boolean;
31
+ escapeClipping?: boolean;
32
+ };
33
+
30
34
  type BoundaryConfig = {
31
35
  anchor?: BoundsAnchor;
32
36
  scaleMode?: BoundsScaleMode;
@@ -38,7 +42,7 @@ export type Entry = {
38
42
  bounds: MeasuredDimensions | null;
39
43
  styles: StyleProps;
40
44
  boundaryConfig?: BoundaryConfig;
41
- };
45
+ } & BoundaryRuntimeFlags;
42
46
 
43
47
  export type MeasuredEntry = Entry & {
44
48
  bounds: MeasuredDimensions;
@@ -48,6 +52,8 @@ export type EntryPatch = {
48
52
  bounds?: MeasuredDimensions | null;
49
53
  styles?: StyleProps | null;
50
54
  boundaryConfig?: BoundaryConfig | null;
55
+ handoff?: boolean | null;
56
+ escapeClipping?: boolean | null;
51
57
  };
52
58
 
53
59
  export type ScreenIdentifier = {
@@ -60,24 +66,7 @@ export type BoundsLinkStatus =
60
66
  | "complete";
61
67
 
62
68
  export type TagLinkSide = ScreenIdentifier & MeasuredEntry;
63
-
64
- /**
65
- * The source screen's active portal host at measure time. Recorded only when
66
- * that host captures scroll (a Transition.ScrollView scope) — matched-screen
67
- * placement uses it as a coordinate space to express the source rect in the
68
- * source ScrollView's live frame. The portal never attaches here.
69
- */
70
- export type SourceHostRef = {
71
- hostKey: string;
72
- capturesScroll: boolean;
73
- };
74
-
75
- export type SourceTagLinkSide = TagLinkSide & {
76
- /** Where this boundary's portal content renders during the transition. */
77
- portalAttachTarget?: BoundsPortalAttachTarget;
78
- /** Scroll-scoped host the source originated from, if any. */
79
- sourceHost?: SourceHostRef;
80
- };
69
+ export type SourceTagLinkSide = TagLinkSide;
81
70
 
82
71
  type TagLinkBase = {
83
72
  group?: GroupKey;
@@ -128,8 +117,6 @@ export type ResolvedTransitionPair = {
128
117
  destinationStyles: StyleProps | null;
129
118
  sourceScreenKey: ScreenKey | null;
130
119
  destinationScreenKey: ScreenKey | null;
131
- sourcePortalAttachTarget?: BoundsPortalAttachTarget;
132
- sourceHost?: SourceHostRef;
133
120
  };
134
121
 
135
122
  export type LinkGroupState = {
@@ -140,6 +127,7 @@ export type LinkGroupState = {
140
127
  export type LinkPairState = {
141
128
  links: Record<LinkKey, TagLink>;
142
129
  groups: Record<GroupKey, LinkGroupState>;
130
+ sourceRequests?: Record<LinkKey, true>;
143
131
  };
144
132
 
145
133
  export type LinkPairsState = Record<ScreenPairKey, LinkPairState>;
@@ -51,6 +51,7 @@ export interface SystemStoreActions {
51
51
  clearLifecycleTransitionRequest(): void;
52
52
  blockLifecycleStart(): void;
53
53
  unblockLifecycleStart(): void;
54
+ drainLifecycleStartBlocks(): void;
54
55
  }
55
56
 
56
57
  export type SystemStoreMap = SystemStoreState & {
@@ -108,5 +109,10 @@ export const SystemStore = createStore<SystemStoreState, SystemStoreActions>({
108
109
  Math.max(0, bag.pendingLifecycleStartBlockCount.get() - 1),
109
110
  );
110
111
  },
112
+
113
+ drainLifecycleStartBlocks() {
114
+ "worklet";
115
+ bag.pendingLifecycleStartBlockCount.set(0);
116
+ },
111
117
  }),
112
118
  });
@@ -1,5 +1,5 @@
1
1
  import type { TextStyle, ViewStyle } from "react-native";
2
- import type { StyleProps } from "react-native-reanimated";
2
+ import type { StyleProps, TransformArrayItem } from "react-native-reanimated";
3
3
  import type { EdgeInsets } from "react-native-safe-area-context";
4
4
  import {
5
5
  NAVIGATION_MASK_CONTAINER_STYLE_ID,
@@ -223,6 +223,12 @@ export interface ScreenInterpolationProps {
223
223
  */
224
224
  progress: number;
225
225
 
226
+ /**
227
+ * Combined transition progress of current and next screens, without live
228
+ * gesture contribution.
229
+ */
230
+ transitionProgress: number;
231
+
226
232
  /**
227
233
  * Accumulated progress from the current screen's position onwards in the stack.
228
234
  * Unlike `progress` (0-2), this ranges from 0-N where N is the number of screens
@@ -346,6 +352,7 @@ export type TransitionInterpolatorOptions = Omit<
346
352
  export type NormalizedTransitionSlotStyle = {
347
353
  style?: StyleProps;
348
354
  props?: TransitionSlotProps;
355
+ boundsLocalTransform?: TransformArrayItem[];
349
356
  };
350
357
 
351
358
  /**
@@ -5,11 +5,11 @@ import {
5
5
  FULLSCREEN_DIMENSIONS,
6
6
  NO_STYLES,
7
7
  } from "../../../../constants";
8
+ import { createScreenPairKey } from "../../../../stores/bounds/helpers/link-pairs.helpers";
9
+ import { requestSourceMeasure } from "../../../../stores/bounds/internals/links";
8
10
  import { resolveTransitionPair } from "../../../../stores/bounds/internals/resolver";
9
11
  import type { ResolvedTransitionPair } from "../../../../stores/bounds/types";
10
- import { getClampedScrollAxisDelta } from "../../../../stores/scroll.store";
11
12
  import type { ScreenTransitionState } from "../../../../types/animation.types";
12
- import type { ScrollMetadataState } from "../../../../types/gesture.types";
13
13
  import type { Layout } from "../../../../types/screen.types";
14
14
  import type {
15
15
  BoundId,
@@ -28,49 +28,7 @@ import {
28
28
  composeTransformRelative,
29
29
  type ElementComposeParams,
30
30
  } from "./composers";
31
-
32
- const getBoundsScrollSnapshot = (
33
- bounds: MeasuredDimensions | null,
34
- ): ScrollMetadataState | null => {
35
- "worklet";
36
- return (
37
- (bounds as { scroll?: ScrollMetadataState | null } | null)?.scroll ?? null
38
- );
39
- };
40
-
41
- const getScreenScrollMetadata = (
42
- screenKey: string | null,
43
- previous: ScreenTransitionState | undefined,
44
- current: ScreenTransitionState | undefined,
45
- next: ScreenTransitionState | undefined,
46
- ): ScrollMetadataState | null => {
47
- "worklet";
48
- if (!screenKey) return null;
49
- if (previous?.route.key === screenKey)
50
- return previous.layouts?.scroll ?? null;
51
- if (current?.route.key === screenKey) return current.layouts?.scroll ?? null;
52
- if (next?.route.key === screenKey) return next.layouts?.scroll ?? null;
53
- return null;
54
- };
55
-
56
- const shiftBounds = (
57
- bounds: MeasuredDimensions,
58
- dx: number,
59
- dy: number,
60
- ): MeasuredDimensions => {
61
- "worklet";
62
- if (dx === 0 && dy === 0) {
63
- return bounds;
64
- }
65
-
66
- return {
67
- ...bounds,
68
- x: bounds.x + dx,
69
- y: bounds.y + dy,
70
- pageX: bounds.pageX + dx,
71
- pageY: bounds.pageY + dy,
72
- };
73
- };
31
+ import { attachBoundsLocalTransform } from "./local-transform";
74
32
 
75
33
  const resolveStartEnd = (params: {
76
34
  id: BoundId;
@@ -94,6 +52,12 @@ const resolveStartEnd = (params: {
94
52
  const currentScreenKey = params.current?.route.key;
95
53
  const previousScreenKey = params.previous?.route.key;
96
54
  const nextScreenKey = params.next?.route.key;
55
+ const sourceMeasurePairKey =
56
+ entering && previousScreenKey && currentScreenKey
57
+ ? createScreenPairKey(previousScreenKey, currentScreenKey)
58
+ : !entering && currentScreenKey && nextScreenKey
59
+ ? createScreenPairKey(currentScreenKey, nextScreenKey)
60
+ : null;
97
61
 
98
62
  const resolvedPair =
99
63
  params.resolvedPair ??
@@ -108,6 +72,10 @@ const resolveStartEnd = (params: {
108
72
  const destinationBounds = resolvedPair.destinationBounds;
109
73
 
110
74
  if (!sourceBounds) {
75
+ if (hasTargetOverride && sourceMeasurePairKey) {
76
+ requestSourceMeasure(sourceMeasurePairKey, String(params.id));
77
+ }
78
+
111
79
  return {
112
80
  start: null,
113
81
  end: null,
@@ -132,80 +100,7 @@ const resolveStartEnd = (params: {
132
100
  };
133
101
  }
134
102
 
135
- /**
136
- * Teleport continuity: this screen's source content physically renders
137
- * inside the matched screen's portal host, which travels with that screen's
138
- * ScrollView. Screen-fixed rects (the source, fullscreen/custom targets)
139
- * must be expressed in the host's frame by the clamped scroll travel since
140
- * the destination capture. The destination rect rides with the host, so it
141
- * stays untouched. Classic two-component links never set a portal host and
142
- * skip this entirely.
143
- */
144
- const isTeleportedSourceElement =
145
- resolvedPair.sourcePortalAttachTarget === "matched-screen" &&
146
- !!currentScreenKey &&
147
- currentScreenKey === resolvedPair.sourceScreenKey &&
148
- !!resolvedPair.destinationScreenKey &&
149
- currentScreenKey !== resolvedPair.destinationScreenKey &&
150
- params.computeOptions.method !== "content";
151
-
152
- let teleportShiftX = 0;
153
- let teleportShiftY = 0;
154
- let sourceScrollShiftX = 0;
155
- let sourceScrollShiftY = 0;
156
-
157
- if (isTeleportedSourceElement) {
158
- const capturedScroll = getBoundsScrollSnapshot(destinationBounds);
159
- const liveScroll = getScreenScrollMetadata(
160
- resolvedPair.destinationScreenKey,
161
- params.previous,
162
- params.current,
163
- params.next,
164
- );
165
- teleportShiftX = getClampedScrollAxisDelta(
166
- liveScroll,
167
- capturedScroll,
168
- "horizontal",
169
- );
170
- teleportShiftY = getClampedScrollAxisDelta(
171
- liveScroll,
172
- capturedScroll,
173
- "vertical",
174
- );
175
-
176
- // A source that lives inside its own scroll host travels with that
177
- // ScrollView in page space. Shifting the start rect by the clamped source
178
- // scroll travel keeps it aligned with the live placeholder; the host
179
- // placement applies the identical shift, so the shifts cancel at full
180
- // progress and the open frame is untouched. Screen-fixed rects (the
181
- // fullscreen/custom end targets below) are not inside the scroll content
182
- // and keep only the destination shift.
183
- if (resolvedPair.sourceHost?.capturesScroll) {
184
- const capturedSourceScroll = getBoundsScrollSnapshot(sourceBounds);
185
- const liveSourceScroll = getScreenScrollMetadata(
186
- resolvedPair.sourceScreenKey,
187
- params.previous,
188
- params.current,
189
- params.next,
190
- );
191
- sourceScrollShiftX = getClampedScrollAxisDelta(
192
- liveSourceScroll,
193
- capturedSourceScroll,
194
- "horizontal",
195
- );
196
- sourceScrollShiftY = getClampedScrollAxisDelta(
197
- liveSourceScroll,
198
- capturedSourceScroll,
199
- "vertical",
200
- );
201
- }
202
- }
203
-
204
- const start = shiftBounds(
205
- sourceBounds,
206
- teleportShiftX - sourceScrollShiftX,
207
- teleportShiftY - sourceScrollShiftY,
208
- );
103
+ const start = sourceBounds;
209
104
  let end = destinationBounds ?? fullscreen;
210
105
 
211
106
  if (isFullscreenTarget) {
@@ -217,10 +112,6 @@ const resolveStartEnd = (params: {
217
112
  end = customTarget;
218
113
  }
219
114
 
220
- if (hasTargetOverride) {
221
- end = shiftBounds(end, teleportShiftX, teleportShiftY);
222
- }
223
-
224
115
  return {
225
116
  start,
226
117
  end,
@@ -322,11 +213,18 @@ export const computeBoundStyles = (
322
213
  const isSize = computeOptions.method === "size";
323
214
  const isAbsolute = computeOptions.space === "absolute";
324
215
 
325
- return isSize
216
+ const style = isSize
326
217
  ? isAbsolute
327
218
  ? composeSizeAbsolute(common)
328
219
  : composeSizeRelative(common)
329
220
  : isAbsolute
330
221
  ? composeTransformAbsolute(common)
331
222
  : composeTransformRelative(common);
223
+
224
+ return attachBoundsLocalTransform(
225
+ style,
226
+ entering
227
+ ? (resolvedPair?.destinationStyles ?? null)
228
+ : (resolvedPair?.sourceStyles ?? null),
229
+ );
332
230
  };
@@ -0,0 +1,86 @@
1
+ import type { StyleProps, TransformArrayItem } from "react-native-reanimated";
2
+
3
+ export const BOUNDS_LOCAL_TRANSFORM_STYLE_KEY =
4
+ "__screenTransitionsBoundsLocalTransform";
5
+
6
+ type BoundsLocalTransformStyle = StyleProps & {
7
+ [BOUNDS_LOCAL_TRANSFORM_STYLE_KEY]?: TransformArrayItem[];
8
+ };
9
+
10
+ const getTransformFromPreparedStyle = (
11
+ style: unknown,
12
+ ): TransformArrayItem[] | undefined => {
13
+ "worklet";
14
+
15
+ if (
16
+ style === null ||
17
+ style === undefined ||
18
+ typeof style !== "object" ||
19
+ Array.isArray(style)
20
+ ) {
21
+ return undefined;
22
+ }
23
+
24
+ const transform = (style as Record<string, unknown>).transform;
25
+
26
+ return Array.isArray(transform)
27
+ ? (transform as TransformArrayItem[])
28
+ : undefined;
29
+ };
30
+
31
+ export const attachBoundsLocalTransform = (
32
+ slotStyle: StyleProps,
33
+ localStyle: StyleProps | null | undefined,
34
+ ): StyleProps => {
35
+ "worklet";
36
+ const localTransform = getTransformFromPreparedStyle(localStyle);
37
+
38
+ if (!localTransform?.length) {
39
+ return slotStyle;
40
+ }
41
+
42
+ const next: Record<string, unknown> = {};
43
+ const source = slotStyle as Record<string, unknown>;
44
+
45
+ for (const key in source) {
46
+ next[key] = source[key];
47
+ }
48
+
49
+ next[BOUNDS_LOCAL_TRANSFORM_STYLE_KEY] = localTransform;
50
+
51
+ return next as BoundsLocalTransformStyle;
52
+ };
53
+
54
+ export const getBoundsLocalTransform = (
55
+ style: StyleProps | undefined,
56
+ ): TransformArrayItem[] | undefined => {
57
+ "worklet";
58
+ if (!style) {
59
+ return undefined;
60
+ }
61
+
62
+ return (style as BoundsLocalTransformStyle)[BOUNDS_LOCAL_TRANSFORM_STYLE_KEY];
63
+ };
64
+
65
+ export const stripBoundsLocalTransform = (style: StyleProps): StyleProps => {
66
+ "worklet";
67
+ if (
68
+ (style as BoundsLocalTransformStyle)[BOUNDS_LOCAL_TRANSFORM_STYLE_KEY] ===
69
+ undefined
70
+ ) {
71
+ return style;
72
+ }
73
+
74
+ const rest: Record<string, unknown> = {};
75
+ const source = style as Record<string, unknown>;
76
+
77
+ for (const key in source) {
78
+ if (key === BOUNDS_LOCAL_TRANSFORM_STYLE_KEY) {
79
+ continue;
80
+ }
81
+
82
+ rest[key] = source[key];
83
+ }
84
+
85
+ return rest as StyleProps;
86
+ };
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_entries","useBoundaryPresence","params","enabled","boundTag","currentScreenKey","boundaryConfig","tag","useLayoutEffect","runOnUI","setEntry","removeEntry","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-boundary-presence.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAOO,MAAMG,mBAAmB,GAAIC,MAKnC,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC;EAAe,CAAC,GAAGJ,MAAM;EACtE,MAAM;IAAEK;EAAI,CAAC,GAAGH,QAAQ;EAExB,IAAAI,sBAAe,EAAC,MAAM;IACrB,IAAI,CAACL,OAAO,EAAE;IAEd,IAAAM,8BAAO,EAACC,iBAAQ,CAAC,CAACH,GAAG,EAAEF,gBAAgB,EAAE;MACxCC;IACD,CAAC,CAAC;IAEF,OAAO,MAAM;MACZ,IAAAG,8BAAO,EAACE,oBAAW,CAAC,CAACJ,GAAG,EAAEF,gBAAgB,CAAC;IAC5C,CAAC;EACF,CAAC,EAAE,CAACF,OAAO,EAAEI,GAAG,EAAEF,gBAAgB,EAAEC,cAAc,CAAC,CAAC;AACrD,CAAC;AAACM,OAAA,CAAAX,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_animation","_links","_state","_system","_logger","_destinationSignals","VIEWPORT_RETRY_DELAY_MS","MAX_VIEWPORT_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","measureBoundary","linkKey","group","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","destinationPairKey","ancestorDestinationPairKey","destinationEnabled","progress","AnimationStore","getValue","pendingLifecycleRequestKind","actions","blockLifecycleStart","unblockLifecycleStart","SystemStore","getBag","isBlockingLifecycleStart","useSharedValue","retryToken","viewportRetries","hasGivenUp","releaseLifecycleStartBlock","cancelAnimation","get","set","useAnimatedReaction","retryTick","hasPendingOpenRequest","LifecycleTransitionRequestKind","Open","isWaitingForOpenToStart","measurePairKey","getInitialDestinationMeasurePairKey","linkId","linkState","pairs","undefined","previous","previousMeasurePairKey","previousRetryTick","shouldAttemptMeasure","type","pairKey","destinationAttached","getDestination","logger","warn","withDelay","withTiming","duration","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_state","_sourceSignals","useInitialSourceMeasurement","params","enabled","measureBoundary","boundTag","shouldAutoMeasure","sourcePairKey","useDescriptorsStore","s","derivations","lastSourceCaptureSignal","useSharedValue","useAnimatedReaction","getInitialSourceCaptureSignal","linkId","linkKey","group","linkState","pairs","get","undefined","captureSignal","set","signal","type","pairKey","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-initial-source-measurement.ts"],"mappings":";;;;;;AAAA,IAAAA,sBAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAGA,IAAAG,cAAA,GAAAH,OAAA;AAEO,MAAMI,2BAA2B,GAAIC,MAK3C,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,eAAe;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,GAAGJ,MAAM;EACxE,MAAMK,aAAa,GAAG,IAAAC,gCAAmB,EAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACH,aAAa,CAAC;EAC7E,MAAMI,uBAAuB,GAAG,IAAAC,qCAAc,EAAgB,IAAI,CAAC;EAEnE,IAAAC,0CAAmB,EAClB,MAAM;IACL,SAAS;;IACT,OAAO,IAAAC,4CAA6B,EAAC;MACpCX,OAAO;MACPI,aAAa;MACbQ,MAAM,EAAEV,QAAQ,CAACW,OAAO;MACxBC,KAAK,EAAEZ,QAAQ,CAACY,KAAK;MACrBX,iBAAiB;MACjBY,SAAS,EAAEZ,iBAAiB,IAAIC,aAAa,GAAGY,YAAK,CAACC,GAAG,CAAC,CAAC,GAAGC;IAC/D,CAAC,CAAC;EACH,CAAC,EACAC,aAAa,IAAK;IAClB,SAAS;;IACT,IAAI,CAACnB,OAAO,IAAI,CAACmB,aAAa,EAAE;MAC/BX,uBAAuB,CAACY,GAAG,CAAC,IAAI,CAAC;MACjC;IACD;IAEA,IAAIZ,uBAAuB,CAACS,GAAG,CAAC,CAAC,KAAKE,aAAa,CAACE,MAAM,EAAE;MAC3D;IACD;IAEAb,uBAAuB,CAACY,GAAG,CAACD,aAAa,CAACE,MAAM,CAAC;IACjDpB,eAAe,CAAC;MACfqB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC;AAACC,OAAA,CAAA1B,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -1 +0,0 @@
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":["shared/components/boundary/hooks/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,36 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.resolvePortalHost = exports.resolveBoundaryPortal = void 0;
7
- var _logger = require("../../../utils/logger");
8
- var _teleport = require("./teleport");
9
- /**
10
- * Resolves the `portal` prop against teleport availability. When
11
- * `react-native-teleport` is missing, portal boundaries degrade to inline
12
- * rendering and we warn once for the whole app.
13
- */
14
- const resolveBoundaryPortal = portal => {
15
- if (_teleport.isTeleportAvailable) {
16
- return portal;
17
- }
18
- if (portal) {
19
- _logger.logger.warnOnce("boundary:teleport-missing", "react-native-teleport is not installed and will fallback to default behavior.");
20
- }
21
- return undefined;
22
- };
23
-
24
- /**
25
- * Resolves which screen host a portal'd boundary attaches to. Object form may
26
- * pin an explicit `attachTo`; bare `true` defaults to the current screen.
27
- */
28
- exports.resolveBoundaryPortal = resolveBoundaryPortal;
29
- const resolvePortalHost = portal => {
30
- if (typeof portal === "object") {
31
- return portal.attachTo ?? "current-screen";
32
- }
33
- return portal ? "current-screen" : undefined;
34
- };
35
- exports.resolvePortalHost = resolvePortalHost;
36
- //# sourceMappingURL=resolve-portal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_logger","require","_teleport","resolveBoundaryPortal","portal","isTeleportAvailable","logger","warnOnce","undefined","exports","resolvePortalHost","attachTo"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/portal/resolve-portal.ts"],"mappings":";;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACO,MAAME,qBAAqB,GACjCC,MAAuB,IACS;EAChC,IAAIC,6BAAmB,EAAE;IACxB,OAAOD,MAAM;EACd;EAEA,IAAIA,MAAM,EAAE;IACXE,cAAM,CAACC,QAAQ,CACd,2BAA2B,EAC3B,+EACD,CAAC;EACF;EAEA,OAAOC,SAAS;AACjB,CAAC;;AAED;AACA;AACA;AACA;AAHAC,OAAA,CAAAN,qBAAA,GAAAA,qBAAA;AAIO,MAAMO,iBAAiB,GAC7BN,MAAuB,IACmB;EAC1C,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC/B,OAAOA,MAAM,CAACO,QAAQ,IAAI,gBAAgB;EAC3C;EAEA,OAAOP,MAAM,GAAG,gBAAgB,GAAGI,SAAS;AAC7C,CAAC;AAACC,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,40 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.resolvePortalAttachmentTargets = void 0;
7
- const resolvePortalAttachmentTargets = ({
8
- attachment,
9
- currentScreenKey,
10
- nextScreenKey,
11
- portalAttachTarget,
12
- sourcePairKey
13
- }) => {
14
- const hasCurrentAttachment = attachment?.pairKey === sourcePairKey;
15
- if (!hasCurrentAttachment || !attachment) {
16
- return {
17
- progressScreenKey: null,
18
- targetScreenKey: null
19
- };
20
- }
21
-
22
- // Matched-screen portals physically live in the matched destination host. If a
23
- // closing destination is skipped by descriptor resolution, its own progress
24
- // still owns the attach gate until this attachment is replaced or cleared.
25
- if (portalAttachTarget === "matched-screen") {
26
- return {
27
- progressScreenKey: attachment.matchedScreenKey,
28
- targetScreenKey: attachment.matchedScreenKey
29
- };
30
- }
31
-
32
- // Current-screen portals stay mounted in this screen's host, but the visual
33
- // handoff is still paced by the adjacent destination transition.
34
- return {
35
- progressScreenKey: nextScreenKey ?? null,
36
- targetScreenKey: currentScreenKey
37
- };
38
- };
39
- exports.resolvePortalAttachmentTargets = resolvePortalAttachmentTargets;
40
- //# sourceMappingURL=attachment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["resolvePortalAttachmentTargets","attachment","currentScreenKey","nextScreenKey","portalAttachTarget","sourcePairKey","hasCurrentAttachment","pairKey","progressScreenKey","targetScreenKey","matchedScreenKey","exports"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/utils/attachment.ts"],"mappings":";;;;;;AAeO,MAAMA,8BAA8B,GAAGA,CAAC;EAC9CC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,kBAAkB;EAClBC;AACqC,CAAC,KAAK;EAC3C,MAAMC,oBAAoB,GAAGL,UAAU,EAAEM,OAAO,KAAKF,aAAa;EAElE,IAAI,CAACC,oBAAoB,IAAI,CAACL,UAAU,EAAE;IACzC,OAAO;MACNO,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;IAClB,CAAC;EACF;;EAEA;EACA;EACA;EACA,IAAIL,kBAAkB,KAAK,gBAAgB,EAAE;IAC5C,OAAO;MACNI,iBAAiB,EAAEP,UAAU,CAACS,gBAAgB;MAC9CD,eAAe,EAAER,UAAU,CAACS;IAC7B,CAAC;EACF;;EAEA;EACA;EACA,OAAO;IACNF,iBAAiB,EAAEL,aAAa,IAAI,IAAI;IACxCM,eAAe,EAAEP;EAClB,CAAC;AACF,CAAC;AAACS,OAAA,CAAAX,8BAAA,GAAAA,8BAAA","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useLayoutEffect","runOnUI","removeEntry","setEntry","useBoundaryPresence","params","enabled","boundTag","currentScreenKey","boundaryConfig","tag"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-boundary-presence.ts"],"mappings":";;AAAA,SAASA,eAAe,QAAQ,OAAO;AACvC,SAASC,OAAO,QAAQ,yBAAyB;AACjD,SACCC,WAAW,EACXC,QAAQ,QACF,0CAA0C;AAIjD,OAAO,MAAMC,mBAAmB,GAAIC,MAKnC,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC;EAAe,CAAC,GAAGJ,MAAM;EACtE,MAAM;IAAEK;EAAI,CAAC,GAAGH,QAAQ;EAExBP,eAAe,CAAC,MAAM;IACrB,IAAI,CAACM,OAAO,EAAE;IAEdL,OAAO,CAACE,QAAQ,CAAC,CAACO,GAAG,EAAEF,gBAAgB,EAAE;MACxCC;IACD,CAAC,CAAC;IAEF,OAAO,MAAM;MACZR,OAAO,CAACC,WAAW,CAAC,CAACQ,GAAG,EAAEF,gBAAgB,CAAC;IAC5C,CAAC;EACF,CAAC,EAAE,CAACF,OAAO,EAAEI,GAAG,EAAEF,gBAAgB,EAAEC,cAAc,CAAC,CAAC;AACrD,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["cancelAnimation","useAnimatedReaction","useSharedValue","withDelay","withTiming","useDescriptorsStore","AnimationStore","getDestination","pairs","LifecycleTransitionRequestKind","SystemStore","logger","getInitialDestinationMeasurePairKey","VIEWPORT_RETRY_DELAY_MS","MAX_VIEWPORT_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","ancestorDestinationPairKey","destinationEnabled","progress","getValue","pendingLifecycleRequestKind","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","viewportRetries","hasGivenUp","releaseLifecycleStartBlock","get","set","retryTick","hasPendingOpenRequest","Open","isWaitingForOpenToStart","measurePairKey","linkId","linkState","undefined","previous","previousMeasurePairKey","previousRetryTick","shouldAttemptMeasure","type","pairKey","destinationAttached","warn","duration"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useAnimatedReaction","useSharedValue","useDescriptorsStore","pairs","getInitialSourceCaptureSignal","useInitialSourceMeasurement","params","enabled","measureBoundary","boundTag","shouldAutoMeasure","sourcePairKey","s","derivations","lastSourceCaptureSignal","linkId","linkKey","group","linkState","get","undefined","captureSignal","set","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-initial-source-measurement.ts"],"mappings":";;AAAA,SAASA,mBAAmB,EAAEC,cAAc,QAAQ,yBAAyB;AAC7E,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SAASC,KAAK,QAAQ,wCAAwC;AAG9D,SAASC,6BAA6B,QAAQ,yBAAyB;AAEvE,OAAO,MAAMC,2BAA2B,GAAIC,MAK3C,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,eAAe;IAAEC,QAAQ;IAAEC;EAAkB,CAAC,GAAGJ,MAAM;EACxE,MAAMK,aAAa,GAAGT,mBAAmB,CAAEU,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,aAAa,CAAC;EAC7E,MAAMG,uBAAuB,GAAGb,cAAc,CAAgB,IAAI,CAAC;EAEnED,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OAAOI,6BAA6B,CAAC;MACpCG,OAAO;MACPI,aAAa;MACbI,MAAM,EAAEN,QAAQ,CAACO,OAAO;MACxBC,KAAK,EAAER,QAAQ,CAACQ,KAAK;MACrBP,iBAAiB;MACjBQ,SAAS,EAAER,iBAAiB,IAAIC,aAAa,GAAGR,KAAK,CAACgB,GAAG,CAAC,CAAC,GAAGC;IAC/D,CAAC,CAAC;EACH,CAAC,EACAC,aAAa,IAAK;IAClB,SAAS;;IACT,IAAI,CAACd,OAAO,IAAI,CAACc,aAAa,EAAE;MAC/BP,uBAAuB,CAACQ,GAAG,CAAC,IAAI,CAAC;MACjC;IACD;IAEA,IAAIR,uBAAuB,CAACK,GAAG,CAAC,CAAC,KAAKE,aAAa,CAACE,MAAM,EAAE;MAC3D;IACD;IAEAT,uBAAuB,CAACQ,GAAG,CAACD,aAAa,CAACE,MAAM,CAAC;IACjDf,eAAe,CAAC;MACfgB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","pairs","getRefreshBoundarySignal","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","sourcePairKey","destinationPairKey","ancestorDestinationPairKey","refreshScreenKey","refreshWillAnimate","getValue","refreshClosing","refreshEntering","refreshAnimating","refreshProgress","linkId","shouldRefresh","get","closing","entering","animating","progress","linkState","refreshSignal","prevRefreshSignal","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-refresh-boundary.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,mBAAmB,QAAQ,uCAAuC;AAC3E,SAASC,cAAc,QAAQ,iCAAiC;AAChE,SAASC,KAAK,QAAQ,wCAAwC;AAG9D,SAASC,wBAAwB,QAAQ,0BAA0B;AAQnE,OAAO,MAAMC,kBAAkB,GAAGA,CAAC;EAClCC,OAAO;EACPC,QAAQ;EACRC;AACyB,CAAC,KAAK;EAC/B,MAAM;IAAEC,OAAO;IAAEC;EAAM,CAAC,GAAGH,QAAQ;EACnC,MAAMI,gBAAgB,GAAGV,mBAAmB,CAC1CW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGb,mBAAmB,CAAEW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E,MAAMC,aAAa,GAAGd,mBAAmB,CAAEW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACE,aAAa,CAAC;EAC7E,MAAMC,kBAAkB,GAAGf,mBAAmB,CAC5CW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACG,kBACtB,CAAC;EACD,MAAMC,0BAA0B,GAAGhB,mBAAmB,CACpDW,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACI,0BACtB,CAAC;EACD;EACA;EACA,MAAMC,gBAAgB,GAAGJ,aAAa,IAAIH,gBAAgB;EAC1D,MAAMQ,kBAAkB,GAAGjB,cAAc,CAACkB,QAAQ,CACjDF,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMG,cAAc,GAAGnB,cAAc,CAACkB,QAAQ,CAACF,gBAAgB,EAAE,SAAS,CAAC;EAC3E,MAAMI,eAAe,GAAGpB,cAAc,CAACkB,QAAQ,CAACF,gBAAgB,EAAE,UAAU,CAAC;EAC7E,MAAMK,gBAAgB,GAAGrB,cAAc,CAACkB,QAAQ,CAC/CF,gBAAgB,EAChB,mBACD,CAAC;EACD,MAAMM,eAAe,GAAGtB,cAAc,CAACkB,QAAQ,CAC9CF,gBAAgB,EAChB,oBACD,CAAC;EAEDlB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OAAOI,wBAAwB,CAAC;MAC/BE,OAAO;MACPK,gBAAgB;MAChBI,aAAa;MACbC,kBAAkB;MAClBC,0BAA0B;MAC1BH,aAAa;MACbW,MAAM,EAAEhB,OAAO;MACfC,KAAK;MACLgB,aAAa,EAAE,CAAC,CAACP,kBAAkB,CAACQ,GAAG,CAAC,CAAC;MACzCC,OAAO,EAAE,CAAC,CAACP,cAAc,CAACM,GAAG,CAAC,CAAC;MAC/BE,QAAQ,EAAE,CAAC,CAACP,eAAe,CAACK,GAAG,CAAC,CAAC;MACjCG,SAAS,EAAE,CAAC,CAACP,gBAAgB,CAACI,GAAG,CAAC,CAAC;MACnCI,QAAQ,EAAEP,eAAe,CAACG,GAAG,CAAC,CAAC;MAC/BK,SAAS,EAAE7B,KAAK,CAACwB,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACM,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEA3B,eAAe,CAAC;MACf4B,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -1,31 +0,0 @@
1
- "use strict";
2
-
3
- import { logger } from "../../../utils/logger";
4
- import { isTeleportAvailable } from "./teleport";
5
-
6
- /**
7
- * Resolves the `portal` prop against teleport availability. When
8
- * `react-native-teleport` is missing, portal boundaries degrade to inline
9
- * rendering and we warn once for the whole app.
10
- */
11
- export const resolveBoundaryPortal = portal => {
12
- if (isTeleportAvailable) {
13
- return portal;
14
- }
15
- if (portal) {
16
- logger.warnOnce("boundary:teleport-missing", "react-native-teleport is not installed and will fallback to default behavior.");
17
- }
18
- return undefined;
19
- };
20
-
21
- /**
22
- * Resolves which screen host a portal'd boundary attaches to. Object form may
23
- * pin an explicit `attachTo`; bare `true` defaults to the current screen.
24
- */
25
- export const resolvePortalHost = portal => {
26
- if (typeof portal === "object") {
27
- return portal.attachTo ?? "current-screen";
28
- }
29
- return portal ? "current-screen" : undefined;
30
- };
31
- //# sourceMappingURL=resolve-portal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["logger","isTeleportAvailable","resolveBoundaryPortal","portal","warnOnce","undefined","resolvePortalHost","attachTo"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/portal/resolve-portal.ts"],"mappings":";;AACA,SAASA,MAAM,QAAQ,uBAAuB;AAE9C,SAASC,mBAAmB,QAAQ,YAAY;;AAEhD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,qBAAqB,GACjCC,MAAuB,IACS;EAChC,IAAIF,mBAAmB,EAAE;IACxB,OAAOE,MAAM;EACd;EAEA,IAAIA,MAAM,EAAE;IACXH,MAAM,CAACI,QAAQ,CACd,2BAA2B,EAC3B,+EACD,CAAC;EACF;EAEA,OAAOC,SAAS;AACjB,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,GAC7BH,MAAuB,IACmB;EAC1C,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;IAC/B,OAAOA,MAAM,CAACI,QAAQ,IAAI,gBAAgB;EAC3C;EAEA,OAAOJ,MAAM,GAAG,gBAAgB,GAAGE,SAAS;AAC7C,CAAC","ignoreList":[]}
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- export const resolvePortalAttachmentTargets = ({
4
- attachment,
5
- currentScreenKey,
6
- nextScreenKey,
7
- portalAttachTarget,
8
- sourcePairKey
9
- }) => {
10
- const hasCurrentAttachment = attachment?.pairKey === sourcePairKey;
11
- if (!hasCurrentAttachment || !attachment) {
12
- return {
13
- progressScreenKey: null,
14
- targetScreenKey: null
15
- };
16
- }
17
-
18
- // Matched-screen portals physically live in the matched destination host. If a
19
- // closing destination is skipped by descriptor resolution, its own progress
20
- // still owns the attach gate until this attachment is replaced or cleared.
21
- if (portalAttachTarget === "matched-screen") {
22
- return {
23
- progressScreenKey: attachment.matchedScreenKey,
24
- targetScreenKey: attachment.matchedScreenKey
25
- };
26
- }
27
-
28
- // Current-screen portals stay mounted in this screen's host, but the visual
29
- // handoff is still paced by the adjacent destination transition.
30
- return {
31
- progressScreenKey: nextScreenKey ?? null,
32
- targetScreenKey: currentScreenKey
33
- };
34
- };
35
- //# sourceMappingURL=attachment.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["resolvePortalAttachmentTargets","attachment","currentScreenKey","nextScreenKey","portalAttachTarget","sourcePairKey","hasCurrentAttachment","pairKey","progressScreenKey","targetScreenKey","matchedScreenKey"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/utils/attachment.ts"],"mappings":";;AAeA,OAAO,MAAMA,8BAA8B,GAAGA,CAAC;EAC9CC,UAAU;EACVC,gBAAgB;EAChBC,aAAa;EACbC,kBAAkB;EAClBC;AACqC,CAAC,KAAK;EAC3C,MAAMC,oBAAoB,GAAGL,UAAU,EAAEM,OAAO,KAAKF,aAAa;EAElE,IAAI,CAACC,oBAAoB,IAAI,CAACL,UAAU,EAAE;IACzC,OAAO;MACNO,iBAAiB,EAAE,IAAI;MACvBC,eAAe,EAAE;IAClB,CAAC;EACF;;EAEA;EACA;EACA;EACA,IAAIL,kBAAkB,KAAK,gBAAgB,EAAE;IAC5C,OAAO;MACNI,iBAAiB,EAAEP,UAAU,CAACS,gBAAgB;MAC9CD,eAAe,EAAER,UAAU,CAACS;IAC7B,CAAC;EACF;;EAEA;EACA;EACA,OAAO;IACNF,iBAAiB,EAAEL,aAAa,IAAI,IAAI;IACxCM,eAAe,EAAEP;EAClB,CAAC;AACF,CAAC","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import type { BoundTag } from "../../../stores/bounds/types";
2
- import type { BoundaryConfigProps } from "../types";
3
- export declare const useBoundaryPresence: (params: {
4
- enabled: boolean;
5
- boundTag: BoundTag;
6
- currentScreenKey: string;
7
- boundaryConfig?: BoundaryConfigProps;
8
- }) => void;
9
- //# sourceMappingURL=use-boundary-presence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-boundary-presence.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/boundary/hooks/use-boundary-presence.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,eAAO,MAAM,mBAAmB,GAAI,QAAQ;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACrC,SAeA,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-initial-destination-measurement.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/components/boundary/hooks/use-initial-destination-measurement.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAM7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAWhD,UAAU,sCAAsC;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;CACjC;AAED,eAAO,MAAM,gCAAgC,GAAI,yCAI9C,sCAAsC,SAqIxC,CAAC"}