react-native-screen-transitions 4.0.0-alpha.6 → 4.0.0-alpha.7

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 (266) hide show
  1. package/lib/commonjs/components/boundary/components/boundary-lifecycle.js +36 -0
  2. package/lib/commonjs/components/boundary/components/boundary-lifecycle.js.map +1 -0
  3. package/lib/commonjs/components/boundary/components/boundary-target.js +1 -0
  4. package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
  5. package/lib/commonjs/components/boundary/create-boundary-component.js +1 -0
  6. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  7. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
  8. package/lib/commonjs/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  9. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
  10. package/lib/commonjs/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  11. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +3 -2
  12. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  13. package/lib/commonjs/components/boundary/hooks/use-measurer.js +9 -2
  14. package/lib/commonjs/components/boundary/hooks/use-measurer.js.map +1 -1
  15. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
  16. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  17. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +25 -43
  18. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  19. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +13 -0
  20. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
  21. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -31
  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-active-portal-boundary-host.js +14 -19
  24. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  25. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -1
  26. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  27. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +19 -48
  28. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  29. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +6 -2
  30. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  31. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  32. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  33. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +19 -17
  34. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
  35. package/lib/commonjs/components/boundary/utils/refresh-signals.js +19 -5
  36. package/lib/commonjs/components/boundary/utils/refresh-signals.js.map +1 -1
  37. package/lib/commonjs/components/screen-container/layers/backdrop.js +11 -7
  38. package/lib/commonjs/components/screen-container/layers/backdrop.js.map +1 -1
  39. package/lib/commonjs/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +32 -0
  40. package/lib/commonjs/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
  41. package/lib/commonjs/components/screen-lifecycle/hooks/use-close-completion.js +27 -0
  42. package/lib/commonjs/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
  43. package/lib/commonjs/components/screen-lifecycle/hooks/use-close-transition-intent.js +61 -86
  44. package/lib/commonjs/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  45. package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
  46. package/lib/commonjs/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  47. package/lib/commonjs/components/screen-lifecycle/index.js +9 -6
  48. package/lib/commonjs/components/screen-lifecycle/index.js.map +1 -1
  49. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +30 -13
  50. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
  51. package/lib/commonjs/providers/helpers/measured-bounds-writes.js +1 -2
  52. package/lib/commonjs/providers/helpers/measured-bounds-writes.js.map +1 -1
  53. package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js +9 -2
  54. package/lib/commonjs/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  55. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
  56. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  57. package/lib/commonjs/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
  58. package/lib/commonjs/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  59. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
  60. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  61. package/lib/commonjs/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
  62. package/lib/commonjs/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  63. package/lib/commonjs/providers/screen/gestures/shared/policy.js +9 -5
  64. package/lib/commonjs/providers/screen/gestures/shared/policy.js.map +1 -1
  65. package/lib/commonjs/providers/stack/blank-stack-state/blank-stack-controller.js +7 -9
  66. package/lib/commonjs/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
  67. package/lib/commonjs/stores/bounds/internals/links.js +1 -1
  68. package/lib/commonjs/stores/bounds/internals/links.js.map +1 -1
  69. package/lib/commonjs/stores/system.store.js +1 -2
  70. package/lib/commonjs/stores/system.store.js.map +1 -1
  71. package/lib/commonjs/utils/animation/animate-to-progress.js +0 -22
  72. package/lib/commonjs/utils/animation/animate-to-progress.js.map +1 -1
  73. package/lib/commonjs/utils/navigation/close-action-replay.js +22 -0
  74. package/lib/commonjs/utils/navigation/close-action-replay.js.map +1 -0
  75. package/lib/module/components/boundary/components/boundary-lifecycle.js +32 -0
  76. package/lib/module/components/boundary/components/boundary-lifecycle.js.map +1 -0
  77. package/lib/module/components/boundary/components/boundary-target.js +1 -0
  78. package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
  79. package/lib/module/components/boundary/create-boundary-component.js +1 -0
  80. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  81. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +1 -13
  82. package/lib/module/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  83. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js +9 -2
  84. package/lib/module/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -1
  85. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +3 -2
  86. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  87. package/lib/module/components/boundary/hooks/use-measurer.js +9 -2
  88. package/lib/module/components/boundary/hooks/use-measurer.js.map +1 -1
  89. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +5 -12
  90. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -1
  91. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +27 -45
  92. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -1
  93. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +8 -0
  94. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +1 -0
  95. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js +8 -32
  96. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -1
  97. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +15 -20
  98. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +1 -1
  99. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +3 -1
  100. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  101. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +19 -48
  102. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -1
  103. package/lib/module/components/boundary/portal/components/boundary-portal/index.js +6 -2
  104. package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +1 -1
  105. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js +1 -1
  106. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -1
  107. package/lib/module/components/boundary/providers/boundary-root.provider.js +20 -18
  108. package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
  109. package/lib/module/components/boundary/utils/refresh-signals.js +19 -5
  110. package/lib/module/components/boundary/utils/refresh-signals.js.map +1 -1
  111. package/lib/module/components/screen-container/layers/backdrop.js +12 -8
  112. package/lib/module/components/screen-container/layers/backdrop.js.map +1 -1
  113. package/lib/module/components/screen-lifecycle/hooks/helpers/close-interception-rules.js +26 -0
  114. package/lib/module/components/screen-lifecycle/hooks/helpers/close-interception-rules.js.map +1 -0
  115. package/lib/module/components/screen-lifecycle/hooks/use-close-completion.js +22 -0
  116. package/lib/module/components/screen-lifecycle/hooks/use-close-completion.js.map +1 -0
  117. package/lib/module/components/screen-lifecycle/hooks/use-close-transition-intent.js +61 -85
  118. package/lib/module/components/screen-lifecycle/hooks/use-close-transition-intent.js.map +1 -1
  119. package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js +1 -5
  120. package/lib/module/components/screen-lifecycle/hooks/use-transition-start-controller.js.map +1 -1
  121. package/lib/module/components/screen-lifecycle/index.js +9 -6
  122. package/lib/module/components/screen-lifecycle/index.js.map +1 -1
  123. package/lib/module/hooks/navigation/use-navigation-helpers.js +30 -13
  124. package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
  125. package/lib/module/providers/helpers/measured-bounds-writes.js +1 -2
  126. package/lib/module/providers/helpers/measured-bounds-writes.js.map +1 -1
  127. package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js +9 -2
  128. package/lib/module/providers/screen/gestures/hooks/use-screen-gesture-config.js.map +1 -1
  129. package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js +4 -5
  130. package/lib/module/providers/screen/gestures/pan/behavior/pan-lifecycle.js.map +1 -1
  131. package/lib/module/providers/screen/gestures/pan/behavior/use-pan-behavior.js +2 -3
  132. package/lib/module/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  133. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -5
  134. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  135. package/lib/module/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -3
  136. package/lib/module/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  137. package/lib/module/providers/screen/gestures/shared/policy.js +9 -5
  138. package/lib/module/providers/screen/gestures/shared/policy.js.map +1 -1
  139. package/lib/module/providers/stack/blank-stack-state/blank-stack-controller.js +7 -9
  140. package/lib/module/providers/stack/blank-stack-state/blank-stack-controller.js.map +1 -1
  141. package/lib/module/stores/bounds/internals/links.js +1 -1
  142. package/lib/module/stores/bounds/internals/links.js.map +1 -1
  143. package/lib/module/stores/system.store.js +1 -2
  144. package/lib/module/stores/system.store.js.map +1 -1
  145. package/lib/module/utils/animation/animate-to-progress.js +0 -22
  146. package/lib/module/utils/animation/animate-to-progress.js.map +1 -1
  147. package/lib/module/utils/navigation/close-action-replay.js +16 -0
  148. package/lib/module/utils/navigation/close-action-replay.js.map +1 -0
  149. package/lib/typescript/components/boundary/components/boundary-lifecycle.d.ts +18 -0
  150. package/lib/typescript/components/boundary/components/boundary-lifecycle.d.ts.map +1 -0
  151. package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
  152. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  153. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +1 -2
  154. package/lib/typescript/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  155. package/lib/typescript/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -1
  156. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts +3 -2
  157. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  158. package/lib/typescript/components/boundary/hooks/use-measurer.d.ts +3 -2
  159. package/lib/typescript/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  160. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -1
  161. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +5 -1
  162. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -1
  163. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +4 -0
  164. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +1 -0
  165. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts +4 -17
  166. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -1
  167. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +3 -1
  168. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -1
  169. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +3 -1
  170. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  171. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +5 -9
  172. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -1
  173. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +3 -1
  174. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -1
  175. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts +2 -1
  176. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  177. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +2 -1
  178. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  179. package/lib/typescript/components/boundary/types.d.ts +6 -0
  180. package/lib/typescript/components/boundary/types.d.ts.map +1 -1
  181. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts +1 -0
  182. package/lib/typescript/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  183. package/lib/typescript/components/screen-container/layers/backdrop.d.ts.map +1 -1
  184. package/lib/typescript/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts +28 -0
  185. package/lib/typescript/components/screen-lifecycle/hooks/helpers/close-interception-rules.d.ts.map +1 -0
  186. package/lib/typescript/components/screen-lifecycle/hooks/use-close-completion.d.ts +7 -0
  187. package/lib/typescript/components/screen-lifecycle/hooks/use-close-completion.d.ts.map +1 -0
  188. package/lib/typescript/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts +2 -7
  189. package/lib/typescript/components/screen-lifecycle/hooks/use-close-transition-intent.d.ts.map +1 -1
  190. package/lib/typescript/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts +1 -3
  191. package/lib/typescript/components/screen-lifecycle/hooks/use-transition-start-controller.d.ts.map +1 -1
  192. package/lib/typescript/components/screen-lifecycle/index.d.ts.map +1 -1
  193. package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts +1 -0
  194. package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  195. package/lib/typescript/providers/screen/gestures/hooks/use-screen-gesture-config.d.ts.map +1 -1
  196. package/lib/typescript/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts +1 -1
  197. package/lib/typescript/providers/screen/gestures/pan/behavior/pan-lifecycle.d.ts.map +1 -1
  198. package/lib/typescript/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  199. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
  200. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  201. package/lib/typescript/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  202. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts +2 -1
  203. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  204. package/lib/typescript/providers/screen/gestures/types.d.ts +2 -0
  205. package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
  206. package/lib/typescript/providers/stack/blank-stack-state/blank-stack-controller.d.ts.map +1 -1
  207. package/lib/typescript/stores/system.store.d.ts +1 -2
  208. package/lib/typescript/stores/system.store.d.ts.map +1 -1
  209. package/lib/typescript/utils/animation/animate-to-progress.d.ts +1 -2
  210. package/lib/typescript/utils/animation/animate-to-progress.d.ts.map +1 -1
  211. package/lib/typescript/utils/navigation/close-action-replay.d.ts +4 -0
  212. package/lib/typescript/utils/navigation/close-action-replay.d.ts.map +1 -0
  213. package/package.json +1 -1
  214. package/src/components/boundary/components/boundary-lifecycle.tsx +53 -0
  215. package/src/components/boundary/components/boundary-target.tsx +1 -0
  216. package/src/components/boundary/create-boundary-component.tsx +1 -0
  217. package/src/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +0 -14
  218. package/src/components/boundary/hooks/lifecycles/use-refresh-boundary.ts +13 -2
  219. package/src/components/boundary/hooks/use-boundary-measurement.ts +7 -2
  220. package/src/components/boundary/hooks/use-measurer.ts +11 -1
  221. package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +13 -11
  222. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +44 -55
  223. package/src/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +10 -0
  224. package/src/components/boundary/portal/components/boundary-portal/helpers/offset-style.ts +11 -55
  225. package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +20 -24
  226. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +6 -0
  227. package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +20 -68
  228. package/src/components/boundary/portal/components/boundary-portal/index.tsx +19 -3
  229. package/src/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.ts +3 -2
  230. package/src/components/boundary/providers/boundary-root.provider.tsx +29 -20
  231. package/src/components/boundary/types.ts +9 -0
  232. package/src/components/boundary/utils/refresh-signals.ts +39 -6
  233. package/src/components/screen-container/layers/backdrop.tsx +11 -7
  234. package/src/components/screen-lifecycle/hooks/helpers/close-interception-rules.ts +66 -0
  235. package/src/components/screen-lifecycle/hooks/use-close-completion.ts +25 -0
  236. package/src/components/screen-lifecycle/hooks/use-close-transition-intent.ts +68 -108
  237. package/src/components/screen-lifecycle/hooks/use-transition-start-controller.ts +0 -12
  238. package/src/components/screen-lifecycle/index.tsx +8 -4
  239. package/src/hooks/navigation/use-navigation-helpers.ts +40 -12
  240. package/src/providers/helpers/measured-bounds-writes.ts +1 -1
  241. package/src/providers/screen/gestures/hooks/use-screen-gesture-config.ts +9 -1
  242. package/src/providers/screen/gestures/pan/behavior/pan-lifecycle.ts +4 -6
  243. package/src/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +1 -3
  244. package/src/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +4 -6
  245. package/src/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +2 -8
  246. package/src/providers/screen/gestures/shared/policy.ts +17 -6
  247. package/src/providers/screen/gestures/types.ts +2 -0
  248. package/src/providers/stack/blank-stack-state/blank-stack-controller.ts +7 -7
  249. package/src/stores/bounds/internals/links.ts +1 -1
  250. package/src/stores/system.store.ts +1 -2
  251. package/src/utils/animation/animate-to-progress.ts +0 -23
  252. package/src/utils/navigation/close-action-replay.ts +25 -0
  253. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -30
  254. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
  255. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -47
  256. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
  257. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/active-pair.js +0 -25
  258. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/active-pair.js.map +0 -1
  259. package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js +0 -40
  260. package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +0 -1
  261. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts +0 -9
  262. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/active-pair.d.ts.map +0 -1
  263. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts +0 -9
  264. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts.map +0 -1
  265. package/src/components/boundary/portal/components/boundary-portal/helpers/active-pair.ts +0 -36
  266. package/src/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.ts +0 -45
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useDescriptorsStore","useBoundaryMeasurement","BoundaryLifecycle","boundTag","config","currentScreenKey","enabled","escapeClipping","handoff","localMeasurement","measuredRef","style","hasConfiguredInterpolator","s","derivations","runtimeEnabled"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-lifecycle.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAG5B,SAASC,mBAAmB,QAAQ,uCAAuC;AAE3E,SAASC,sBAAsB,QAAQ,mCAAmC;AAkB1E,OAAO,MAAMC,iBAAiB,gBAAGH,IAAI,CAAC,SAASG,iBAAiBA,CAAC;EAChEC,QAAQ;EACRC,MAAM;EACNC,gBAAgB;EAChBC,OAAO;EACPC,cAAc;EACdC,OAAO;EACPC,gBAAgB;EAChBC,WAAW;EACXC;AACuB,CAAC,EAAE;EAC1B,MAAMC,yBAAyB,GAAGZ,mBAAmB,CACnDa,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,yBACtB,CAAC;EAEDX,sBAAsB,CAAC;IACtBE,QAAQ;IACRG,OAAO;IACPS,cAAc,EAAET,OAAO,IAAIM,yBAAyB;IACpDP,gBAAgB;IAChBK,WAAW;IACXC,KAAK;IACLH,OAAO;IACPD,cAAc;IACdE,gBAAgB;IAChBL;EACD,CAAC,CAAC;EAEF,OAAO,IAAI;AACZ,CAAC,CAAC","ignoreList":[]}
@@ -36,6 +36,7 @@ const BoundaryTargetInner = props => {
36
36
  return /*#__PURE__*/_jsx(BoundaryPortal, {
37
37
  boundaryId: boundaryId ?? "",
38
38
  enabled: shouldEscapeTargetToScreenHost,
39
+ localMeasurement: rootContext?.localMeasurement,
39
40
  placeholderRef: measurementRef,
40
41
  children: /*#__PURE__*/_jsx(Animated.View, {
41
42
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useLayoutEffect","Animated","useComposedSlotStyles","useSlotLayoutStyles","logger","BoundaryContentPortal","BoundaryContentPortalHost","BoundaryPortal","TARGET_OUTSIDE_ROOT_WARNING","useBoundaryRootStore","jsx","_jsx","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTargetInner","props","active","children","pointerEvents","style","rest","rootContext","boundaryId","boundTag","tag","isActiveTarget","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","shouldApplyAssociatedStyleInline","shouldApplyPortalLayoutStyle","associatedTargetStyles","portalLayoutStyle","measurementRef","undefined","__DEV__","warn","enabled","placeholderRef","View","ref","collapsable","screenKey","currentScreenKey","BoundaryTarget"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useLayoutEffect","Animated","useComposedSlotStyles","useSlotLayoutStyles","logger","BoundaryContentPortal","BoundaryContentPortalHost","BoundaryPortal","TARGET_OUTSIDE_ROOT_WARNING","useBoundaryRootStore","jsx","_jsx","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTargetInner","props","active","children","pointerEvents","style","rest","rootContext","boundaryId","boundTag","tag","isActiveTarget","portalRuntime","handoffEnabled","shouldEscapeTargetToScreenHost","escapeClipping","shouldApplyAssociatedStyleInline","shouldApplyPortalLayoutStyle","associatedTargetStyles","portalLayoutStyle","measurementRef","undefined","__DEV__","warn","enabled","localMeasurement","placeholderRef","View","ref","collapsable","screenKey","currentScreenKey","BoundaryTarget"],"sourceRoot":"../../../../../src","sources":["components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
@@ -57,6 +57,7 @@ export function createBoundaryComponent(Wrapped, options = {}) {
57
57
  children: root => /*#__PURE__*/_jsx(BoundaryPortal, {
58
58
  boundaryId: root.boundTag.tag,
59
59
  enabled: root.shouldRenderBoundaryRootThroughPortal,
60
+ localMeasurement: root.localMeasurement,
60
61
  placeholderRef: root.measurementRef,
61
62
  children: /*#__PURE__*/_jsx(AnimatedComponent, {
62
63
  ...rest,
@@ -1 +1 @@
1
- {"version":3,"names":["cloneElement","forwardRef","memo","useMemo","Animated","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTarget","BoundaryContentPortalHost","BoundaryPortal","BoundaryRootProvider","resolveBoundaryTarget","jsx","_jsx","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","createAnimatedComponent","Inner","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","handoff","escapeClipping","children","rest","targetResolution","isTarget","element","type","mapTarget","selected","targetStyle","config","hasTarget","targetCount","root","boundaryId","boundTag","tag","shouldRenderBoundaryRootThroughPortal","placeholderRef","measurementRef","ref","attachedStyle","collapsable","shouldRenderHandoffHost","screenKey","currentScreenKey"],"sourceRoot":"../../../../src","sources":["components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["cloneElement","forwardRef","memo","useMemo","Animated","BOUNDARY_TARGET_ACTIVE_PROP","BoundaryTarget","BoundaryContentPortalHost","BoundaryPortal","BoundaryRootProvider","resolveBoundaryTarget","jsx","_jsx","createBoundaryComponent","Wrapped","options","alreadyAnimated","AnimatedComponent","createAnimatedComponent","Inner","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","handoff","escapeClipping","children","rest","targetResolution","isTarget","element","type","mapTarget","selected","targetStyle","config","hasTarget","targetCount","root","boundaryId","boundTag","tag","shouldRenderBoundaryRootThroughPortal","localMeasurement","placeholderRef","measurementRef","ref","attachedStyle","collapsable","shouldRenderHandoffHost","screenKey","currentScreenKey"],"sourceRoot":"../../../../src","sources":["components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
@@ -26,7 +26,6 @@ const MAX_HANDSHAKE_RETRIES = 20;
26
26
  export const useInitialDestinationMeasurement = ({
27
27
  boundTag,
28
28
  enabled,
29
- escapeClipping,
30
29
  measureBoundary
31
30
  }) => {
32
31
  const {
@@ -89,16 +88,11 @@ export const useInitialDestinationMeasurement = ({
89
88
  }
90
89
  scheduleOnUI(claimLifecycleStartBlock);
91
90
  return () => {
92
- if (escapeClipping) {
93
- // The portal host owns the release after this boundary hands off.
94
- return;
95
- }
96
-
97
91
  // This is an abandonment fallback, not a second release. Run it on the UI
98
92
  // runtime so it serializes with the handshake's guarded release.
99
93
  scheduleOnUI(releaseLifecycleStartBlock);
100
94
  };
101
- }, [claimLifecycleStartBlock, escapeClipping, canReceiveDestination, releaseLifecycleStartBlock]);
95
+ }, [claimLifecycleStartBlock, canReceiveDestination, releaseLifecycleStartBlock]);
102
96
  useAnimatedReaction(() => {
103
97
  "worklet";
104
98
 
@@ -158,12 +152,6 @@ export const useInitialDestinationMeasurement = ({
158
152
  cancelAnimation(retryToken);
159
153
  handshakeRetries.set(0);
160
154
  hasFinishedInitialMeasurement.set(1);
161
- if (escapeClipping) {
162
- // Screen-level escape has a second readiness phase after destination
163
- // matching: the host must commit before the transition starts, or
164
- // the payload can disappear for a frame.
165
- return;
166
- }
167
155
  releaseLifecycleStartBlock();
168
156
  return;
169
157
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useLayoutEffect","useMemo","cancelAnimation","useAnimatedReaction","useSharedValue","withDelay","withTiming","scheduleOnUI","useStack","useDescriptorsStore","AnimationStore","createScreenPairKey","getSourceScreenKeyFromPairKey","getEntry","getMatchingSourceScreenKey","getLink","pairs","SystemStore","logger","getInitialDestinationMeasurementSignal","HANDSHAKE_RETRY_DELAY_MS","MAX_HANDSHAKE_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","escapeClipping","measureBoundary","tag","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","destinationEnabled","canReceiveDestination","preferredSourceScreenKey","undefined","stackScenes","store","scenes","closingSourceScreenKeys","filter","scene","activity","map","route","key","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","hasFinishedInitialMeasurement","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","sourceScreenKey","pairKey","signal","linkId","destinationPresent","sourcePresent","linkState","action","next","previous","measurePairKey","previousMeasurePairKey","previousAction","previousRetryTick","shouldHandleSignal","type","link","linkComplete","source","destination","warn","duration"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useLayoutEffect","useMemo","cancelAnimation","useAnimatedReaction","useSharedValue","withDelay","withTiming","scheduleOnUI","useStack","useDescriptorsStore","AnimationStore","createScreenPairKey","getSourceScreenKeyFromPairKey","getEntry","getMatchingSourceScreenKey","getLink","pairs","SystemStore","logger","getInitialDestinationMeasurementSignal","HANDSHAKE_RETRY_DELAY_MS","MAX_HANDSHAKE_RETRIES","useInitialDestinationMeasurement","boundTag","enabled","measureBoundary","tag","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","destinationPairKey","destinationEnabled","canReceiveDestination","preferredSourceScreenKey","undefined","stackScenes","store","scenes","closingSourceScreenKeys","filter","scene","activity","map","route","key","progress","getValue","actions","blockLifecycleStart","unblockLifecycleStart","getBag","isBlockingLifecycleStart","retryToken","handshakeRetries","hasGivenUp","hasFinishedInitialMeasurement","releaseLifecycleStartBlock","get","set","claimLifecycleStartBlock","retryTick","sourceScreenKey","pairKey","signal","linkId","destinationPresent","sourcePresent","linkState","action","next","previous","measurePairKey","previousMeasurePairKey","previousAction","previousRetryTick","shouldHandleSignal","type","link","linkComplete","source","destination","warn","duration"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts"],"mappings":"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","ignoreList":[]}
@@ -21,12 +21,18 @@ export const useRefreshBoundary = ({
21
21
  // Destination-side boundaries have no next screen, so they refresh from self.
22
22
  const refreshScreenKey = nextScreenKey ?? currentScreenKey;
23
23
  const refreshWillAnimate = AnimationStore.getValue(refreshScreenKey, "willAnimate");
24
+ const refreshSettled = AnimationStore.getValue(refreshScreenKey, "progressSettled");
24
25
  const refreshClosing = AnimationStore.getValue(refreshScreenKey, "closing");
25
26
  useAnimatedReaction(() => {
26
27
  "worklet";
27
28
 
28
- const shouldRefresh = enabled && !!refreshWillAnimate.get();
29
- if (!shouldRefresh) {
29
+ if (!enabled) return null;
30
+ const shouldRefresh = !!refreshWillAnimate.get();
31
+ const settled = !!refreshSettled.get();
32
+ // A group's active member can change while the transition is settled
33
+ // (for example, paging a destination gallery). Let that member publish
34
+ // fresh bounds even though there is no willAnimate lifecycle pulse yet.
35
+ if (!shouldRefresh && (!group || !settled)) {
30
36
  return null;
31
37
  }
32
38
  const sourcePairKey = getPairKeyForSource(boundTag.tag, currentScreenKey) ?? undefined;
@@ -39,6 +45,7 @@ export const useRefreshBoundary = ({
39
45
  linkId: linkKey,
40
46
  group,
41
47
  shouldRefresh,
48
+ settled,
42
49
  closing: !!refreshClosing.get(),
43
50
  linkState: pairs.get()
44
51
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","getPairKeyForDestination","getPairKeyForSource","pairs","getRefreshBoundarySignal","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","refreshScreenKey","refreshWillAnimate","getValue","refreshClosing","shouldRefresh","get","sourcePairKey","tag","undefined","destinationPairKey","linkId","closing","linkState","refreshSignal","prevRefreshSignal","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SACCC,wBAAwB,EACxBC,mBAAmB,QACb,2CAA2C;AAClD,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,wBAAwB,QAAQ,6BAA6B;AAQtE,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,GAAGZ,mBAAmB,CAC1Ca,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGf,mBAAmB,CAAEa,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E;EACA;EACA,MAAMC,gBAAgB,GAAGD,aAAa,IAAIH,gBAAgB;EAC1D,MAAMK,kBAAkB,GAAGhB,cAAc,CAACiB,QAAQ,CACjDF,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMG,cAAc,GAAGlB,cAAc,CAACiB,QAAQ,CAACF,gBAAgB,EAAE,SAAS,CAAC;EAE3EjB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,MAAMqB,aAAa,GAAGb,OAAO,IAAI,CAAC,CAACU,kBAAkB,CAACI,GAAG,CAAC,CAAC;IAC3D,IAAI,CAACD,aAAa,EAAE;MACnB,OAAO,IAAI;IACZ;IACA,MAAME,aAAa,GAClBnB,mBAAmB,CAACK,QAAQ,CAACe,GAAG,EAAEX,gBAAgB,CAAC,IAAIY,SAAS;IACjE,MAAMC,kBAAkB,GACvBvB,wBAAwB,CAACM,QAAQ,CAACe,GAAG,EAAEX,gBAAgB,CAAC,IAAIY,SAAS;IAEtE,OAAOnB,wBAAwB,CAAC;MAC/BE,OAAO;MACPK,gBAAgB;MAChBU,aAAa;MACbG,kBAAkB;MAClBC,MAAM,EAAEhB,OAAO;MACfC,KAAK;MACLS,aAAa;MACbO,OAAO,EAAE,CAAC,CAACR,cAAc,CAACE,GAAG,CAAC,CAAC;MAC/BO,SAAS,EAAExB,KAAK,CAACiB,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACQ,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEAtB,eAAe,CAAC;MACfuB,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useAnimatedReaction","useDescriptorsStore","AnimationStore","getPairKeyForDestination","getPairKeyForSource","pairs","getRefreshBoundarySignal","useRefreshBoundary","enabled","boundTag","measureBoundary","linkKey","group","currentScreenKey","s","derivations","nextScreenKey","refreshScreenKey","refreshWillAnimate","getValue","refreshSettled","refreshClosing","shouldRefresh","get","settled","sourcePairKey","tag","undefined","destinationPairKey","linkId","closing","linkState","refreshSignal","prevRefreshSignal","signal","type","pairKey"],"sourceRoot":"../../../../../../src","sources":["components/boundary/hooks/lifecycles/use-refresh-boundary.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SACCC,wBAAwB,EACxBC,mBAAmB,QACb,2CAA2C;AAClD,SAASC,KAAK,QAAQ,2CAA2C;AAGjE,SAASC,wBAAwB,QAAQ,6BAA6B;AAQtE,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,GAAGZ,mBAAmB,CAC1Ca,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,aAAa,GAAGf,mBAAmB,CAAEa,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,aAAa,CAAC;EAC7E;EACA;EACA,MAAMC,gBAAgB,GAAGD,aAAa,IAAIH,gBAAgB;EAC1D,MAAMK,kBAAkB,GAAGhB,cAAc,CAACiB,QAAQ,CACjDF,gBAAgB,EAChB,aACD,CAAC;EACD,MAAMG,cAAc,GAAGlB,cAAc,CAACiB,QAAQ,CAC7CF,gBAAgB,EAChB,iBACD,CAAC;EACD,MAAMI,cAAc,GAAGnB,cAAc,CAACiB,QAAQ,CAACF,gBAAgB,EAAE,SAAS,CAAC;EAE3EjB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IAET,IAAI,CAACQ,OAAO,EAAE,OAAO,IAAI;IAEzB,MAAMc,aAAa,GAAG,CAAC,CAACJ,kBAAkB,CAACK,GAAG,CAAC,CAAC;IAChD,MAAMC,OAAO,GAAG,CAAC,CAACJ,cAAc,CAACG,GAAG,CAAC,CAAC;IACtC;IACA;IACA;IACA,IAAI,CAACD,aAAa,KAAK,CAACV,KAAK,IAAI,CAACY,OAAO,CAAC,EAAE;MAC3C,OAAO,IAAI;IACZ;IACA,MAAMC,aAAa,GAClBrB,mBAAmB,CAACK,QAAQ,CAACiB,GAAG,EAAEb,gBAAgB,CAAC,IAAIc,SAAS;IACjE,MAAMC,kBAAkB,GACvBzB,wBAAwB,CAACM,QAAQ,CAACiB,GAAG,EAAEb,gBAAgB,CAAC,IAAIc,SAAS;IAEtE,OAAOrB,wBAAwB,CAAC;MAC/BE,OAAO;MACPK,gBAAgB;MAChBY,aAAa;MACbG,kBAAkB;MAClBC,MAAM,EAAElB,OAAO;MACfC,KAAK;MACLU,aAAa;MACbE,OAAO;MACPM,OAAO,EAAE,CAAC,CAACT,cAAc,CAACE,GAAG,CAAC,CAAC;MAC/BQ,SAAS,EAAE1B,KAAK,CAACkB,GAAG,CAAC;IACtB,CAAC,CAAC;EACH,CAAC,EACD,CAACS,aAAa,EAAEC,iBAAiB,KAAK;IACrC,SAAS;;IAET,IACC,CAACD,aAAa,IACdA,aAAa,CAACE,MAAM,KAAKD,iBAAiB,EAAEC,MAAM,EACjD;MACD;IACD;IAEAxB,eAAe,CAAC;MACfyB,IAAI,EAAEH,aAAa,CAACG,IAAI;MACxBC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -21,6 +21,7 @@ export const useBoundaryMeasurement = ({
21
21
  style,
22
22
  handoff,
23
23
  escapeClipping,
24
+ localMeasurement,
24
25
  config
25
26
  }) => {
26
27
  const {
@@ -43,7 +44,8 @@ export const useBoundaryMeasurement = ({
43
44
  preparedStyles,
44
45
  measuredAnimatedRef: measuredRef,
45
46
  handoff,
46
- escapeClipping
47
+ escapeClipping,
48
+ localMeasurement
47
49
  });
48
50
 
49
51
  // Presence and source capture must not depend on this screen owning an
@@ -65,7 +67,6 @@ export const useBoundaryMeasurement = ({
65
67
  useInitialDestinationMeasurement({
66
68
  boundTag,
67
69
  enabled: runtimeEnabled,
68
- escapeClipping,
69
70
  measureBoundary
70
71
  });
71
72
  useRefreshBoundary({
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","prepareStyleForBounds","useBoundaryPresence","useInitialDestinationMeasurement","useInitialSourceMeasurement","useRefreshBoundary","useMeasurer","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","handoff","escapeClipping","config","anchor","scaleMode","target","method","boundaryConfig","preparedStyles","measureBoundary","measuredAnimatedRef"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAI/B,SAASC,qBAAqB,QAAQ,6CAA6C;AAEnF,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,gCAAgC,QAAQ,kDAAkD;AACnG,SAASC,2BAA2B,QAAQ,6CAA6C;AACzF,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SAASC,WAAW,QAAQ,gBAAgB;AAkB5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,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,GAAGrB,OAAO,CAC7B,OAAO;IAAEiB,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAME,cAAc,GAAGtB,OAAO,CAAC,MAAMC,qBAAqB,CAACY,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMU,eAAe,GAAGjB,WAAW,CAAC;IACnCG,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBW,cAAc;IACdE,mBAAmB,EAAEZ,WAAW;IAChCE,OAAO;IACPC;EACD,CAAC,CAAC;;EAEF;EACA;EACA;EACAb,mBAAmB,CAAC;IACnBO,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBU,cAAc;IACdP,OAAO;IACPC;EACD,CAAC,CAAC;EAEFX,2BAA2B,CAAC;IAC3BK,OAAO;IACPc,eAAe;IACff;EACD,CAAC,CAAC;EAEFL,gCAAgC,CAAC;IAChCK,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBK,cAAc;IACdQ;EACD,CAAC,CAAC;EAEFlB,kBAAkB,CAAC;IAClBI,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRe;EACD,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useMemo","prepareStyleForBounds","useBoundaryPresence","useInitialDestinationMeasurement","useInitialSourceMeasurement","useRefreshBoundary","useMeasurer","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","handoff","escapeClipping","localMeasurement","config","anchor","scaleMode","target","method","boundaryConfig","preparedStyles","measureBoundary","measuredAnimatedRef"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;AAAA,SAASA,OAAO,QAAQ,OAAO;AAI/B,SAASC,qBAAqB,QAAQ,6CAA6C;AAKnF,SAASC,mBAAmB,QAAQ,oCAAoC;AACxE,SAASC,gCAAgC,QAAQ,kDAAkD;AACnG,SAASC,2BAA2B,QAAQ,6CAA6C;AACzF,SAASC,kBAAkB,QAAQ,mCAAmC;AACtE,SAASC,WAAW,QAAQ,gBAAgB;AAmB5C;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,KAAK;EACLC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC;AAC6B,CAAC,KAAK;EACnC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,MAAM;EACpD,MAAMK,cAAc,GAAGtB,OAAO,CAC7B,OAAO;IAAEkB,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAME,cAAc,GAAGvB,OAAO,CAAC,MAAMC,qBAAqB,CAACY,KAAK,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAE3E,MAAMW,eAAe,GAAGlB,WAAW,CAAC;IACnCG,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBY,cAAc;IACdE,mBAAmB,EAAEb,WAAW;IAChCE,OAAO;IACPC,cAAc;IACdC;EACD,CAAC,CAAC;;EAEF;EACA;EACA;EACAd,mBAAmB,CAAC;IACnBO,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBW,cAAc;IACdR,OAAO;IACPC;EACD,CAAC,CAAC;EAEFX,2BAA2B,CAAC;IAC3BK,OAAO;IACPe,eAAe;IACfhB;EACD,CAAC,CAAC;EAEFL,gCAAgC,CAAC;IAChCK,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBc;EACD,CAAC,CAAC;EAEFnB,kBAAkB,CAAC;IAClBI,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRgB;EACD,CAAC,CAAC;AACH,CAAC","ignoreList":[]}
@@ -15,7 +15,8 @@ export const useMeasurer = ({
15
15
  preparedStyles,
16
16
  measuredAnimatedRef,
17
17
  handoff,
18
- escapeClipping
18
+ escapeClipping,
19
+ localMeasurement
19
20
  }) => {
20
21
  const {
21
22
  width: viewportWidth,
@@ -40,6 +41,12 @@ export const useMeasurer = ({
40
41
  viewportWidth,
41
42
  viewportHeight
42
43
  });
44
+ if (escapeClipping && target.type === "source") {
45
+ localMeasurement.set({
46
+ bounds: measured,
47
+ pairKey: target.pairKey
48
+ });
49
+ }
43
50
 
44
51
  /**
45
52
  * - Destination Pass -
@@ -63,6 +70,6 @@ export const useMeasurer = ({
63
70
  handoff,
64
71
  escapeClipping
65
72
  });
66
- }, [enabled, boundTag, currentScreenKey, preparedStyles, measuredAnimatedRef, handoff, escapeClipping, viewportWidth, viewportHeight, scrollState, scrollMetadata, pendingLifecycleStartBlockCount, visibilityBlocked]);
73
+ }, [enabled, boundTag, currentScreenKey, preparedStyles, measuredAnimatedRef, handoff, escapeClipping, localMeasurement, viewportWidth, viewportHeight, scrollState, scrollMetadata, pendingLifecycleStartBlockCount, visibilityBlocked]);
67
74
  };
68
75
  //# sourceMappingURL=use-measurer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useWindowDimensions","applyMeasuredBoundsWrites","useScreenSlots","ScrollStore","SystemStore","getVisibilityBlockOffset","attachScrollSnapshotToMeasuredBounds","correctMeasuredBoundsForVisibilityGate","isMeasurementInViewport","measureWithOverscrollAwareness","useMeasurer","enabled","boundTag","currentScreenKey","preparedStyles","measuredAnimatedRef","handoff","escapeClipping","width","viewportWidth","height","viewportHeight","scrollState","getValue","scrollMetadata","pendingLifecycleStartBlockCount","visibilityBlocked","target","measured","get","correctedMeasured","visibilityBlockOffset","shouldGuardDestinationViewport","group","viewportAllowsDestinationWrite","type","measuredWithScroll","entryTag","tag","linkId","linkKey","linkWrite"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-measurer.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,yBAAyB,QAAQ,mDAAmD;AAC7F,SAASC,cAAc,QAAQ,kCAAkC;AAEjE,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,wBAAwB,QAAQ,wCAAwC;AAEjF,SACCC,oCAAoC,EACpCC,sCAAsC,EACtCC,uBAAuB,EACvBC,8BAA8B,QACxB,0BAA0B;AAYjC,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAC3BC,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC,cAAc;EACdC,mBAAmB;EACnBC,OAAO;EACPC;AACkB,CAAC,KAAsB;EACzC,MAAM;IAAEC,KAAK,EAAEC,aAAa;IAAEC,MAAM,EAAEC;EAAe,CAAC,GACrDrB,mBAAmB,CAAC,CAAC;EAEtB,MAAMsB,WAAW,GAAGnB,WAAW,CAACoB,QAAQ,CAACV,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMW,cAAc,GAAGrB,WAAW,CAACoB,QAAQ,CAACV,gBAAgB,EAAE,UAAU,CAAC;EACzE,MAAMY,+BAA+B,GAAGrB,WAAW,CAACmB,QAAQ,CAC3DV,gBAAgB,EAChB,iCACD,CAAC;EACD,MAAM;IAAEa;EAAkB,CAAC,GAAGxB,cAAc,CAAC,CAAC;EAE9C,OAAOH,WAAW,CAChB4B,MAAM,IAAK;IACX,SAAS;;IACT,IAAI,CAAChB,OAAO,EAAE;IAEd,MAAMiB,QAAQ,GAAGnB,8BAA8B,CAC9CM,mBAAmB,EACnBO,WAAW,CAACO,GAAG,CAAC,CACjB,CAAC;IAED,IAAI,CAACD,QAAQ,EAAE;IAEf,MAAME,iBAAiB,GAAGvB,sCAAsC,CAAC;MAChEqB,QAAQ;MACRF,iBAAiB,EAAEA,iBAAiB,CAACG,GAAG,CAAC,CAAC;MAC1CE,qBAAqB,EAAE1B,wBAAwB,CAACgB,cAAc,CAAC;MAC/DF,aAAa;MACbE;IACD,CAAC,CAAC;;IAEF;AACH;AACA;AACA;AACA;AACA;AACA;IACG,MAAMW,8BAA8B,GACnCP,+BAA+B,CAACI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAACjB,QAAQ,CAACqB,KAAK;IAE9D,MAAMC,8BAA8B,GACnCP,MAAM,CAACQ,IAAI,KAAK,aAAa,IAC7B,CAACH,8BAA8B,IAC/BxB,uBAAuB,CACtBsB,iBAAiB,EACjBX,aAAa,EACbE,cACD,CAAC;IAEF,IAAI,CAACa,8BAA8B,EAAE;IAErC,MAAME,kBAAkB,GAAG9B,oCAAoC,CAC9DwB,iBAAiB,EACjBN,cAAc,CAACK,GAAG,CAAC,CACpB,CAAC;IAED5B,yBAAyB,CAAC;MACzBoC,QAAQ,EAAEzB,QAAQ,CAAC0B,GAAG;MACtBC,MAAM,EAAE3B,QAAQ,CAAC4B,OAAO;MACxBP,KAAK,EAAErB,QAAQ,CAACqB,KAAK;MACrBpB,gBAAgB;MAChBe,QAAQ,EAAEQ,kBAAkB;MAC5BtB,cAAc;MACd2B,SAAS,EAAEd,MAAM;MACjBX,OAAO;MACPC;IACD,CAAC,CAAC;EACH,CAAC,EACD,CACCN,OAAO,EACPC,QAAQ,EACRC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,EACnBC,OAAO,EACPC,cAAc,EACdE,aAAa,EACbE,cAAc,EACdC,WAAW,EACXE,cAAc,EACdC,+BAA+B,EAC/BC,iBAAiB,CAEnB,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useWindowDimensions","applyMeasuredBoundsWrites","useScreenSlots","ScrollStore","SystemStore","getVisibilityBlockOffset","attachScrollSnapshotToMeasuredBounds","correctMeasuredBoundsForVisibilityGate","isMeasurementInViewport","measureWithOverscrollAwareness","useMeasurer","enabled","boundTag","currentScreenKey","preparedStyles","measuredAnimatedRef","handoff","escapeClipping","localMeasurement","width","viewportWidth","height","viewportHeight","scrollState","getValue","scrollMetadata","pendingLifecycleStartBlockCount","visibilityBlocked","target","measured","get","correctedMeasured","visibilityBlockOffset","type","set","bounds","pairKey","shouldGuardDestinationViewport","group","viewportAllowsDestinationWrite","measuredWithScroll","entryTag","tag","linkId","linkKey","linkWrite"],"sourceRoot":"../../../../../src","sources":["components/boundary/hooks/use-measurer.ts"],"mappings":";;AAAA,SAASA,WAAW,QAAQ,OAAO;AAEnC,SAASC,mBAAmB,QAAQ,cAAc;AAElD,SAASC,yBAAyB,QAAQ,mDAAmD;AAC7F,SAASC,cAAc,QAAQ,kCAAkC;AAEjE,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,WAAW,QAAQ,8BAA8B;AAC1D,SAASC,wBAAwB,QAAQ,wCAAwC;AAEjF,SACCC,oCAAoC,EACpCC,sCAAsC,EACtCC,uBAAuB,EACvBC,8BAA8B,QACxB,0BAA0B;AAajC,OAAO,MAAMC,WAAW,GAAGA,CAAC;EAC3BC,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC,cAAc;EACdC,mBAAmB;EACnBC,OAAO;EACPC,cAAc;EACdC;AACkB,CAAC,KAAsB;EACzC,MAAM;IAAEC,KAAK,EAAEC,aAAa;IAAEC,MAAM,EAAEC;EAAe,CAAC,GACrDtB,mBAAmB,CAAC,CAAC;EAEtB,MAAMuB,WAAW,GAAGpB,WAAW,CAACqB,QAAQ,CAACX,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMY,cAAc,GAAGtB,WAAW,CAACqB,QAAQ,CAACX,gBAAgB,EAAE,UAAU,CAAC;EACzE,MAAMa,+BAA+B,GAAGtB,WAAW,CAACoB,QAAQ,CAC3DX,gBAAgB,EAChB,iCACD,CAAC;EACD,MAAM;IAAEc;EAAkB,CAAC,GAAGzB,cAAc,CAAC,CAAC;EAE9C,OAAOH,WAAW,CAChB6B,MAAM,IAAK;IACX,SAAS;;IACT,IAAI,CAACjB,OAAO,EAAE;IAEd,MAAMkB,QAAQ,GAAGpB,8BAA8B,CAC9CM,mBAAmB,EACnBQ,WAAW,CAACO,GAAG,CAAC,CACjB,CAAC;IAED,IAAI,CAACD,QAAQ,EAAE;IAEf,MAAME,iBAAiB,GAAGxB,sCAAsC,CAAC;MAChEsB,QAAQ;MACRF,iBAAiB,EAAEA,iBAAiB,CAACG,GAAG,CAAC,CAAC;MAC1CE,qBAAqB,EAAE3B,wBAAwB,CAACiB,cAAc,CAAC;MAC/DF,aAAa;MACbE;IACD,CAAC,CAAC;IAEF,IAAIL,cAAc,IAAIW,MAAM,CAACK,IAAI,KAAK,QAAQ,EAAE;MAC/Cf,gBAAgB,CAACgB,GAAG,CAAC;QACpBC,MAAM,EAAEN,QAAQ;QAChBO,OAAO,EAAER,MAAM,CAACQ;MACjB,CAAC,CAAC;IACH;;IAEA;AACH;AACA;AACA;AACA;AACA;AACA;IACG,MAAMC,8BAA8B,GACnCX,+BAA+B,CAACI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAClB,QAAQ,CAAC0B,KAAK;IAE9D,MAAMC,8BAA8B,GACnCX,MAAM,CAACK,IAAI,KAAK,aAAa,IAC7B,CAACI,8BAA8B,IAC/B7B,uBAAuB,CACtBuB,iBAAiB,EACjBX,aAAa,EACbE,cACD,CAAC;IAEF,IAAI,CAACiB,8BAA8B,EAAE;IAErC,MAAMC,kBAAkB,GAAGlC,oCAAoC,CAC9DyB,iBAAiB,EACjBN,cAAc,CAACK,GAAG,CAAC,CACpB,CAAC;IAED7B,yBAAyB,CAAC;MACzBwC,QAAQ,EAAE7B,QAAQ,CAAC8B,GAAG;MACtBC,MAAM,EAAE/B,QAAQ,CAACgC,OAAO;MACxBN,KAAK,EAAE1B,QAAQ,CAAC0B,KAAK;MACrBzB,gBAAgB;MAChBgB,QAAQ,EAAEW,kBAAkB;MAC5B1B,cAAc;MACd+B,SAAS,EAAEjB,MAAM;MACjBZ,OAAO;MACPC;IACD,CAAC,CAAC;EACH,CAAC,EACD,CACCN,OAAO,EACPC,QAAQ,EACRC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,EACnBC,OAAO,EACPC,cAAc,EACdC,gBAAgB,EAChBE,aAAa,EACbE,cAAc,EACdC,WAAW,EACXE,cAAc,EACdC,+BAA+B,EAC/BC,iBAAiB,CAEnB,CAAC;AACF,CAAC","ignoreList":[]}
@@ -4,7 +4,6 @@ import { memo, useLayoutEffect, useRef } from "react";
4
4
  import { StyleSheet, useWindowDimensions, View } from "react-native";
5
5
  import Animated from "react-native-reanimated";
6
6
  import { useDescriptorsStore } from "../../../../../../providers/screen/descriptors";
7
- import { useScreenSlots } from "../../../../../../providers/screen/styles";
8
7
  import { PORTAL_POINTER_EVENTS } from "../../../teleport";
9
8
  import { useHostMeasurement } from "../hooks/use-host-measurement";
10
9
  import { registerHost, unregisterHost } from "../stores/host-registry.store";
@@ -22,23 +21,14 @@ function HostImpl({
22
21
  generatedHostKeyRef.current = `${screenKey}-host-${nextHostId++}`;
23
22
  }
24
23
  const hostKey = fallback ? screenKey : generatedHostKeyRef.current;
25
- const capturesScroll = !fallback;
26
24
  const activeBoundaryHosts = useActivePortalBoundaryHosts(hostKey);
27
- const {
28
- visibilityBlocked
29
- } = useScreenSlots();
30
25
  const {
31
26
  height: viewportHeight,
32
27
  width: viewportWidth
33
28
  } = useWindowDimensions();
29
+ const measurementKey = activeBoundaryHosts.length ? activeBoundaryHosts.map(host => host.portalHostName).join("|") : null;
34
30
  const measurement = useHostMeasurement({
35
- capturesScroll,
36
- enabled: activeBoundaryHosts.length > 0,
37
- hostKey,
38
- screenKey,
39
- visibilityBlocked,
40
- viewportHeight,
41
- viewportWidth
31
+ measurementKey
42
32
  });
43
33
  useLayoutEffect(() => {
44
34
  registerHost({
@@ -58,6 +48,9 @@ function HostImpl({
58
48
  }],
59
49
  children: /*#__PURE__*/_jsx(PortalBoundaryHost, {
60
50
  host: host,
51
+ hostBounds: measurement.hostBounds,
52
+ hostMeasurementKey: measurementKey,
53
+ measuredHostKey: measurement.measuredKey,
61
54
  style: StyleSheet.absoluteFill
62
55
  })
63
56
  }, host.portalHostName));
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useLayoutEffect","useRef","StyleSheet","useWindowDimensions","View","Animated","useDescriptorsStore","useScreenSlots","PORTAL_POINTER_EVENTS","useHostMeasurement","registerHost","unregisterHost","useActivePortalBoundaryHosts","PortalBoundaryHost","jsx","_jsx","nextHostId","HostImpl","fallback","style","screenKey","s","derivations","currentScreenKey","generatedHostKeyRef","current","hostKey","capturesScroll","activeBoundaryHosts","visibilityBlocked","height","viewportHeight","width","viewportWidth","measurement","enabled","length","boundaryHosts","map","host","pointerEvents","styles","boundaryHostViewport","children","absoluteFill","portalHostName","ref","hostRef","collapsable","Host","props","ScreenFallbackHost","create","elevation","left","overflow","position","top","zIndex"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/components/host.tsx"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,eAAe,EAAEC,MAAM,QAAQ,OAAO;AACrD,SAECC,UAAU,EACVC,mBAAmB,EACnBC,IAAI,QAEE,cAAc;AACrB,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,mBAAmB,QAAQ,gDAAgD;AACpF,SAASC,cAAc,QAAQ,2CAA2C;AAC1E,SAASC,qBAAqB,QAAQ,mBAAmB;AACzD,SAASC,kBAAkB,QAAQ,+BAA+B;AAClE,SAASC,YAAY,EAAEC,cAAc,QAAQ,+BAA+B;AAC5E,SAASC,4BAA4B,QAAQ,sCAAsC;AACnF,SAASC,kBAAkB,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5D,IAAIC,UAAU,GAAG,CAAC;AAUlB,SAASC,QAAQA,CAAC;EAAEC,QAAQ,GAAG,KAAK;EAAEC;AAAqB,CAAC,EAAE;EAC7D,MAAMC,SAAS,GAAGd,mBAAmB,CAAEe,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACC,gBAAgB,CAAC;EAC5E,MAAMC,mBAAmB,GAAGvB,MAAM,CAAgB,IAAI,CAAC;EAEvD,IAAIuB,mBAAmB,CAACC,OAAO,KAAK,IAAI,EAAE;IACzCD,mBAAmB,CAACC,OAAO,GAAG,GAAGL,SAAS,SAASJ,UAAU,EAAE,EAAE;EAClE;EAEA,MAAMU,OAAO,GAAGR,QAAQ,GAAGE,SAAS,GAAGI,mBAAmB,CAACC,OAAO;EAClE,MAAME,cAAc,GAAG,CAACT,QAAQ;EAChC,MAAMU,mBAAmB,GAAGhB,4BAA4B,CAACc,OAAO,CAAC;EACjE,MAAM;IAAEG;EAAkB,CAAC,GAAGtB,cAAc,CAAC,CAAC;EAC9C,MAAM;IAAEuB,MAAM,EAAEC,cAAc;IAAEC,KAAK,EAAEC;EAAc,CAAC,GACrD9B,mBAAmB,CAAC,CAAC;EAEtB,MAAM+B,WAAW,GAAGzB,kBAAkB,CAAC;IACtCkB,cAAc;IACdQ,OAAO,EAAEP,mBAAmB,CAACQ,MAAM,GAAG,CAAC;IACvCV,OAAO;IACPN,SAAS;IACTS,iBAAiB;IACjBE,cAAc;IACdE;EACD,CAAC,CAAC;EAEFjC,eAAe,CAAC,MAAM;IACrBU,YAAY,CAAC;MACZQ,QAAQ;MACRQ,OAAO;MACPN;IACD,CAAC,CAAC;IAEF,OAAO,MAAM;MACZT,cAAc,CAACS,SAAS,EAAEM,OAAO,CAAC;IACnC,CAAC;EACF,CAAC,EAAE,CAACR,QAAQ,EAAEQ,OAAO,EAAEN,SAAS,CAAC,CAAC;EAElC,MAAMiB,aAAa,GAAGT,mBAAmB,CAACU,GAAG,CAAEC,IAAI,iBAClDxB,IAAA,CAACX,IAAI;IAEJoC,aAAa,EAAEhC,qBAAsB;IACrCW,KAAK,EAAE,CACNsB,MAAM,CAACC,oBAAoB,EAC3B;MAAEV,KAAK,EAAEC,aAAa;MAAEH,MAAM,EAAEC;IAAe,CAAC,CAC/C;IAAAY,QAAA,eAEF5B,IAAA,CAACF,kBAAkB;MAAC0B,IAAI,EAAEA,IAAK;MAACpB,KAAK,EAAEjB,UAAU,CAAC0C;IAAa,CAAE;EAAC,GAP7DL,IAAI,CAACM,cAQL,CACN,CAAC;EAEF,oBACC9B,IAAA,CAACV,QAAQ,CAACD,IAAI;IACb0C,GAAG,EAAEZ,WAAW,CAACa,OAAQ;IACzBP,aAAa,EAAEhC,qBAAsB;IACrCW,KAAK,EAAE,CACNsB,MAAM,CAACF,IAAI,EACX;MAAEP,KAAK,EAAEC,aAAa;MAAEH,MAAM,EAAEC;IAAe,CAAC,EAChDZ,KAAK,CACJ;IACF6B,WAAW,EAAE,KAAM;IAAAL,QAAA,EAElBN;EAAa,CACA,CAAC;AAElB;AAEA,OAAO,MAAMY,IAAI,gBAAGlD,IAAI,CAAC,SAASkD,IAAIA,CAACC,KAAsB,EAAE;EAC9D,oBAAOnC,IAAA,CAACE,QAAQ;IAAA,GAAKiC;EAAK,CAAG,CAAC;AAC/B,CAAC,CAAC;AAEF,OAAO,MAAMC,kBAAkB,gBAAGpD,IAAI,CAAC,SAASoD,kBAAkBA,CAAA,EAAG;EACpE,oBAAOpC,IAAA,CAACE,QAAQ;IAACC,QAAQ;EAAA,CAAE,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAMuB,MAAM,GAAGvC,UAAU,CAACkD,MAAM,CAAC;EAChCb,IAAI,EAAE;IACLc,SAAS,EAAE,MAAM;IACjBC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,SAAS;IACnBC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,MAAM,EAAE;EACT,CAAC;EACDhB,oBAAoB,EAAE;IACrBY,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,SAAS;IACnBC,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE;EACN;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","useLayoutEffect","useRef","StyleSheet","useWindowDimensions","View","Animated","useDescriptorsStore","PORTAL_POINTER_EVENTS","useHostMeasurement","registerHost","unregisterHost","useActivePortalBoundaryHosts","PortalBoundaryHost","jsx","_jsx","nextHostId","HostImpl","fallback","style","screenKey","s","derivations","currentScreenKey","generatedHostKeyRef","current","hostKey","activeBoundaryHosts","height","viewportHeight","width","viewportWidth","measurementKey","length","map","host","portalHostName","join","measurement","boundaryHosts","pointerEvents","styles","boundaryHostViewport","children","hostBounds","hostMeasurementKey","measuredHostKey","measuredKey","absoluteFill","ref","hostRef","collapsable","Host","props","ScreenFallbackHost","create","elevation","left","overflow","position","top","zIndex"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/components/host.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,78 +1,60 @@
1
1
  "use strict";
2
2
 
3
- import { memo, useCallback } from "react";
3
+ import { memo } from "react";
4
4
  import { I18nManager, StyleSheet } from "react-native";
5
- import Animated, { useAnimatedStyle, useFrameCallback, useSharedValue } from "react-native-reanimated";
5
+ import Animated, { useAnimatedReaction, useAnimatedStyle } from "react-native-reanimated";
6
6
  import { NO_STYLES } from "../../../../../../constants";
7
7
  import { composeSlotStyleWithLocalTransform } from "../../../../../../providers/screen/styles/helpers/compose-slot-style";
8
- import { getLink } from "../../../../../../stores/bounds/internals/links";
9
- import { SystemStore } from "../../../../../../stores/system.store";
10
8
  import { NativePortalHost, PORTAL_POINTER_EVENTS } from "../../../teleport";
9
+ import { resolveBoundaryLocalMeasurement } from "../helpers/local-measurement";
11
10
  import { resolvePortalOffsetStyle } from "../helpers/offset-style";
12
- import { getPortalHostBounds } from "../stores/host-bounds.store";
13
11
  import { jsx as _jsx } from "react/jsx-runtime";
14
12
  const AnimatedPortalBoundaryHost = NativePortalHost ? Animated.createAnimatedComponent(NativePortalHost) : null;
13
+ const getCurrentBoundaryBounds = host => {
14
+ "worklet";
15
+
16
+ return resolveBoundaryLocalMeasurement(host.localMeasurement.get(), host.pairKey);
17
+ };
15
18
  export const PortalBoundaryHost = /*#__PURE__*/memo(function PortalBoundaryHost({
16
19
  host,
20
+ hostBounds,
21
+ hostMeasurementKey,
22
+ measuredHostKey,
17
23
  style
18
24
  }) {
19
- const geometryReadyFrames = useSharedValue(0);
20
- const {
21
- unblockLifecycleStart
22
- } = SystemStore.getBag(host.screenKey).actions;
23
- const handleFrame = useCallback(() => {
25
+ useAnimatedReaction(() => {
24
26
  "worklet";
25
27
 
26
- if (host.portalHostReady.get()) {
27
- return;
28
- }
29
- const link = getLink(host.pairKey, host.boundaryId);
30
- const hasSource = !!link?.source;
31
- const hasHostBounds = getPortalHostBounds(host.hostKey) !== null;
32
- const hasSlot = host.slotsMap.get()[host.boundaryId] !== undefined;
33
- const hasGeometry = hasSource && hasHostBounds && hasSlot;
34
- if (!hasGeometry) {
35
- geometryReadyFrames.set(0);
36
- return;
37
- }
38
- if (geometryReadyFrames.get() === 0) {
39
- // Give the source frame, host offset, and slot style one UI frame to
40
- // reach native before Teleport targets this receiver.
41
- geometryReadyFrames.set(1);
42
- return;
28
+ return getCurrentBoundaryBounds(host) !== null && hostBounds.get() !== null && !!hostMeasurementKey && measuredHostKey.get() === hostMeasurementKey;
29
+ }, ready => {
30
+ "worklet";
31
+
32
+ if (ready) {
33
+ host.portalHostReady.set(true);
43
34
  }
44
- host.portalHostReady.set(true);
45
- unblockLifecycleStart();
46
- }, [geometryReadyFrames, host, unblockLifecycleStart]);
47
- useFrameCallback(handleFrame, true);
35
+ });
48
36
  const hostStyle = useAnimatedStyle(() => {
49
37
  "worklet";
50
38
 
51
- // Strict per-member lookup - a fallback member's source rect would
52
- // misplace this host's teleported content.
53
- const link = getLink(host.pairKey, host.boundaryId);
54
- if (!link?.source) {
39
+ const boundaryBounds = getCurrentBoundaryBounds(host);
40
+ if (!boundaryBounds) {
55
41
  return NO_STYLES;
56
42
  }
57
- const sourceBounds = link.source.bounds;
58
- const isCrossScreenPortal = link.source.screenKey !== host.screenKey;
59
43
  return resolvePortalOffsetStyle({
60
- bounds: sourceBounds,
61
- hostKey: host.hostKey,
62
- placement: isCrossScreenPortal ? "cross-screen" : "same-screen"
44
+ bounds: boundaryBounds,
45
+ hostBounds: hostBounds.get()
63
46
  });
64
47
  });
65
48
  const contentFrameStyle = useAnimatedStyle(() => {
66
49
  "worklet";
67
50
 
68
- const link = getLink(host.pairKey, host.boundaryId);
69
- if (!link?.source) {
51
+ const boundaryBounds = getCurrentBoundaryBounds(host);
52
+ if (!boundaryBounds) {
70
53
  return NO_STYLES;
71
54
  }
72
- const sourceBounds = link.source.bounds;
73
55
  return {
74
- height: sourceBounds.height,
75
- width: sourceBounds.width
56
+ height: boundaryBounds.height,
57
+ width: boundaryBounds.width
76
58
  };
77
59
  });
78
60
  const slotStyle = useAnimatedStyle(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","I18nManager","StyleSheet","Animated","useAnimatedStyle","useFrameCallback","useSharedValue","NO_STYLES","composeSlotStyleWithLocalTransform","getLink","SystemStore","NativePortalHost","PORTAL_POINTER_EVENTS","resolvePortalOffsetStyle","getPortalHostBounds","jsx","_jsx","AnimatedPortalBoundaryHost","createAnimatedComponent","PortalBoundaryHost","host","style","geometryReadyFrames","unblockLifecycleStart","getBag","screenKey","actions","handleFrame","portalHostReady","get","link","pairKey","boundaryId","hasSource","source","hasHostBounds","hostKey","hasSlot","slotsMap","undefined","hasGeometry","set","hostStyle","sourceBounds","bounds","isCrossScreenPortal","placement","contentFrameStyle","height","width","slotStyle","slot","boundsLocalTransform","View","pointerEvents","collapsable","children","name","portalHostName","styles","content","create","isRTL","end","position","top","left"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","I18nManager","StyleSheet","Animated","useAnimatedReaction","useAnimatedStyle","NO_STYLES","composeSlotStyleWithLocalTransform","NativePortalHost","PORTAL_POINTER_EVENTS","resolveBoundaryLocalMeasurement","resolvePortalOffsetStyle","jsx","_jsx","AnimatedPortalBoundaryHost","createAnimatedComponent","getCurrentBoundaryBounds","host","localMeasurement","get","pairKey","PortalBoundaryHost","hostBounds","hostMeasurementKey","measuredHostKey","style","ready","portalHostReady","set","hostStyle","boundaryBounds","bounds","contentFrameStyle","height","width","slotStyle","slot","slotsMap","boundaryId","undefined","boundsLocalTransform","View","pointerEvents","collapsable","children","name","portalHostName","styles","content","create","isRTL","end","position","top","left"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ export const resolveBoundaryLocalMeasurement = (measurement, pairKey) => {
4
+ "worklet";
5
+
6
+ return measurement?.pairKey === pairKey ? measurement.bounds : null;
7
+ };
8
+ //# sourceMappingURL=local-measurement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resolveBoundaryLocalMeasurement","measurement","pairKey","bounds"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts"],"mappings":";;AAGA,OAAO,MAAMA,+BAA+B,GAAGA,CAC9CC,WAA4C,EAC5CC,OAAsB,KAClB;EACJ,SAAS;;EACT,OAAOD,WAAW,EAAEC,OAAO,KAAKA,OAAO,GAAGD,WAAW,CAACE,MAAM,GAAG,IAAI;AACpE,CAAC","ignoreList":[]}
@@ -1,45 +1,21 @@
1
1
  "use strict";
2
2
 
3
- import { getClampedScrollAxisDelta } from "../../../../../../stores/scroll.store";
4
- import { getPortalHostBounds } from "../stores/host-bounds.store";
5
-
6
- /**
7
- * The two portal coordinate cases we support:
8
- *
9
- * - same-screen: source and host live on the same screen; re-base the stored
10
- * host frame onto the source measurement's scroll snapshot.
11
- * - cross-screen: source and host live on different screens; the host is the
12
- * replacement coordinate space, so destination scroll is inherited naturally
13
- * from host placement instead of manually propagated.
14
- */
15
-
16
3
  export const resolvePortalOffsetStyle = ({
17
4
  bounds,
18
- hostKey,
19
- placement
5
+ hostBounds
20
6
  }) => {
21
7
  "worklet";
22
8
 
23
- const hostBounds = getPortalHostBounds(hostKey);
24
- const boundsScrollSnapshot = bounds.scroll ?? null;
25
- const hostBoundsScrollSnapshot = hostBounds?.scroll ?? null;
26
-
27
- // same-screen re-bases the static host frame onto the source scroll snapshot.
28
- // Cross-screen hosts are the chosen replacement coordinate space, so their
29
- // destination scroll is represented by where the host itself is mounted.
30
- const alignHostToBoundsScroll = placement === "same-screen";
31
- const hostSnapshotDeltaX = alignHostToBoundsScroll ? getClampedScrollAxisDelta(boundsScrollSnapshot, hostBoundsScrollSnapshot, "horizontal") : 0;
32
- const hostSnapshotDeltaY = alignHostToBoundsScroll ? getClampedScrollAxisDelta(boundsScrollSnapshot, hostBoundsScrollSnapshot, "vertical") : 0;
33
-
34
- // Without registered host bounds the host frame is the origin, so the source
35
- // page position becomes the offset directly.
36
- const adjustedHostPageX = hostBounds ? hostBounds.pageX - hostSnapshotDeltaX : 0;
37
- const adjustedHostPageY = hostBounds ? hostBounds.pageY - hostSnapshotDeltaY : 0;
9
+ // Both values are measured in page coordinates. Subtracting the host origin
10
+ // gives the boundary's local position inside that host, independent of which
11
+ // scroll container owns either view.
12
+ const hostPageX = hostBounds?.pageX ?? 0;
13
+ const hostPageY = hostBounds?.pageY ?? 0;
38
14
  return {
39
15
  transform: [{
40
- translateY: bounds.pageY - adjustedHostPageY
16
+ translateY: bounds.pageY - hostPageY
41
17
  }, {
42
- translateX: bounds.pageX - adjustedHostPageX
18
+ translateX: bounds.pageX - hostPageX
43
19
  }]
44
20
  };
45
21
  };
@@ -1 +1 @@
1
- {"version":3,"names":["getClampedScrollAxisDelta","getPortalHostBounds","resolvePortalOffsetStyle","bounds","hostKey","placement","hostBounds","boundsScrollSnapshot","scroll","hostBoundsScrollSnapshot","alignHostToBoundsScroll","hostSnapshotDeltaX","hostSnapshotDeltaY","adjustedHostPageX","pageX","adjustedHostPageY","pageY","transform","translateY","translateX"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/helpers/offset-style.ts"],"mappings":";;AACA,SAASA,yBAAyB,QAAQ,uCAAuC;AAEjF,SAASC,mBAAmB,QAAQ,6BAA6B;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAUA,OAAO,MAAMC,wBAAwB,GAAGA,CAAC;EACxCC,MAAM;EACNC,OAAO;EACPC;AAC+B,CAAC,KAAiB;EACjD,SAAS;;EACT,MAAMC,UAAU,GAAGL,mBAAmB,CAACG,OAAO,CAAC;EAC/C,MAAMG,oBAAoB,GAAGJ,MAAM,CAACK,MAAM,IAAI,IAAI;EAClD,MAAMC,wBAAwB,GAAGH,UAAU,EAAEE,MAAM,IAAI,IAAI;;EAE3D;EACA;EACA;EACA,MAAME,uBAAuB,GAAGL,SAAS,KAAK,aAAa;EAE3D,MAAMM,kBAAkB,GAAGD,uBAAuB,GAC/CV,yBAAyB,CACzBO,oBAAoB,EACpBE,wBAAwB,EACxB,YACD,CAAC,GACA,CAAC;EACJ,MAAMG,kBAAkB,GAAGF,uBAAuB,GAC/CV,yBAAyB,CACzBO,oBAAoB,EACpBE,wBAAwB,EACxB,UACD,CAAC,GACA,CAAC;;EAEJ;EACA;EACA,MAAMI,iBAAiB,GAAGP,UAAU,GACjCA,UAAU,CAACQ,KAAK,GAAGH,kBAAkB,GACrC,CAAC;EACJ,MAAMI,iBAAiB,GAAGT,UAAU,GACjCA,UAAU,CAACU,KAAK,GAAGJ,kBAAkB,GACrC,CAAC;EAEJ,OAAO;IACNK,SAAS,EAAE,CACV;MAAEC,UAAU,EAAEf,MAAM,CAACa,KAAK,GAAGD;IAAkB,CAAC,EAChD;MAAEI,UAAU,EAAEhB,MAAM,CAACW,KAAK,GAAGD;IAAkB,CAAC;EAElD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["resolvePortalOffsetStyle","bounds","hostBounds","hostPageX","pageX","hostPageY","pageY","transform","translateY","translateX"],"sourceRoot":"../../../../../../../../src","sources":["components/boundary/portal/components/boundary-portal/helpers/offset-style.ts"],"mappings":";;AAOA,OAAO,MAAMA,wBAAwB,GAAGA,CAAC;EACxCC,MAAM;EACNC;AAC+B,CAAC,KAAiB;EACjD,SAAS;;EACT;EACA;EACA;EACA,MAAMC,SAAS,GAAGD,UAAU,EAAEE,KAAK,IAAI,CAAC;EACxC,MAAMC,SAAS,GAAGH,UAAU,EAAEI,KAAK,IAAI,CAAC;EAExC,OAAO;IACNC,SAAS,EAAE,CACV;MAAEC,UAAU,EAAEP,MAAM,CAACK,KAAK,GAAGD;IAAU,CAAC,EACxC;MAAEI,UAAU,EAAER,MAAM,CAACG,KAAK,GAAGD;IAAU,CAAC;EAE1C,CAAC;AACF,CAAC","ignoreList":[]}