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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (298) hide show
  1. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +10 -10
  2. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  3. package/lib/commonjs/shared/components/boundary/create-boundary-component.js +45 -109
  4. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  5. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +103 -0
  6. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
  7. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js +7 -4
  8. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js +24 -14
  10. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js +3 -4
  12. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +6 -8
  14. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js +6 -3
  16. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/index.js +2 -2
  18. package/lib/commonjs/shared/components/boundary/portal/components/portal.js +3 -3
  19. package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
  20. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js +36 -0
  21. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js.map +1 -0
  22. package/lib/commonjs/shared/components/boundary/providers/{boundary-owner.provider.js → boundary-root.provider.js} +21 -23
  23. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
  24. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +33 -2
  25. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
  26. package/lib/commonjs/shared/components/create-transition-aware-component.js +2 -20
  27. package/lib/commonjs/shared/components/create-transition-aware-component.js.map +1 -1
  28. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js +1 -1
  29. package/lib/commonjs/shared/components/overlay/variations/float-overlay.js.map +1 -1
  30. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +2 -14
  31. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  32. package/lib/commonjs/shared/components/screen-container/layers/content.js +4 -16
  33. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  34. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js +4 -15
  35. package/lib/commonjs/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  36. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +4 -16
  37. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
  38. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +142 -24
  39. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  40. package/lib/commonjs/shared/providers/screen/screen-composer.js +1 -1
  41. package/lib/commonjs/shared/providers/screen/screen-composer.js.map +1 -1
  42. package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js +32 -0
  43. package/lib/commonjs/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
  44. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +7 -8
  45. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  46. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  47. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +1 -20
  48. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
  49. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js +1 -11
  50. package/lib/commonjs/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  51. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +23 -36
  52. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  53. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -19
  54. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  55. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +8 -3
  56. package/lib/commonjs/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  57. package/lib/commonjs/shared/providers/screen/styles/index.js +25 -7
  58. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  59. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +103 -0
  60. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -0
  61. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +16 -1
  62. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  63. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +8 -1
  64. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  65. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +59 -0
  66. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  67. package/lib/commonjs/shared/utils/logger.js +11 -0
  68. package/lib/commonjs/shared/utils/logger.js.map +1 -1
  69. package/lib/module/shared/components/boundary/components/boundary-target.js +10 -10
  70. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  71. package/lib/module/shared/components/boundary/create-boundary-component.js +47 -111
  72. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  73. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +98 -0
  74. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -0
  75. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js +7 -4
  76. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +1 -1
  77. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js +24 -14
  78. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +1 -1
  79. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js +3 -4
  80. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +1 -1
  81. package/lib/module/shared/components/boundary/hooks/use-measurer.js +6 -8
  82. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  83. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js +6 -3
  84. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +1 -1
  85. package/lib/module/shared/components/boundary/index.js +2 -2
  86. package/lib/module/shared/components/boundary/portal/components/portal.js +4 -4
  87. package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
  88. package/lib/module/shared/components/boundary/portal/resolve-portal.js +31 -0
  89. package/lib/module/shared/components/boundary/portal/resolve-portal.js.map +1 -0
  90. package/lib/module/shared/components/boundary/providers/{boundary-owner.provider.js → boundary-root.provider.js} +18 -20
  91. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -0
  92. package/lib/module/shared/components/boundary/utils/destination-signals.js +33 -2
  93. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
  94. package/lib/module/shared/components/create-transition-aware-component.js +4 -22
  95. package/lib/module/shared/components/create-transition-aware-component.js.map +1 -1
  96. package/lib/module/shared/components/overlay/variations/float-overlay.js +2 -2
  97. package/lib/module/shared/components/overlay/variations/float-overlay.js.map +1 -1
  98. package/lib/module/shared/components/screen-container/layers/backdrop.js +4 -16
  99. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  100. package/lib/module/shared/components/screen-container/layers/content.js +4 -16
  101. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  102. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js +5 -16
  103. package/lib/module/shared/components/screen-container/layers/maybe-masked-navigation-container.js.map +1 -1
  104. package/lib/module/shared/components/screen-container/layers/surface-container.js +4 -16
  105. package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
  106. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +143 -25
  107. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  108. package/lib/module/shared/providers/screen/screen-composer.js +2 -2
  109. package/lib/module/shared/providers/screen/screen-composer.js.map +1 -1
  110. package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js +26 -0
  111. package/lib/module/shared/providers/screen/styles/helpers/opening-phase.js.map +1 -0
  112. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +7 -8
  113. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  114. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  115. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js +0 -18
  116. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.js.map +1 -1
  117. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js +0 -9
  118. package/lib/module/shared/providers/screen/styles/helpers/visibility-gate.js.map +1 -1
  119. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +22 -35
  120. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  121. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +1 -19
  122. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  123. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js +9 -4
  124. package/lib/module/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.js.map +1 -1
  125. package/lib/module/shared/providers/screen/styles/index.js +1 -1
  126. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  127. package/lib/module/shared/providers/screen/styles/slot.provider.js +91 -0
  128. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -0
  129. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +14 -0
  130. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  131. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +9 -2
  132. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  133. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +58 -0
  134. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  135. package/lib/module/shared/utils/logger.js +11 -0
  136. package/lib/module/shared/utils/logger.js.map +1 -1
  137. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +2 -1
  138. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  139. package/lib/typescript/component-stack/components/component-screen.d.ts +1 -1
  140. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
  141. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +2 -1
  142. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
  143. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -1
  144. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  145. package/lib/typescript/native-stack/views/NativeStackView.d.ts +2 -1
  146. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
  147. package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +2 -2
  148. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +1 -1
  149. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
  150. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
  151. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  152. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +1 -1
  153. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -1
  154. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +1 -1
  155. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  156. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +1 -1
  157. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  158. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  159. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +32 -0
  160. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -0
  161. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +2 -1
  162. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +1 -1
  163. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts +3 -2
  164. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +1 -1
  165. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +2 -2
  166. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +1 -1
  167. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +3 -5
  168. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  169. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts +3 -3
  170. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +1 -1
  171. package/lib/typescript/shared/components/boundary/index.d.ts +7 -211
  172. package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
  173. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts +2 -2
  174. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
  175. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +1 -1
  176. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
  177. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts +1 -1
  178. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts.map +1 -1
  179. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +1 -1
  180. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
  181. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts +14 -0
  182. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts.map +1 -0
  183. package/lib/typescript/shared/components/boundary/providers/{boundary-owner.provider.d.ts → boundary-root.provider.d.ts} +12 -14
  184. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -0
  185. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +1 -0
  186. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
  187. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +5 -6
  188. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  189. package/lib/typescript/shared/components/masked-view.d.ts +1 -1
  190. package/lib/typescript/shared/components/masked-view.d.ts.map +1 -1
  191. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
  192. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  193. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
  194. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  195. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  196. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  197. package/lib/typescript/shared/components/screen-container/index.d.ts +1 -1
  198. package/lib/typescript/shared/components/screen-container/index.d.ts.map +1 -1
  199. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +1 -1
  200. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  201. package/lib/typescript/shared/components/screen-container/layers/content.d.ts +1 -1
  202. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  203. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts +1 -1
  204. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  205. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts +1 -1
  206. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
  207. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -1
  208. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  209. package/lib/typescript/shared/index.d.ts +663 -919
  210. package/lib/typescript/shared/index.d.ts.map +1 -1
  211. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  212. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +1 -1
  213. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  214. package/lib/typescript/shared/providers/screen/screen-composer.d.ts +1 -1
  215. package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
  216. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +1 -1
  217. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -1
  218. package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts +16 -0
  219. package/lib/typescript/shared/providers/screen/styles/helpers/opening-phase.d.ts.map +1 -0
  220. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts +3 -4
  221. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  222. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
  223. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts +0 -1
  224. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.d.ts.map +1 -1
  225. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts +0 -1
  226. package/lib/typescript/shared/providers/screen/styles/helpers/visibility-gate.d.ts.map +1 -1
  227. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +0 -5
  228. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  229. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +2 -3
  230. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  231. package/lib/typescript/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.d.ts.map +1 -1
  232. package/lib/typescript/shared/providers/screen/styles/index.d.ts +1 -1
  233. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  234. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +23 -0
  235. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -0
  236. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +6 -1
  237. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
  238. package/lib/typescript/shared/stores/bounds/types.d.ts +13 -0
  239. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  240. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  241. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +9 -0
  242. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  243. package/lib/typescript/shared/utils/logger.d.ts +6 -0
  244. package/lib/typescript/shared/utils/logger.d.ts.map +1 -1
  245. package/package.json +1 -1
  246. package/src/shared/components/boundary/components/boundary-target.tsx +12 -12
  247. package/src/shared/components/boundary/create-boundary-component.tsx +59 -155
  248. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +127 -0
  249. package/src/shared/components/boundary/hooks/use-boundary-presence.ts +7 -5
  250. package/src/shared/components/boundary/hooks/use-initial-destination-measurement.ts +27 -11
  251. package/src/shared/components/boundary/hooks/use-initial-source-measurement.ts +5 -5
  252. package/src/shared/components/boundary/hooks/use-measurer.ts +11 -14
  253. package/src/shared/components/boundary/hooks/use-refresh-boundary.ts +5 -5
  254. package/src/shared/components/boundary/index.tsx +2 -2
  255. package/src/shared/components/boundary/portal/components/portal.tsx +3 -3
  256. package/src/shared/components/boundary/portal/resolve-portal.ts +40 -0
  257. package/src/shared/components/boundary/providers/{boundary-owner.provider.tsx → boundary-root.provider.tsx} +27 -32
  258. package/src/shared/components/boundary/utils/destination-signals.ts +53 -2
  259. package/src/shared/components/create-transition-aware-component.tsx +3 -25
  260. package/src/shared/components/overlay/variations/float-overlay.tsx +3 -3
  261. package/src/shared/components/screen-container/layers/backdrop.tsx +4 -17
  262. package/src/shared/components/screen-container/layers/content.tsx +4 -16
  263. package/src/shared/components/screen-container/layers/maybe-masked-navigation-container.tsx +8 -18
  264. package/src/shared/components/screen-container/layers/surface-container.tsx +4 -17
  265. package/src/shared/providers/screen/animation/helpers/pipeline.ts +250 -68
  266. package/src/shared/providers/screen/screen-composer.tsx +3 -3
  267. package/src/shared/providers/screen/styles/helpers/opening-phase.ts +25 -0
  268. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +8 -10
  269. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +0 -1
  270. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/slot-state.ts +0 -24
  271. package/src/shared/providers/screen/styles/helpers/visibility-gate.ts +0 -12
  272. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +29 -37
  273. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +0 -18
  274. package/src/shared/providers/screen/styles/hooks/use-resolved-slot-style-map.tsx +17 -4
  275. package/src/shared/providers/screen/styles/index.tsx +8 -4
  276. package/src/shared/providers/screen/styles/slot.provider.tsx +111 -0
  277. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +17 -0
  278. package/src/shared/stores/bounds/types.ts +14 -0
  279. package/src/shared/utils/bounds/navigation/zoom/build.ts +9 -1
  280. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +96 -0
  281. package/src/shared/utils/logger.ts +12 -0
  282. package/lib/commonjs/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
  283. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -26
  284. package/lib/commonjs/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
  285. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js +0 -61
  286. package/lib/commonjs/shared/providers/screen/styles/styles.provider.js.map +0 -1
  287. package/lib/module/shared/components/boundary/providers/boundary-owner.provider.js.map +0 -1
  288. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js +0 -21
  289. package/lib/module/shared/providers/screen/styles/helpers/preserve-animated-props-only.js.map +0 -1
  290. package/lib/module/shared/providers/screen/styles/styles.provider.js +0 -53
  291. package/lib/module/shared/providers/screen/styles/styles.provider.js.map +0 -1
  292. package/lib/typescript/shared/components/boundary/providers/boundary-owner.provider.d.ts.map +0 -1
  293. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts +0 -3
  294. package/lib/typescript/shared/providers/screen/styles/helpers/preserve-animated-props-only.d.ts.map +0 -1
  295. package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts +0 -14
  296. package/lib/typescript/shared/providers/screen/styles/styles.provider.d.ts.map +0 -1
  297. package/src/shared/providers/screen/styles/helpers/preserve-animated-props-only.ts +0 -22
  298. package/src/shared/providers/screen/styles/styles.provider.tsx +0 -60
@@ -9,7 +9,7 @@ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reani
9
9
  var _styles = require("../../../utils/bounds/helpers/styles/styles");
10
10
  var _logger = require("../../../utils/logger");
11
11
  var _portal = require("../portal/components/portal");
12
- var _boundaryOwner = require("../providers/boundary-owner.provider");
12
+ var _boundaryRoot = require("../providers/boundary-root.provider");
13
13
  var _jsxRuntime = require("react/jsx-runtime");
14
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
15
  const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(function BoundaryTarget(props) {
@@ -19,20 +19,20 @@ const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(fu
19
19
  } = props;
20
20
  const targetAnimatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
21
21
  const placeholderAnimatedRef = (0, _reactNativeReanimated.useAnimatedRef)();
22
- const ownerContext = (0, _boundaryOwner.useBoundaryOwnerContext)();
23
- const registerTargetRef = ownerContext?.registerTargetRef;
24
- const unregisterTargetRef = ownerContext?.unregisterTargetRef;
25
- const isActiveTarget = ownerContext?.activeTargetRef === targetAnimatedRef;
22
+ const rootContext = (0, _boundaryRoot.useBoundaryRootContext)();
23
+ const registerTargetRef = rootContext?.registerTargetRef;
24
+ const unregisterTargetRef = rootContext?.unregisterTargetRef;
25
+ const isActiveTarget = rootContext?.activeTargetRef === targetAnimatedRef;
26
26
  const preparedStyles = (0, _react.useMemo)(() => (0, _styles.prepareStyleForBounds)(style), [style]);
27
27
  // Portal'd content can be teleported into another screen's host; measuring
28
28
  // it there would capture its CURRENT (destination) position as the source
29
29
  // bounds. The portal placeholder keeps the layout slot at home, so it is
30
30
  // the truthful measurement surface whenever a portal is configured.
31
- const measurementRef = ownerContext?.portal ? placeholderAnimatedRef : targetAnimatedRef;
31
+ const measurementRef = rootContext?.portal ? placeholderAnimatedRef : targetAnimatedRef;
32
32
  (0, _react.useLayoutEffect)(() => {
33
33
  if (!registerTargetRef || !unregisterTargetRef) {
34
34
  if (__DEV__) {
35
- _logger.logger.warn(_boundaryOwner.TARGET_OUTSIDE_OWNER_WARNING);
35
+ _logger.logger.warn(_boundaryRoot.TARGET_OUTSIDE_ROOT_WARNING);
36
36
  }
37
37
  return;
38
38
  }
@@ -42,13 +42,13 @@ const BoundaryTarget = exports.BoundaryTarget = /*#__PURE__*/(0, _react.memo)(fu
42
42
  };
43
43
  }, [registerTargetRef, unregisterTargetRef, targetAnimatedRef, preparedStyles, measurementRef]);
44
44
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.Portal, {
45
- id: ownerContext?.entryTag,
46
- mode: ownerContext?.portal,
45
+ id: rootContext?.boundTag.tag,
46
+ mode: rootContext?.portal,
47
47
  placeholderRef: placeholderAnimatedRef,
48
48
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
49
49
  ...rest,
50
50
  ref: targetAnimatedRef,
51
- style: [style, isActiveTarget ? ownerContext.associatedTargetStyles : undefined],
51
+ style: [style, isActiveTarget ? rootContext.associatedTargetStyles : undefined],
52
52
  collapsable: false
53
53
  })
54
54
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_styles","_logger","_portal","_boundaryOwner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BoundaryTarget","exports","memo","props","style","rest","targetAnimatedRef","useAnimatedRef","placeholderAnimatedRef","ownerContext","useBoundaryOwnerContext","registerTargetRef","unregisterTargetRef","isActiveTarget","activeTargetRef","preparedStyles","useMemo","prepareStyleForBounds","measurementRef","portal","useLayoutEffect","__DEV__","logger","warn","TARGET_OUTSIDE_OWNER_WARNING","jsx","Portal","id","entryTag","mode","placeholderRef","children","View","ref","associatedTargetStyles","undefined","collapsable"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_styles","_logger","_portal","_boundaryRoot","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BoundaryTarget","exports","memo","props","style","rest","targetAnimatedRef","useAnimatedRef","placeholderAnimatedRef","rootContext","useBoundaryRootContext","registerTargetRef","unregisterTargetRef","isActiveTarget","activeTargetRef","preparedStyles","useMemo","prepareStyleForBounds","measurementRef","portal","useLayoutEffect","__DEV__","logger","warn","TARGET_OUTSIDE_ROOT_WARNING","jsx","Portal","id","boundTag","tag","mode","placeholderRef","children","View","ref","associatedTargetStyles","undefined","collapsable"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/components/boundary-target.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,22 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.createBoundaryComponent = createBoundaryComponent;
7
7
  var _react = require("react");
8
- var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
- var _constants = require("../../constants");
8
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
9
  var _descriptors = require("../../providers/screen/descriptors");
11
10
  var _styles = require("../../providers/screen/styles");
12
11
  var _linkPairs = require("../../stores/bounds/helpers/link-pairs.helpers");
13
- var _styles2 = require("../../utils/bounds/helpers/styles/styles");
14
- var _logger = require("../../utils/logger");
15
- var _useBoundaryPresence = require("./hooks/use-boundary-presence");
16
- var _useInitialDestinationMeasurement = require("./hooks/use-initial-destination-measurement");
17
- var _useInitialSourceMeasurement = require("./hooks/use-initial-source-measurement");
18
- var _useMeasurer = require("./hooks/use-measurer");
19
- var _useRefreshBoundary = require("./hooks/use-refresh-boundary");
20
- var _teleport = require("./portal/teleport");
21
- var _boundaryOwner = require("./providers/boundary-owner.provider");
12
+ var _useBoundaryMeasurement = require("./hooks/use-boundary-measurement");
13
+ var _resolvePortal = require("./portal/resolve-portal");
14
+ var _boundaryRoot = require("./providers/boundary-root.provider");
22
15
  var _jsxRuntime = require("react/jsx-runtime");
23
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
24
17
  function createBoundaryComponent(Wrapped, options = {}) {
25
18
  const {
26
19
  alreadyAnimated = false,
@@ -28,7 +21,6 @@ function createBoundaryComponent(Wrapped, options = {}) {
28
21
  } = options;
29
22
  const AnimatedComponent = alreadyAnimated ? Wrapped : _reactNativeReanimated.default.createAnimatedComponent(Wrapped);
30
23
  const Inner = /*#__PURE__*/(0, _react.forwardRef)((props, forwardedRef) => {
31
- const ownerRef = (0, _reactNativeReanimated.useAnimatedRef)();
32
24
  const {
33
25
  enabled = true,
34
26
  group,
@@ -39,125 +31,69 @@ function createBoundaryComponent(Wrapped, options = {}) {
39
31
  method,
40
32
  style,
41
33
  onPress,
42
- portal,
34
+ portal: portalProp,
43
35
  ...rest
44
36
  } = props;
45
- const linkId = String(id);
46
- const entryTag = group ? `${group}:${linkId}` : linkId;
37
+ const boundTag = (0, _react.useMemo)(() => (0, _linkPairs.createBoundTag)(String(id), group), [id, group]);
38
+ const portal = (0, _resolvePortal.resolveBoundaryPortal)(portalProp);
47
39
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
48
40
  const hasConfiguredInterpolator = (0, _descriptors.useDescriptorsStore)(s => s.derivations.hasConfiguredInterpolator);
49
41
  const runtimeEnabled = enabled && hasConfiguredInterpolator;
50
- const boundaryConfig = (0, _react.useMemo)(() => {
51
- return {
52
- anchor,
53
- scaleMode,
54
- target,
55
- method
56
- };
57
- }, [anchor, scaleMode, target, method]);
58
- const ownerPreparedStyles = (0, _react.useMemo)(() => (0, _styles2.prepareStyleForBounds)(style), [style]);
59
- const {
60
- stylesMap
61
- } = (0, _styles.useScreenStyles)();
62
- const associatedStyles = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
63
- "worklet";
64
-
65
- return stylesMap.get()[entryTag]?.style ?? _constants.NO_STYLES;
66
- });
67
- const associatedStackingStyles = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
68
- "worklet";
69
-
70
- const baseStyle = stylesMap.get()[entryTag]?.style;
71
- const zIndex = baseStyle?.zIndex ?? 0;
72
- const elevation = baseStyle?.elevation ?? 0;
73
- if (zIndex === 0 && elevation === 0) {
74
- return _constants.NO_STYLES;
75
- }
76
- return {
77
- zIndex,
78
- elevation
79
- };
80
- });
81
- const hasWarned = (0, _react.useRef)(false);
82
- const adjustedPortal = _teleport.isTeleportAvailable ? portal : undefined;
83
- if (!hasWarned.current && !_teleport.isTeleportAvailable && portal) {
84
- _logger.logger.warn("react-native-teleport is not installed and will fallback to default behavior.");
85
- hasWarned.current = true;
86
- }
42
+ // Associated slot styles attach whenever the boundary is enabled,
43
+ // independent of whether an interpolator is configured for this transition.
44
+ const shouldAttachAssociatedStyles = enabled;
45
+ const associatedStyles = (0, _styles.useSlotStyles)(boundTag.tag);
46
+ const associatedStackingStyles = (0, _styles.useSlotStackingStyles)(boundTag.tag);
87
47
  const {
48
+ ref,
88
49
  contextValue,
89
50
  measuredRef,
90
51
  hasActiveTarget,
91
52
  targetPreparedStyles
92
- } = (0, _boundaryOwner.useBoundaryOwner)({
93
- ownerRef,
94
- associatedTargetStyles: runtimeEnabled ? associatedStyles : undefined,
95
- entryTag,
96
- portal: adjustedPortal
53
+ } = (0, _boundaryRoot.useBoundaryRootState)({
54
+ boundTag,
55
+ portal,
56
+ associatedTargetStyles: shouldAttachAssociatedStyles ? associatedStyles : undefined
97
57
  });
98
- const preparedStyles = targetPreparedStyles ?? ownerPreparedStyles;
99
- const portalHost = typeof adjustedPortal === "object" ? adjustedPortal.attachTo ?? "current-screen" : adjustedPortal ? "current-screen" : undefined;
100
- const measureBoundary = (0, _useMeasurer.useMeasurer)({
58
+ const {
59
+ onPress: resolvedOnPress
60
+ } = (0, _useBoundaryMeasurement.useBoundaryMeasurement)({
61
+ boundTag,
101
62
  enabled,
102
- entryTag,
103
- linkId,
104
- group,
63
+ runtimeEnabled,
105
64
  currentScreenKey,
106
- preparedStyles,
107
- measuredAnimatedRef: measuredRef,
108
- portalHost
65
+ measuredRef,
66
+ style,
67
+ targetPreparedStyles,
68
+ portal,
69
+ shouldAutoMeasure,
70
+ config: {
71
+ anchor,
72
+ scaleMode,
73
+ target,
74
+ method
75
+ },
76
+ onPress
109
77
  });
78
+ (0, _react.useImperativeHandle)(forwardedRef, () => ref.current, [ref]);
110
79
 
111
- // Register/unregister this boundary in the presence map so source/destination
112
- // matching can resolve across concrete screen keys.
113
- (0, _useBoundaryPresence.useBoundaryPresence)({
114
- enabled: runtimeEnabled,
115
- entryTag,
116
- currentScreenKey,
117
- boundaryConfig
118
- });
119
- const shouldPassivelyMeasureSource = shouldAutoMeasure && typeof onPress !== "function";
120
- (0, _useInitialSourceMeasurement.useInitialSourceMeasurement)({
121
- enabled: runtimeEnabled,
122
- measureBoundary,
123
- linkId,
124
- group,
125
- shouldAutoMeasure: shouldPassivelyMeasureSource
126
- });
127
- (0, _useInitialDestinationMeasurement.useInitialDestinationMeasurement)({
128
- linkId,
129
- enabled: runtimeEnabled,
130
- measureBoundary
131
- });
132
- (0, _useRefreshBoundary.useRefreshBoundary)({
133
- enabled: runtimeEnabled,
134
- linkId,
135
- group,
136
- measureBoundary
137
- });
138
- const handlePress = (0, _react.useCallback)((...args) => {
139
- // Press path has priority: capture source before user onPress/navigation.
140
- (0, _reactNativeReanimated.runOnUI)(measureBoundary)({
141
- type: "source",
142
- pairKey: (0, _linkPairs.createPendingPairKey)(currentScreenKey)
143
- });
144
- if (typeof onPress === "function") {
145
- onPress(...args);
146
- }
147
- }, [measureBoundary, onPress, currentScreenKey]);
148
- const resolvedOnPress = typeof onPress === "function" ? handlePress : undefined;
149
- (0, _react.useImperativeHandle)(forwardedRef, () => ownerRef.current, [ownerRef]);
150
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryOwner.BoundaryOwnerProvider, {
80
+ // A nested active target takes the full associated style, so the root keeps
81
+ // only its stacking context; otherwise the root wears the full style.
82
+ const attachedStyle = shouldAttachAssociatedStyles ? hasActiveTarget ? associatedStackingStyles : associatedStyles : undefined;
83
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_boundaryRoot.BoundaryRootProvider, {
151
84
  value: contextValue,
152
85
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedComponent, {
153
86
  ...rest,
154
- ref: ownerRef,
155
- style: [style, runtimeEnabled ? hasActiveTarget ? associatedStackingStyles : associatedStyles : undefined],
87
+ ref: ref,
88
+ style: [style, attachedStyle],
156
89
  onPress: resolvedOnPress,
157
90
  collapsable: false
158
91
  })
159
92
  });
160
93
  });
94
+
95
+ // The HOC's runtime identity (animated + memoized forwardRef) is not
96
+ // expressible against the public boundary props, so assert it here.
161
97
  return /*#__PURE__*/(0, _react.memo)(_reactNativeReanimated.default.createAnimatedComponent(Inner));
162
98
  }
163
99
  //# sourceMappingURL=create-boundary-component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_constants","_descriptors","_styles","_linkPairs","_styles2","_logger","_useBoundaryPresence","_useInitialDestinationMeasurement","_useInitialSourceMeasurement","_useMeasurer","_useRefreshBoundary","_teleport","_boundaryOwner","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","createBoundaryComponent","Wrapped","options","alreadyAnimated","shouldAutoMeasure","AnimatedComponent","Animated","createAnimatedComponent","Inner","forwardRef","props","forwardedRef","ownerRef","useAnimatedRef","enabled","group","id","anchor","scaleMode","target","method","style","onPress","portal","rest","linkId","String","entryTag","currentScreenKey","useDescriptorsStore","s","derivations","hasConfiguredInterpolator","runtimeEnabled","boundaryConfig","useMemo","ownerPreparedStyles","prepareStyleForBounds","stylesMap","useScreenStyles","associatedStyles","useAnimatedStyle","NO_STYLES","associatedStackingStyles","baseStyle","zIndex","elevation","hasWarned","useRef","adjustedPortal","isTeleportAvailable","undefined","current","logger","warn","contextValue","measuredRef","hasActiveTarget","targetPreparedStyles","useBoundaryOwner","associatedTargetStyles","preparedStyles","portalHost","attachTo","measureBoundary","useMeasurer","measuredAnimatedRef","useBoundaryPresence","shouldPassivelyMeasureSource","useInitialSourceMeasurement","useInitialDestinationMeasurement","useRefreshBoundary","handlePress","useCallback","args","runOnUI","type","pairKey","createPendingPairKey","resolvedOnPress","useImperativeHandle","jsx","BoundaryOwnerProvider","value","children","ref","collapsable","memo"],"sourceRoot":"../../../../../src","sources":["shared/components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireDefault","_descriptors","_styles","_linkPairs","_useBoundaryMeasurement","_resolvePortal","_boundaryRoot","_jsxRuntime","e","__esModule","default","createBoundaryComponent","Wrapped","options","alreadyAnimated","shouldAutoMeasure","AnimatedComponent","Animated","createAnimatedComponent","Inner","forwardRef","props","forwardedRef","enabled","group","id","anchor","scaleMode","target","method","style","onPress","portal","portalProp","rest","boundTag","useMemo","createBoundTag","String","resolveBoundaryPortal","currentScreenKey","useDescriptorsStore","s","derivations","hasConfiguredInterpolator","runtimeEnabled","shouldAttachAssociatedStyles","associatedStyles","useSlotStyles","tag","associatedStackingStyles","useSlotStackingStyles","ref","contextValue","measuredRef","hasActiveTarget","targetPreparedStyles","useBoundaryRootState","associatedTargetStyles","undefined","resolvedOnPress","useBoundaryMeasurement","config","useImperativeHandle","current","attachedStyle","jsx","BoundaryRootProvider","value","children","collapsable","memo"],"sourceRoot":"../../../../../src","sources":["shared/components/boundary/create-boundary-component.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useBoundaryMeasurement = void 0;
7
+ var _react = require("react");
8
+ var _reactNativeReanimated = require("react-native-reanimated");
9
+ var _linkPairs = require("../../../stores/bounds/helpers/link-pairs.helpers");
10
+ var _styles = require("../../../utils/bounds/helpers/styles/styles");
11
+ var _resolvePortal = require("../portal/resolve-portal");
12
+ var _useBoundaryPresence = require("./use-boundary-presence");
13
+ var _useInitialDestinationMeasurement = require("./use-initial-destination-measurement");
14
+ var _useInitialSourceMeasurement = require("./use-initial-source-measurement");
15
+ var _useMeasurer = require("./use-measurer");
16
+ var _useRefreshBoundary = require("./use-refresh-boundary");
17
+ /**
18
+ * Owns the full measurement lifecycle for a boundary: builds the measurer,
19
+ * registers presence, runs the initial source/destination + refresh reactions,
20
+ * and returns the press-priority `onPress`. The component never touches the
21
+ * measurer itself.
22
+ */
23
+ const useBoundaryMeasurement = ({
24
+ boundTag,
25
+ enabled,
26
+ runtimeEnabled,
27
+ currentScreenKey,
28
+ measuredRef,
29
+ style,
30
+ targetPreparedStyles,
31
+ portal,
32
+ shouldAutoMeasure,
33
+ config,
34
+ onPress
35
+ }) => {
36
+ const {
37
+ anchor,
38
+ scaleMode,
39
+ target,
40
+ method
41
+ } = config;
42
+ const boundaryConfig = (0, _react.useMemo)(() => ({
43
+ anchor,
44
+ scaleMode,
45
+ target,
46
+ method
47
+ }), [anchor, scaleMode, target, method]);
48
+ const rootPreparedStyles = (0, _react.useMemo)(() => (0, _styles.prepareStyleForBounds)(style), [style]);
49
+ const preparedStyles = targetPreparedStyles ?? rootPreparedStyles;
50
+ const portalHost = (0, _resolvePortal.resolvePortalHost)(portal);
51
+ const measureBoundary = (0, _useMeasurer.useMeasurer)({
52
+ enabled,
53
+ boundTag,
54
+ currentScreenKey,
55
+ preparedStyles,
56
+ measuredAnimatedRef: measuredRef,
57
+ portalHost
58
+ });
59
+
60
+ // Register/unregister this boundary in the presence map so source/destination
61
+ // matching can resolve across concrete screen keys.
62
+ (0, _useBoundaryPresence.useBoundaryPresence)({
63
+ enabled: runtimeEnabled,
64
+ boundTag,
65
+ currentScreenKey,
66
+ boundaryConfig
67
+ });
68
+
69
+ // Passive auto-measurement only applies to non-pressable boundaries; pressable
70
+ // ones capture their source on press (see handlePress below).
71
+ const shouldPassivelyMeasureSource = shouldAutoMeasure && typeof onPress !== "function";
72
+ (0, _useInitialSourceMeasurement.useInitialSourceMeasurement)({
73
+ enabled: runtimeEnabled,
74
+ measureBoundary,
75
+ boundTag,
76
+ shouldAutoMeasure: shouldPassivelyMeasureSource
77
+ });
78
+ (0, _useInitialDestinationMeasurement.useInitialDestinationMeasurement)({
79
+ boundTag,
80
+ enabled: runtimeEnabled,
81
+ measureBoundary
82
+ });
83
+ (0, _useRefreshBoundary.useRefreshBoundary)({
84
+ enabled: runtimeEnabled,
85
+ boundTag,
86
+ measureBoundary
87
+ });
88
+ const handlePress = (0, _react.useCallback)((...args) => {
89
+ // Press path has priority: capture source before user onPress/navigation.
90
+ (0, _reactNativeReanimated.runOnUI)(measureBoundary)({
91
+ type: "source",
92
+ pairKey: (0, _linkPairs.createPendingPairKey)(currentScreenKey)
93
+ });
94
+ if (typeof onPress === "function") {
95
+ onPress(...args);
96
+ }
97
+ }, [measureBoundary, onPress, currentScreenKey]);
98
+ return {
99
+ onPress: typeof onPress === "function" ? handlePress : undefined
100
+ };
101
+ };
102
+ exports.useBoundaryMeasurement = useBoundaryMeasurement;
103
+ //# sourceMappingURL=use-boundary-measurement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNativeReanimated","_linkPairs","_styles","_resolvePortal","_useBoundaryPresence","_useInitialDestinationMeasurement","_useInitialSourceMeasurement","_useMeasurer","_useRefreshBoundary","useBoundaryMeasurement","boundTag","enabled","runtimeEnabled","currentScreenKey","measuredRef","style","targetPreparedStyles","portal","shouldAutoMeasure","config","onPress","anchor","scaleMode","target","method","boundaryConfig","useMemo","rootPreparedStyles","prepareStyleForBounds","preparedStyles","portalHost","resolvePortalHost","measureBoundary","useMeasurer","measuredAnimatedRef","useBoundaryPresence","shouldPassivelyMeasureSource","useInitialSourceMeasurement","useInitialDestinationMeasurement","useRefreshBoundary","handlePress","useCallback","args","runOnUI","type","pairKey","createPendingPairKey","undefined","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-boundary-measurement.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAEA,IAAAK,oBAAA,GAAAL,OAAA;AACA,IAAAM,iCAAA,GAAAN,OAAA;AACA,IAAAO,4BAAA,GAAAP,OAAA;AACA,IAAAQ,YAAA,GAAAR,OAAA;AACA,IAAAS,mBAAA,GAAAT,OAAA;AAoBA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMU,sBAAsB,GAAGA,CAAC;EACtCC,QAAQ;EACRC,OAAO;EACPC,cAAc;EACdC,gBAAgB;EAChBC,WAAW;EACXC,KAAK;EACLC,oBAAoB;EACpBC,MAAM;EACNC,iBAAiB;EACjBC,MAAM;EACNC;AAC6B,CAAC,KAAK;EACnC,MAAM;IAAEC,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,GAAGL,MAAM;EACpD,MAAMM,cAAc,GAAG,IAAAC,cAAO,EAC7B,OAAO;IAAEL,MAAM;IAAEC,SAAS;IAAEC,MAAM;IAAEC;EAAO,CAAC,CAAC,EAC7C,CAACH,MAAM,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,CACnC,CAAC;EAED,MAAMG,kBAAkB,GAAG,IAAAD,cAAO,EACjC,MAAM,IAAAE,6BAAqB,EAACb,KAAK,CAAC,EAClC,CAACA,KAAK,CACP,CAAC;EACD,MAAMc,cAAc,GAAGb,oBAAoB,IAAIW,kBAAkB;EAEjE,MAAMG,UAAU,GAAG,IAAAC,gCAAiB,EAACd,MAAM,CAAC;EAE5C,MAAMe,eAAe,GAAG,IAAAC,wBAAW,EAAC;IACnCtB,OAAO;IACPD,QAAQ;IACRG,gBAAgB;IAChBgB,cAAc;IACdK,mBAAmB,EAAEpB,WAAW;IAChCgB;EACD,CAAC,CAAC;;EAEF;EACA;EACA,IAAAK,wCAAmB,EAAC;IACnBxB,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRG,gBAAgB;IAChBY;EACD,CAAC,CAAC;;EAEF;EACA;EACA,MAAMW,4BAA4B,GACjClB,iBAAiB,IAAI,OAAOE,OAAO,KAAK,UAAU;EAEnD,IAAAiB,wDAA2B,EAAC;IAC3B1B,OAAO,EAAEC,cAAc;IACvBoB,eAAe;IACftB,QAAQ;IACRQ,iBAAiB,EAAEkB;EACpB,CAAC,CAAC;EAEF,IAAAE,kEAAgC,EAAC;IAChC5B,QAAQ;IACRC,OAAO,EAAEC,cAAc;IACvBoB;EACD,CAAC,CAAC;EAEF,IAAAO,sCAAkB,EAAC;IAClB5B,OAAO,EAAEC,cAAc;IACvBF,QAAQ;IACRsB;EACD,CAAC,CAAC;EAEF,MAAMQ,WAAW,GAAG,IAAAC,kBAAW,EAC9B,CAAC,GAAGC,IAAe,KAAK;IACvB;IACA,IAAAC,8BAAO,EAACX,eAAe,CAAC,CAAC;MACxBY,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE,IAAAC,+BAAoB,EAACjC,gBAAgB;IAC/C,CAAC,CAAC;IAEF,IAAI,OAAOO,OAAO,KAAK,UAAU,EAAE;MAClCA,OAAO,CAAC,GAAGsB,IAAI,CAAC;IACjB;EACD,CAAC,EACD,CAACV,eAAe,EAAEZ,OAAO,EAAEP,gBAAgB,CAC5C,CAAC;EAED,OAAO;IACNO,OAAO,EAAE,OAAOA,OAAO,KAAK,UAAU,GAAGoB,WAAW,GAAGO;EACxD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAvC,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -10,19 +10,22 @@ var _entries = require("../../../stores/bounds/internals/entries");
10
10
  const useBoundaryPresence = params => {
11
11
  const {
12
12
  enabled,
13
- entryTag,
13
+ boundTag,
14
14
  currentScreenKey,
15
15
  boundaryConfig
16
16
  } = params;
17
+ const {
18
+ tag
19
+ } = boundTag;
17
20
  (0, _react.useLayoutEffect)(() => {
18
21
  if (!enabled) return;
19
- (0, _reactNativeReanimated.runOnUI)(_entries.setEntry)(entryTag, currentScreenKey, {
22
+ (0, _reactNativeReanimated.runOnUI)(_entries.setEntry)(tag, currentScreenKey, {
20
23
  boundaryConfig
21
24
  });
22
25
  return () => {
23
- (0, _reactNativeReanimated.runOnUI)(_entries.removeEntry)(entryTag, currentScreenKey);
26
+ (0, _reactNativeReanimated.runOnUI)(_entries.removeEntry)(tag, currentScreenKey);
24
27
  };
25
- }, [enabled, entryTag, currentScreenKey, boundaryConfig]);
28
+ }, [enabled, tag, currentScreenKey, boundaryConfig]);
26
29
  };
27
30
  exports.useBoundaryPresence = useBoundaryPresence;
28
31
  //# sourceMappingURL=use-boundary-presence.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_entries","useBoundaryPresence","params","enabled","entryTag","currentScreenKey","boundaryConfig","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;AAMO,MAAMG,mBAAmB,GAAIC,MAKnC,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,gBAAgB;IAAEC;EAAe,CAAC,GAAGJ,MAAM;EAEtE,IAAAK,sBAAe,EAAC,MAAM;IACrB,IAAI,CAACJ,OAAO,EAAE;IAEd,IAAAK,8BAAO,EAACC,iBAAQ,CAAC,CAACL,QAAQ,EAAEC,gBAAgB,EAAE;MAC7CC;IACD,CAAC,CAAC;IAEF,OAAO,MAAM;MACZ,IAAAE,8BAAO,EAACE,oBAAW,CAAC,CAACN,QAAQ,EAAEC,gBAAgB,CAAC;IACjD,CAAC;EACF,CAAC,EAAE,CAACF,OAAO,EAAEC,QAAQ,EAAEC,gBAAgB,EAAEC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAACK,OAAA,CAAAV,mBAAA,GAAAA,mBAAA","ignoreList":[]}
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":[]}
@@ -12,7 +12,7 @@ var _state = require("../../../stores/bounds/internals/state");
12
12
  var _system = require("../../../stores/system.store");
13
13
  var _logger = require("../../../utils/logger");
14
14
  var _destinationSignals = require("../utils/destination-signals");
15
- const VIEWPORT_RETRY_DELAY_MS = 16;
15
+ const VIEWPORT_RETRY_DELAY_MS = 100;
16
16
  /**
17
17
  * A destination that keeps failing its measurement guards must not hold the
18
18
  * transition gate forever — after this budget the block is released with a
@@ -20,24 +20,27 @@ const VIEWPORT_RETRY_DELAY_MS = 16;
20
20
  */
21
21
  const MAX_VIEWPORT_RETRIES = 20;
22
22
  const useInitialDestinationMeasurement = ({
23
- linkId,
23
+ boundTag,
24
24
  enabled,
25
25
  measureBoundary
26
26
  }) => {
27
+ const {
28
+ linkKey,
29
+ group
30
+ } = boundTag;
27
31
  const currentScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
28
32
  const nextScreenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.nextScreenKey);
29
33
  const destinationPairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.destinationPairKey);
30
34
  const ancestorDestinationPairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.ancestorDestinationPairKey);
31
35
  const destinationEnabled = enabled && !nextScreenKey;
32
36
  const progress = _animation.AnimationStore.getValue(currentScreenKey, "transitionProgress");
33
- const system = _system.SystemStore.getBag(currentScreenKey);
34
- const {
35
- pendingLifecycleRequestKind
36
- } = system;
37
37
  const {
38
- blockLifecycleStart,
39
- unblockLifecycleStart
40
- } = system.actions;
38
+ pendingLifecycleRequestKind,
39
+ actions: {
40
+ blockLifecycleStart,
41
+ unblockLifecycleStart
42
+ }
43
+ } = _system.SystemStore.getBag(currentScreenKey);
41
44
  const isBlockingLifecycleStart = (0, _reactNativeReanimated.useSharedValue)(0);
42
45
  const retryToken = (0, _reactNativeReanimated.useSharedValue)(0);
43
46
  const viewportRetries = (0, _reactNativeReanimated.useSharedValue)(0);
@@ -65,11 +68,12 @@ const useInitialDestinationMeasurement = ({
65
68
  enabled: destinationEnabled,
66
69
  destinationPairKey,
67
70
  ancestorDestinationPairKey,
68
- linkId,
71
+ linkId: linkKey,
72
+ group,
69
73
  linkState: destinationEnabled && (destinationPairKey || ancestorDestinationPairKey) ? _state.pairs.get() : undefined
70
74
  });
71
75
  return [measurePairKey, retryTick];
72
- }, ([measurePairKey]) => {
76
+ }, ([measurePairKey, retryTick], previous) => {
73
77
  "worklet";
74
78
 
75
79
  if (!measurePairKey) {
@@ -78,6 +82,12 @@ const useInitialDestinationMeasurement = ({
78
82
  hasGivenUp.set(0);
79
83
  return;
80
84
  }
85
+ const previousMeasurePairKey = previous?.[0];
86
+ const previousRetryTick = previous?.[1];
87
+ const shouldAttemptMeasure = measurePairKey !== previousMeasurePairKey || retryTick !== previousRetryTick;
88
+ if (!shouldAttemptMeasure) {
89
+ return;
90
+ }
81
91
  if (hasGivenUp.get()) {
82
92
  return;
83
93
  }
@@ -89,7 +99,7 @@ const useInitialDestinationMeasurement = ({
89
99
  type: "destination",
90
100
  pairKey: measurePairKey
91
101
  });
92
- const destinationAttached = (0, _links.getDestination)(measurePairKey, linkId) !== null;
102
+ const destinationAttached = (0, _links.getDestination)(measurePairKey, linkKey) !== null;
93
103
  if (destinationAttached) {
94
104
  releaseLifecycleStartBlock();
95
105
  viewportRetries.set(0);
@@ -98,12 +108,12 @@ const useInitialDestinationMeasurement = ({
98
108
  if (viewportRetries.get() >= MAX_VIEWPORT_RETRIES) {
99
109
  hasGivenUp.set(1);
100
110
  releaseLifecycleStartBlock();
101
- _logger.logger.warn(`Destination boundary "${linkId}" never produced a valid measurement after ${MAX_VIEWPORT_RETRIES} attempts; releasing the transition gate without it. The boundary is likely off-viewport (e.g. an inactive group member on a paged screen) or unmounted.`);
111
+ _logger.logger.warn(`Destination boundary "${linkKey}" never produced a valid measurement after ${MAX_VIEWPORT_RETRIES} attempts; releasing the transition gate without it. The boundary is likely off-viewport (e.g. an inactive group member on a paged screen) or unmounted.`);
102
112
  return;
103
113
  }
104
114
 
105
115
  // Destination did not attach (malformed off-screen measurement); retry
106
- // on the next tick while the lifecycle stays blocked.
116
+ // after the retry token advances while the lifecycle stays blocked.
107
117
  viewportRetries.set(viewportRetries.get() + 1);
108
118
  (0, _reactNativeReanimated.cancelAnimation)(retryToken);
109
119
  retryToken.set((0, _reactNativeReanimated.withDelay)(VIEWPORT_RETRY_DELAY_MS, (0, _reactNativeReanimated.withTiming)(retryToken.get() + 1, {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_animation","_links","_state","_system","_logger","_destinationSignals","VIEWPORT_RETRY_DELAY_MS","MAX_VIEWPORT_RETRIES","useInitialDestinationMeasurement","linkId","enabled","measureBoundary","currentScreenKey","useDescriptorsStore","s","derivations","nextScreenKey","destinationPairKey","ancestorDestinationPairKey","destinationEnabled","progress","AnimationStore","getValue","system","SystemStore","getBag","pendingLifecycleRequestKind","blockLifecycleStart","unblockLifecycleStart","actions","isBlockingLifecycleStart","useSharedValue","retryToken","viewportRetries","hasGivenUp","releaseLifecycleStartBlock","cancelAnimation","get","set","useAnimatedReaction","retryTick","hasPendingOpenRequest","LifecycleTransitionRequestKind","Open","isWaitingForOpenToStart","measurePairKey","getInitialDestinationMeasurePairKey","linkState","pairs","undefined","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
+ {"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":[]}
@@ -12,8 +12,7 @@ const useInitialSourceMeasurement = params => {
12
12
  const {
13
13
  enabled,
14
14
  measureBoundary,
15
- linkId,
16
- group,
15
+ boundTag,
17
16
  shouldAutoMeasure
18
17
  } = params;
19
18
  const sourcePairKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.sourcePairKey);
@@ -24,8 +23,8 @@ const useInitialSourceMeasurement = params => {
24
23
  return (0, _sourceSignals.getInitialSourceCaptureSignal)({
25
24
  enabled,
26
25
  sourcePairKey,
27
- linkId,
28
- group,
26
+ linkId: boundTag.linkKey,
27
+ group: boundTag.group,
29
28
  shouldAutoMeasure,
30
29
  linkState: shouldAutoMeasure && sourcePairKey ? _state.pairs.get() : undefined
31
30
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeReanimated","require","_descriptors","_state","_sourceSignals","useInitialSourceMeasurement","params","enabled","measureBoundary","linkId","group","shouldAutoMeasure","sourcePairKey","useDescriptorsStore","s","derivations","lastSourceCaptureSignal","useSharedValue","useAnimatedReaction","getInitialSourceCaptureSignal","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;AAEA,IAAAG,cAAA,GAAAH,OAAA;AAEO,MAAMI,2BAA2B,GAAIC,MAM3C,IAAK;EACL,MAAM;IAAEC,OAAO;IAAEC,eAAe;IAAEC,MAAM;IAAEC,KAAK;IAAEC;EAAkB,CAAC,GAAGL,MAAM;EAC7E,MAAMM,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;MACpCZ,OAAO;MACPK,aAAa;MACbH,MAAM;MACNC,KAAK;MACLC,iBAAiB;MACjBS,SAAS,EAAET,iBAAiB,IAAIC,aAAa,GAAGS,YAAK,CAACC,GAAG,CAAC,CAAC,GAAGC;IAC/D,CAAC,CAAC;EACH,CAAC,EACAC,aAAa,IAAK;IAClB,SAAS;;IACT,IAAI,CAACjB,OAAO,IAAI,CAACiB,aAAa,EAAE;MAC/BR,uBAAuB,CAACS,GAAG,CAAC,IAAI,CAAC;MACjC;IACD;IAEA,IAAIT,uBAAuB,CAACM,GAAG,CAAC,CAAC,KAAKE,aAAa,CAACE,MAAM,EAAE;MAC3D;IACD;IAEAV,uBAAuB,CAACS,GAAG,CAACD,aAAa,CAACE,MAAM,CAAC;IACjDlB,eAAe,CAAC;MACfmB,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAEJ,aAAa,CAACI;IACxB,CAAC,CAAC;EACH,CACD,CAAC;AACF,CAAC;AAACC,OAAA,CAAAxB,2BAAA,GAAAA,2BAAA","ignoreList":[]}
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":[]}