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

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 (475) hide show
  1. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +14 -9
  2. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  3. package/lib/commonjs/shared/components/boundary/create-boundary-component.js +66 -28
  4. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  5. package/lib/commonjs/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +8 -4
  6. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
  7. package/lib/commonjs/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +27 -10
  8. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
  9. package/lib/commonjs/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +5 -7
  10. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
  11. package/lib/commonjs/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +4 -4
  12. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
  13. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +14 -35
  14. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +5 -6
  16. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  17. package/lib/commonjs/shared/components/boundary/index.js +26 -29
  18. package/lib/commonjs/shared/components/boundary/index.js.map +1 -1
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +58 -0
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
  21. package/lib/commonjs/shared/components/boundary/portal/components/host.js +20 -4
  22. package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +1 -1
  23. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js +78 -27
  24. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  25. package/lib/commonjs/shared/components/boundary/portal/components/portal.js +195 -121
  26. package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +1 -1
  27. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js +14 -2
  28. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
  29. package/lib/commonjs/shared/components/boundary/portal/hooks/use-placeholder-styles.js +57 -0
  30. package/lib/commonjs/shared/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
  31. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js +5 -44
  32. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
  33. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js +37 -5
  34. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
  35. package/lib/commonjs/shared/components/boundary/portal/teleport.js +15 -2
  36. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
  37. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js +18 -0
  38. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
  39. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +10 -3
  40. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
  41. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js +28 -48
  42. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
  43. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +254 -0
  44. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -0
  45. package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js +38 -0
  46. package/lib/commonjs/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
  47. package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js +29 -0
  48. package/lib/commonjs/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
  49. package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js +10 -1
  50. package/lib/commonjs/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
  51. package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js +25 -0
  52. package/lib/commonjs/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
  53. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +6 -7
  54. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  55. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +1 -22
  56. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
  57. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js +0 -21
  58. package/lib/commonjs/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  59. package/lib/commonjs/shared/components/boundary/utils/source-signals.js +4 -9
  60. package/lib/commonjs/shared/components/boundary/utils/source-signals.js.map +1 -1
  61. package/lib/commonjs/shared/components/masked-view.js +5 -0
  62. package/lib/commonjs/shared/components/masked-view.js.map +1 -1
  63. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js +18 -8
  64. package/lib/commonjs/shared/components/screen-container/layers/backdrop.js.map +1 -1
  65. package/lib/commonjs/shared/components/screen-container/layers/content.js +34 -16
  66. package/lib/commonjs/shared/components/screen-container/layers/content.js.map +1 -1
  67. package/lib/commonjs/shared/components/screen-container/layers/render-component.js +10 -0
  68. package/lib/commonjs/shared/components/screen-container/layers/render-component.js.map +1 -0
  69. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js +5 -3
  70. package/lib/commonjs/shared/components/screen-container/layers/surface-container.js.map +1 -1
  71. package/lib/commonjs/shared/index.js +4 -0
  72. package/lib/commonjs/shared/index.js.map +1 -1
  73. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js +6 -3
  74. package/lib/commonjs/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  75. package/lib/commonjs/shared/providers/register-bounds.provider.js +6 -0
  76. package/lib/commonjs/shared/providers/register-bounds.provider.js.map +1 -1
  77. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js +1 -0
  78. package/lib/commonjs/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  79. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js +1 -0
  80. package/lib/commonjs/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  81. package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js +95 -0
  82. package/lib/commonjs/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
  83. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
  84. package/lib/commonjs/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  85. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +9 -3
  86. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  87. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
  88. package/lib/commonjs/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  89. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js +96 -0
  90. package/lib/commonjs/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
  91. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +16 -3
  92. package/lib/commonjs/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  93. package/lib/commonjs/shared/providers/screen/styles/index.js +16 -3
  94. package/lib/commonjs/shared/providers/screen/styles/index.js.map +1 -1
  95. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +22 -51
  96. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  97. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +53 -0
  98. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
  99. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js +22 -2
  100. package/lib/commonjs/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  101. package/lib/commonjs/shared/stores/bounds/internals/entries.js +11 -4
  102. package/lib/commonjs/shared/stores/bounds/internals/entries.js.map +1 -1
  103. package/lib/commonjs/shared/stores/bounds/internals/links.js +134 -51
  104. package/lib/commonjs/shared/stores/bounds/internals/links.js.map +1 -1
  105. package/lib/commonjs/shared/stores/bounds/internals/resolver.js +1 -3
  106. package/lib/commonjs/shared/stores/bounds/internals/resolver.js.map +1 -1
  107. package/lib/commonjs/shared/stores/system.store.js +5 -0
  108. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  109. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js +10 -69
  110. package/lib/commonjs/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  111. package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js +59 -0
  112. package/lib/commonjs/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
  113. package/lib/module/shared/components/boundary/components/boundary-target.js +12 -7
  114. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  115. package/lib/module/shared/components/boundary/create-boundary-component.js +67 -29
  116. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  117. package/lib/module/shared/components/boundary/hooks/{use-boundary-presence.js → lifecycles/use-boundary-presence.js} +8 -4
  118. package/lib/module/shared/components/boundary/hooks/lifecycles/use-boundary-presence.js.map +1 -0
  119. package/lib/module/shared/components/boundary/hooks/{use-initial-destination-measurement.js → lifecycles/use-initial-destination-measurement.js} +27 -10
  120. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -0
  121. package/lib/module/shared/components/boundary/hooks/{use-initial-source-measurement.js → lifecycles/use-initial-source-measurement.js} +5 -7
  122. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.js.map +1 -0
  123. package/lib/module/shared/components/boundary/hooks/{use-refresh-boundary.js → lifecycles/use-refresh-boundary.js} +4 -4
  124. package/lib/module/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.js.map +1 -0
  125. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +15 -36
  126. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  127. package/lib/module/shared/components/boundary/hooks/use-measurer.js +5 -6
  128. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  129. package/lib/module/shared/components/boundary/index.js +26 -29
  130. package/lib/module/shared/components/boundary/index.js.map +1 -1
  131. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +53 -0
  132. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +1 -0
  133. package/lib/module/shared/components/boundary/portal/components/host.js +21 -5
  134. package/lib/module/shared/components/boundary/portal/components/host.js.map +1 -1
  135. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js +79 -28
  136. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +1 -1
  137. package/lib/module/shared/components/boundary/portal/components/portal.js +201 -127
  138. package/lib/module/shared/components/boundary/portal/components/portal.js.map +1 -1
  139. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js +15 -3
  140. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +1 -1
  141. package/lib/module/shared/components/boundary/portal/hooks/use-placeholder-styles.js +52 -0
  142. package/lib/module/shared/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
  143. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js +4 -41
  144. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +1 -1
  145. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js +35 -4
  146. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -1
  147. package/lib/module/shared/components/boundary/portal/teleport.js +16 -2
  148. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  149. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js +13 -0
  150. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +1 -0
  151. package/lib/module/shared/components/boundary/portal/utils/naming.js +8 -2
  152. package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
  153. package/lib/module/shared/components/boundary/portal/utils/offset-style.js +29 -48
  154. package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +1 -1
  155. package/lib/module/shared/components/boundary/portal/utils/ownership.js +246 -0
  156. package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -0
  157. package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js +33 -0
  158. package/lib/module/shared/components/boundary/portal/utils/resolve-portal.js.map +1 -0
  159. package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js +24 -0
  160. package/lib/module/shared/components/boundary/portal/utils/shallow-equal.js.map +1 -0
  161. package/lib/module/shared/components/boundary/portal/utils/teleport-control.js +8 -0
  162. package/lib/module/shared/components/boundary/portal/utils/teleport-control.js.map +1 -1
  163. package/lib/module/shared/components/boundary/portal/utils/visible-host.js +20 -0
  164. package/lib/module/shared/components/boundary/portal/utils/visible-host.js.map +1 -0
  165. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +6 -7
  166. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  167. package/lib/module/shared/components/boundary/utils/destination-signals.js +2 -23
  168. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
  169. package/lib/module/shared/components/boundary/utils/refresh-signals.js +0 -21
  170. package/lib/module/shared/components/boundary/utils/refresh-signals.js.map +1 -1
  171. package/lib/module/shared/components/boundary/utils/source-signals.js +4 -9
  172. package/lib/module/shared/components/boundary/utils/source-signals.js.map +1 -1
  173. package/lib/module/shared/components/masked-view.js +5 -0
  174. package/lib/module/shared/components/masked-view.js.map +1 -1
  175. package/lib/module/shared/components/screen-container/layers/backdrop.js +19 -9
  176. package/lib/module/shared/components/screen-container/layers/backdrop.js.map +1 -1
  177. package/lib/module/shared/components/screen-container/layers/content.js +35 -17
  178. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  179. package/lib/module/shared/components/screen-container/layers/render-component.js +6 -0
  180. package/lib/module/shared/components/screen-container/layers/render-component.js.map +1 -0
  181. package/lib/module/shared/components/screen-container/layers/surface-container.js +5 -3
  182. package/lib/module/shared/components/screen-container/layers/surface-container.js.map +1 -1
  183. package/lib/module/shared/index.js +4 -0
  184. package/lib/module/shared/index.js.map +1 -1
  185. package/lib/module/shared/providers/helpers/measured-bounds-writes.js +6 -3
  186. package/lib/module/shared/providers/helpers/measured-bounds-writes.js.map +1 -1
  187. package/lib/module/shared/providers/register-bounds.provider.js +6 -0
  188. package/lib/module/shared/providers/register-bounds.provider.js.map +1 -1
  189. package/lib/module/shared/providers/screen/animation/helpers/derivations.js +1 -0
  190. package/lib/module/shared/providers/screen/animation/helpers/derivations.js.map +1 -1
  191. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js +1 -0
  192. package/lib/module/shared/providers/screen/animation/helpers/pipeline.js.map +1 -1
  193. package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js +89 -0
  194. package/lib/module/shared/providers/screen/styles/helpers/compose-slot-style.js.map +1 -0
  195. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js +30 -9
  196. package/lib/module/shared/providers/screen/styles/helpers/normalize-slots.js.map +1 -1
  197. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js +9 -3
  198. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/index.js.map +1 -1
  199. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js +2 -0
  200. package/lib/module/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.js.map +1 -1
  201. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js +87 -0
  202. package/lib/module/shared/providers/screen/styles/hooks/slot-resolvers.js.map +1 -0
  203. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js +16 -3
  204. package/lib/module/shared/providers/screen/styles/hooks/use-interpolated-style-maps.js.map +1 -1
  205. package/lib/module/shared/providers/screen/styles/index.js +2 -1
  206. package/lib/module/shared/providers/screen/styles/index.js.map +1 -1
  207. package/lib/module/shared/providers/screen/styles/slot.provider.js +22 -47
  208. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  209. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +47 -0
  210. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -0
  211. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js +19 -1
  212. package/lib/module/shared/stores/bounds/helpers/link-pairs.helpers.js.map +1 -1
  213. package/lib/module/shared/stores/bounds/internals/entries.js +11 -4
  214. package/lib/module/shared/stores/bounds/internals/entries.js.map +1 -1
  215. package/lib/module/shared/stores/bounds/internals/links.js +135 -53
  216. package/lib/module/shared/stores/bounds/internals/links.js.map +1 -1
  217. package/lib/module/shared/stores/bounds/internals/resolver.js +1 -3
  218. package/lib/module/shared/stores/bounds/internals/resolver.js.map +1 -1
  219. package/lib/module/shared/stores/system.store.js +5 -0
  220. package/lib/module/shared/stores/system.store.js.map +1 -1
  221. package/lib/module/shared/types/animation.types.js.map +1 -1
  222. package/lib/module/shared/utils/bounds/helpers/styles/compute.js +10 -69
  223. package/lib/module/shared/utils/bounds/helpers/styles/compute.js.map +1 -1
  224. package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js +52 -0
  225. package/lib/module/shared/utils/bounds/helpers/styles/local-transform.js.map +1 -0
  226. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts +1 -2
  227. package/lib/typescript/blank-stack/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  228. package/lib/typescript/component-stack/components/component-screen.d.ts +1 -1
  229. package/lib/typescript/component-stack/components/component-screen.d.ts.map +1 -1
  230. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts +1 -2
  231. package/lib/typescript/component-stack/navigators/create-component-stack-navigator.d.ts.map +1 -1
  232. package/lib/typescript/component-stack/types.d.ts +26 -0
  233. package/lib/typescript/component-stack/types.d.ts.map +1 -1
  234. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts +1 -1
  235. package/lib/typescript/native-stack/navigators/createNativeStackNavigator.d.ts.map +1 -1
  236. package/lib/typescript/native-stack/views/NativeStackView.d.ts +1 -2
  237. package/lib/typescript/native-stack/views/NativeStackView.d.ts.map +1 -1
  238. package/lib/typescript/native-stack/views/useHeaderConfigProps.d.ts +2 -2
  239. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts +1 -1
  240. package/lib/typescript/shared/adapters/with-screen-transitions/context.d.ts.map +1 -1
  241. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts +1 -1
  242. package/lib/typescript/shared/adapters/with-screen-transitions/stack-layout.d.ts.map +1 -1
  243. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts +1 -1
  244. package/lib/typescript/shared/components/activity/variants/activity-container.d.ts.map +1 -1
  245. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts +1 -1
  246. package/lib/typescript/shared/components/activity/variants/activity-screen.d.ts.map +1 -1
  247. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +1 -1
  248. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  249. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts +0 -1
  250. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  251. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts +11 -0
  252. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-boundary-presence.d.ts.map +1 -0
  253. package/lib/typescript/shared/components/boundary/hooks/{use-initial-destination-measurement.d.ts → lifecycles/use-initial-destination-measurement.d.ts} +2 -2
  254. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -0
  255. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts +8 -0
  256. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-source-measurement.d.ts.map +1 -0
  257. package/lib/typescript/shared/components/boundary/hooks/{use-refresh-boundary.d.ts → lifecycles/use-refresh-boundary.d.ts} +2 -2
  258. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-refresh-boundary.d.ts.map +1 -0
  259. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts +5 -9
  260. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  261. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts +4 -3
  262. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  263. package/lib/typescript/shared/components/boundary/index.d.ts +35 -24
  264. package/lib/typescript/shared/components/boundary/index.d.ts.map +1 -1
  265. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +8 -0
  266. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +1 -0
  267. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts +2 -2
  268. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +1 -1
  269. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts +2 -2
  270. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +1 -1
  271. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts +1 -1
  272. package/lib/typescript/shared/components/boundary/portal/components/portal-provider.d.ts.map +1 -1
  273. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +4 -3
  274. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +1 -1
  275. package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -1
  276. package/lib/typescript/shared/components/boundary/portal/hooks/use-placeholder-styles.d.ts +17 -0
  277. package/lib/typescript/shared/components/boundary/portal/hooks/use-placeholder-styles.d.ts.map +1 -0
  278. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts +0 -7
  279. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -1
  280. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts +16 -1
  281. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -1
  282. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -1
  283. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  284. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +3 -0
  285. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +1 -0
  286. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +2 -1
  287. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
  288. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts +23 -30
  289. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +1 -1
  290. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +35 -0
  291. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -0
  292. package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts +12 -0
  293. package/lib/typescript/shared/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -0
  294. package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts +8 -0
  295. package/lib/typescript/shared/components/boundary/portal/utils/shallow-equal.d.ts.map +1 -0
  296. package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts +4 -0
  297. package/lib/typescript/shared/components/boundary/portal/utils/teleport-control.d.ts.map +1 -1
  298. package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts +8 -0
  299. package/lib/typescript/shared/components/boundary/portal/utils/visible-host.d.ts.map +1 -0
  300. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +7 -12
  301. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  302. package/lib/typescript/shared/components/boundary/types.d.ts +9 -36
  303. package/lib/typescript/shared/components/boundary/types.d.ts.map +1 -1
  304. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
  305. package/lib/typescript/shared/components/boundary/utils/refresh-signals.d.ts.map +1 -1
  306. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts +0 -1
  307. package/lib/typescript/shared/components/boundary/utils/source-signals.d.ts.map +1 -1
  308. package/lib/typescript/shared/components/create-transition-aware-component.d.ts +6 -5
  309. package/lib/typescript/shared/components/create-transition-aware-component.d.ts.map +1 -1
  310. package/lib/typescript/shared/components/masked-view.d.ts +5 -1
  311. package/lib/typescript/shared/components/masked-view.d.ts.map +1 -1
  312. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts +1 -1
  313. package/lib/typescript/shared/components/overlay/variations/float-overlay.d.ts.map +1 -1
  314. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts +1 -1
  315. package/lib/typescript/shared/components/overlay/variations/overlay-host.d.ts.map +1 -1
  316. package/lib/typescript/shared/components/scene-view.d.ts +1 -1
  317. package/lib/typescript/shared/components/scene-view.d.ts.map +1 -1
  318. package/lib/typescript/shared/components/screen-container/index.d.ts +1 -1
  319. package/lib/typescript/shared/components/screen-container/index.d.ts.map +1 -1
  320. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts +1 -1
  321. package/lib/typescript/shared/components/screen-container/layers/backdrop.d.ts.map +1 -1
  322. package/lib/typescript/shared/components/screen-container/layers/content.d.ts +1 -1
  323. package/lib/typescript/shared/components/screen-container/layers/content.d.ts.map +1 -1
  324. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts +1 -1
  325. package/lib/typescript/shared/components/screen-container/layers/maybe-masked-navigation-container.d.ts.map +1 -1
  326. package/lib/typescript/shared/components/screen-container/layers/render-component.d.ts +3 -0
  327. package/lib/typescript/shared/components/screen-container/layers/render-component.d.ts.map +1 -0
  328. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts +1 -1
  329. package/lib/typescript/shared/components/screen-container/layers/surface-container.d.ts.map +1 -1
  330. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts +1 -1
  331. package/lib/typescript/shared/hooks/navigation/use-stack.d.ts.map +1 -1
  332. package/lib/typescript/shared/index.d.ts +731 -683
  333. package/lib/typescript/shared/index.d.ts.map +1 -1
  334. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts +3 -3
  335. package/lib/typescript/shared/providers/helpers/measured-bounds-writes.d.ts.map +1 -1
  336. package/lib/typescript/shared/providers/register-bounds.provider.d.ts.map +1 -1
  337. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts +1 -0
  338. package/lib/typescript/shared/providers/screen/animation/helpers/derivations.d.ts.map +1 -1
  339. package/lib/typescript/shared/providers/screen/animation/helpers/pipeline.d.ts.map +1 -1
  340. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts +1 -1
  341. package/lib/typescript/shared/providers/screen/descriptors/descriptors.provider.d.ts.map +1 -1
  342. package/lib/typescript/shared/providers/screen/screen-composer.d.ts +1 -1
  343. package/lib/typescript/shared/providers/screen/screen-composer.d.ts.map +1 -1
  344. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts +1 -1
  345. package/lib/typescript/shared/providers/screen/styles/components/floating-overlay-layer.d.ts.map +1 -1
  346. package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts +4 -0
  347. package/lib/typescript/shared/providers/screen/styles/helpers/compose-slot-style.d.ts.map +1 -0
  348. package/lib/typescript/shared/providers/screen/styles/helpers/normalize-slots.d.ts.map +1 -1
  349. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/index.d.ts.map +1 -1
  350. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts +2 -1
  351. package/lib/typescript/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.d.ts.map +1 -1
  352. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts +11 -0
  353. package/lib/typescript/shared/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -0
  354. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts +4 -1
  355. package/lib/typescript/shared/providers/screen/styles/hooks/use-interpolated-style-maps.d.ts.map +1 -1
  356. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +3 -3
  357. package/lib/typescript/shared/providers/screen/styles/index.d.ts +2 -1
  358. package/lib/typescript/shared/providers/screen/styles/index.d.ts.map +1 -1
  359. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +5 -10
  360. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  361. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts +6 -0
  362. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +1 -0
  363. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts +2 -0
  364. package/lib/typescript/shared/stores/bounds/helpers/link-pairs.helpers.d.ts.map +1 -1
  365. package/lib/typescript/shared/stores/bounds/internals/entries.d.ts.map +1 -1
  366. package/lib/typescript/shared/stores/bounds/internals/links.d.ts +4 -3
  367. package/lib/typescript/shared/stores/bounds/internals/links.d.ts.map +1 -1
  368. package/lib/typescript/shared/stores/bounds/internals/resolver.d.ts.map +1 -1
  369. package/lib/typescript/shared/stores/bounds/types.d.ts +9 -20
  370. package/lib/typescript/shared/stores/bounds/types.d.ts.map +1 -1
  371. package/lib/typescript/shared/stores/system.store.d.ts +1 -0
  372. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  373. package/lib/typescript/shared/types/animation.types.d.ts +7 -1
  374. package/lib/typescript/shared/types/animation.types.d.ts.map +1 -1
  375. package/lib/typescript/shared/types/index.d.ts +1 -1
  376. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  377. package/lib/typescript/shared/types/screen.types.d.ts +99 -4
  378. package/lib/typescript/shared/types/screen.types.d.ts.map +1 -1
  379. package/lib/typescript/shared/utils/bounds/helpers/styles/compute.d.ts.map +1 -1
  380. package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts +6 -0
  381. package/lib/typescript/shared/utils/bounds/helpers/styles/local-transform.d.ts.map +1 -0
  382. package/lib/typescript/shared/utils/bounds/types/options.d.ts +2 -0
  383. package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
  384. package/package.json +1 -1
  385. package/src/component-stack/types.ts +26 -0
  386. package/src/shared/components/boundary/components/boundary-target.tsx +21 -7
  387. package/src/shared/components/boundary/create-boundary-component.tsx +92 -28
  388. package/src/shared/components/boundary/hooks/{use-boundary-presence.ts → lifecycles/use-boundary-presence.ts} +16 -5
  389. package/src/shared/components/boundary/hooks/{use-initial-destination-measurement.ts → lifecycles/use-initial-destination-measurement.ts} +40 -13
  390. package/src/shared/components/boundary/hooks/{use-initial-source-measurement.ts → lifecycles/use-initial-source-measurement.ts} +7 -9
  391. package/src/shared/components/boundary/hooks/{use-refresh-boundary.ts → lifecycles/use-refresh-boundary.ts} +6 -6
  392. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +15 -45
  393. package/src/shared/components/boundary/hooks/use-measurer.ts +9 -14
  394. package/src/shared/components/boundary/index.tsx +55 -29
  395. package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +66 -0
  396. package/src/shared/components/boundary/portal/components/host.tsx +20 -5
  397. package/src/shared/components/boundary/portal/components/portal-boundary-host.tsx +112 -46
  398. package/src/shared/components/boundary/portal/components/portal.tsx +263 -134
  399. package/src/shared/components/boundary/portal/hooks/use-host-measurement.ts +23 -2
  400. package/src/shared/components/boundary/portal/hooks/use-placeholder-styles.ts +55 -0
  401. package/src/shared/components/boundary/portal/stores/host-registry.store.ts +4 -51
  402. package/src/shared/components/boundary/portal/stores/portal-boundary-host.store.ts +59 -6
  403. package/src/shared/components/boundary/portal/teleport.ts +28 -3
  404. package/src/shared/components/boundary/portal/utils/has-local-slot.ts +16 -0
  405. package/src/shared/components/boundary/portal/utils/naming.ts +11 -1
  406. package/src/shared/components/boundary/portal/utils/offset-style.ts +42 -137
  407. package/src/shared/components/boundary/portal/utils/ownership.ts +371 -0
  408. package/src/shared/components/boundary/portal/utils/resolve-portal.ts +50 -0
  409. package/src/shared/components/boundary/portal/utils/shallow-equal.ts +25 -0
  410. package/src/shared/components/boundary/portal/utils/teleport-control.ts +12 -0
  411. package/src/shared/components/boundary/portal/utils/visible-host.ts +24 -0
  412. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +9 -18
  413. package/src/shared/components/boundary/types.ts +9 -39
  414. package/src/shared/components/boundary/utils/destination-signals.ts +1 -32
  415. package/src/shared/components/boundary/utils/refresh-signals.ts +0 -41
  416. package/src/shared/components/boundary/utils/source-signals.ts +5 -17
  417. package/src/shared/components/masked-view.tsx +4 -0
  418. package/src/shared/components/screen-container/layers/backdrop.tsx +31 -10
  419. package/src/shared/components/screen-container/layers/content.tsx +61 -22
  420. package/src/shared/components/screen-container/layers/render-component.ts +9 -0
  421. package/src/shared/components/screen-container/layers/surface-container.tsx +5 -4
  422. package/src/shared/index.ts +9 -5
  423. package/src/shared/providers/helpers/measured-bounds-writes.ts +6 -11
  424. package/src/shared/providers/register-bounds.provider.tsx +5 -0
  425. package/src/shared/providers/screen/animation/helpers/derivations.ts +3 -0
  426. package/src/shared/providers/screen/animation/helpers/pipeline.ts +1 -0
  427. package/src/shared/providers/screen/styles/helpers/compose-slot-style.ts +129 -0
  428. package/src/shared/providers/screen/styles/helpers/normalize-slots.ts +45 -8
  429. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/index.ts +14 -2
  430. package/src/shared/providers/screen/styles/helpers/resolve-slot-styles/materialize-slot.ts +3 -0
  431. package/src/shared/providers/screen/styles/hooks/slot-resolvers.tsx +111 -0
  432. package/src/shared/providers/screen/styles/hooks/use-interpolated-style-maps.tsx +21 -3
  433. package/src/shared/providers/screen/styles/index.tsx +8 -3
  434. package/src/shared/providers/screen/styles/slot.provider.tsx +36 -54
  435. package/src/shared/providers/screen/styles/stores/slot-references.store.ts +71 -0
  436. package/src/shared/stores/bounds/helpers/link-pairs.helpers.ts +24 -1
  437. package/src/shared/stores/bounds/internals/entries.ts +13 -5
  438. package/src/shared/stores/bounds/internals/links.ts +167 -85
  439. package/src/shared/stores/bounds/internals/resolver.ts +0 -2
  440. package/src/shared/stores/bounds/types.ts +10 -22
  441. package/src/shared/stores/system.store.ts +6 -0
  442. package/src/shared/types/animation.types.ts +8 -1
  443. package/src/shared/types/index.ts +5 -0
  444. package/src/shared/types/screen.types.ts +111 -4
  445. package/src/shared/utils/bounds/helpers/styles/compute.ts +22 -124
  446. package/src/shared/utils/bounds/helpers/styles/local-transform.ts +86 -0
  447. package/src/shared/utils/bounds/types/options.ts +2 -0
  448. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
  449. package/lib/commonjs/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
  450. package/lib/commonjs/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
  451. package/lib/commonjs/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
  452. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js +0 -36
  453. package/lib/commonjs/shared/components/boundary/portal/resolve-portal.js.map +0 -1
  454. package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js +0 -40
  455. package/lib/commonjs/shared/components/boundary/portal/utils/attachment.js.map +0 -1
  456. package/lib/module/shared/components/boundary/hooks/use-boundary-presence.js.map +0 -1
  457. package/lib/module/shared/components/boundary/hooks/use-initial-destination-measurement.js.map +0 -1
  458. package/lib/module/shared/components/boundary/hooks/use-initial-source-measurement.js.map +0 -1
  459. package/lib/module/shared/components/boundary/hooks/use-refresh-boundary.js.map +0 -1
  460. package/lib/module/shared/components/boundary/portal/resolve-portal.js +0 -31
  461. package/lib/module/shared/components/boundary/portal/resolve-portal.js.map +0 -1
  462. package/lib/module/shared/components/boundary/portal/utils/attachment.js +0 -35
  463. package/lib/module/shared/components/boundary/portal/utils/attachment.js.map +0 -1
  464. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts +0 -9
  465. package/lib/typescript/shared/components/boundary/hooks/use-boundary-presence.d.ts.map +0 -1
  466. package/lib/typescript/shared/components/boundary/hooks/use-initial-destination-measurement.d.ts.map +0 -1
  467. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts +0 -9
  468. package/lib/typescript/shared/components/boundary/hooks/use-initial-source-measurement.d.ts.map +0 -1
  469. package/lib/typescript/shared/components/boundary/hooks/use-refresh-boundary.d.ts.map +0 -1
  470. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts +0 -14
  471. package/lib/typescript/shared/components/boundary/portal/resolve-portal.d.ts.map +0 -1
  472. package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts +0 -21
  473. package/lib/typescript/shared/components/boundary/portal/utils/attachment.d.ts.map +0 -1
  474. package/src/shared/components/boundary/portal/resolve-portal.ts +0 -40
  475. package/src/shared/components/boundary/portal/utils/attachment.ts +0 -48
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_measuredBoundsWrites","_origin","_scroll","_system","_hostRegistry","_measuredBounds","useMeasurer","enabled","boundTag","currentScreenKey","preparedStyles","measuredAnimatedRef","portalHost","width","viewportWidth","height","viewportHeight","useWindowDimensions","scrollState","ScrollStore","getValue","scrollMetadata","pendingLifecycleStartBlockCount","SystemStore","originRef","useOriginContext","useCallback","target","measured","measureWithOverscrollAwareness","get","measuredOrigin","measure","normalizedMeasured","normalizeMeasuredBoundsToOrigin","shouldGuardDestinationViewport","group","viewportAllowsDestinationWrite","type","isMeasurementInViewport","measuredWithScroll","attachScrollSnapshotToMeasuredBounds","sourceHost","getActiveScrollHost","undefined","applyMeasuredBoundsWrites","entryTag","tag","linkId","linkKey","linkWrite","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-measurer.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAEA,IAAAQ,eAAA,GAAAR,OAAA;AAgBO,MAAMS,WAAW,GAAGA,CAAC;EAC3BC,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC,cAAc;EACdC,mBAAmB;EACnBC;AACkB,CAAC,KAAsB;EACzC,MAAM;IAAEC,KAAK,EAAEC,aAAa;IAAEC,MAAM,EAAEC;EAAe,CAAC,GACrD,IAAAC,gCAAmB,EAAC,CAAC;EAEtB,MAAMC,WAAW,GAAGC,mBAAW,CAACC,QAAQ,CAACX,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMY,cAAc,GAAGF,mBAAW,CAACC,QAAQ,CAACX,gBAAgB,EAAE,UAAU,CAAC;EACzE,MAAMa,+BAA+B,GAAGC,mBAAW,CAACH,QAAQ,CAC3DX,gBAAgB,EAChB,iCACD,CAAC;EACD,MAAM;IAAEe;EAAU,CAAC,GAAG,IAAAC,wBAAgB,EAAC,CAAC;EAExC,OAAO,IAAAC,kBAAW,EAChBC,MAAM,IAAK;IACX,SAAS;;IACT,IAAI,CAACpB,OAAO,EAAE;IAEd,MAAMqB,QAAQ,GAAG,IAAAC,8CAA8B,EAC9ClB,mBAAmB,EACnBO,WAAW,CAACY,GAAG,CAAC,CACjB,CAAC;IACD,MAAMC,cAAc,GAAG,IAAAC,8BAAO,EAACR,SAAS,CAAC;IAEzC,IAAI,CAACI,QAAQ,IAAI,CAACG,cAAc,EAAE;IAElC,MAAME,kBAAkB,GAAG,IAAAC,+CAA+B,EACzDN,QAAQ,EACRG,cACD,CAAC;;IAED;AACH;AACA;AACA;AACA;AACA;AACA;IACG,MAAMI,8BAA8B,GACnCb,+BAA+B,CAACQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAACtB,QAAQ,CAAC4B,KAAK;IAE9D,MAAMC,8BAA8B,GACnCV,MAAM,CAACW,IAAI,KAAK,aAAa,IAC7B,CAACH,8BAA8B,IAC/B,IAAAI,uCAAuB,EACtBN,kBAAkB,EAClBnB,aAAa,EACbE,cACD,CAAC;IAEF,IAAI,CAACqB,8BAA8B,EAAE;IAErC,MAAMG,kBAAkB,GAAG,IAAAC,oDAAoC,EAC9DR,kBAAkB,EAClBZ,cAAc,CAACS,GAAG,CAAC,CACpB,CAAC;IACD,MAAMY,UAAU,GACff,MAAM,CAACW,IAAI,KAAK,QAAQ,GACpB,IAAAK,iCAAmB,EAAClC,gBAAgB,CAAC,IAAImC,SAAS,GACnDA,SAAS;IAEb,IAAAC,+CAAyB,EAAC;MACzBC,QAAQ,EAAEtC,QAAQ,CAACuC,GAAG;MACtBC,MAAM,EAAExC,QAAQ,CAACyC,OAAO;MACxBb,KAAK,EAAE5B,QAAQ,CAAC4B,KAAK;MACrB3B,gBAAgB;MAChBmB,QAAQ,EAAEY,kBAAkB;MAC5B9B,cAAc;MACdwC,SAAS,EAAEvB,MAAM;MACjBf,UAAU;MACV8B;IACD,CAAC,CAAC;EACH,CAAC,EACD,CACCnC,OAAO,EACPC,QAAQ,EACRC,gBAAgB,EAChBC,cAAc,EACdC,mBAAmB,EACnBC,UAAU,EACVE,aAAa,EACbE,cAAc,EACdE,WAAW,EACXG,cAAc,EACdC,+BAA+B,EAC/BE,SAAS,CAEX,CAAC;AACF,CAAC;AAAC2B,OAAA,CAAA7C,WAAA,GAAAA,WAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_measuredBoundsWrites","_origin","_scroll","_system","_measuredBounds","useMeasurer","enabled","boundTag","currentScreenKey","preparedStyles","measuredAnimatedRef","handoff","escapeClipping","width","viewportWidth","height","viewportHeight","useWindowDimensions","scrollState","ScrollStore","getValue","scrollMetadata","pendingLifecycleStartBlockCount","SystemStore","originRef","useOriginContext","useCallback","target","measured","measureWithOverscrollAwareness","get","measuredOrigin","measure","normalizedMeasured","normalizeMeasuredBoundsToOrigin","shouldGuardDestinationViewport","group","viewportAllowsDestinationWrite","type","isMeasurementInViewport","measuredWithScroll","attachScrollSnapshotToMeasuredBounds","applyMeasuredBoundsWrites","entryTag","tag","linkId","linkKey","linkWrite","exports"],"sourceRoot":"../../../../../../src","sources":["shared/components/boundary/hooks/use-measurer.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AAKA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAEA,IAAAO,eAAA,GAAAP,OAAA;AAiBO,MAAMQ,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,GACrD,IAAAC,gCAAmB,EAAC,CAAC;EAEtB,MAAMC,WAAW,GAAGC,mBAAW,CAACC,QAAQ,CAACZ,gBAAgB,EAAE,cAAc,CAAC;EAC1E,MAAMa,cAAc,GAAGF,mBAAW,CAACC,QAAQ,CAACZ,gBAAgB,EAAE,UAAU,CAAC;EACzE,MAAMc,+BAA+B,GAAGC,mBAAW,CAACH,QAAQ,CAC3DZ,gBAAgB,EAChB,iCACD,CAAC;EACD,MAAM;IAAEgB;EAAU,CAAC,GAAG,IAAAC,wBAAgB,EAAC,CAAC;EAExC,OAAO,IAAAC,kBAAW,EAChBC,MAAM,IAAK;IACX,SAAS;;IACT,IAAI,CAACrB,OAAO,EAAE;IAEd,MAAMsB,QAAQ,GAAG,IAAAC,8CAA8B,EAC9CnB,mBAAmB,EACnBQ,WAAW,CAACY,GAAG,CAAC,CACjB,CAAC;IACD,MAAMC,cAAc,GAAG,IAAAC,8BAAO,EAACR,SAAS,CAAC;IAEzC,IAAI,CAACI,QAAQ,IAAI,CAACG,cAAc,EAAE;IAElC,MAAME,kBAAkB,GAAG,IAAAC,+CAA+B,EACzDN,QAAQ,EACRG,cACD,CAAC;;IAED;AACH;AACA;AACA;AACA;AACA;AACA;IACG,MAAMI,8BAA8B,GACnCb,+BAA+B,CAACQ,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAACvB,QAAQ,CAAC6B,KAAK;IAE9D,MAAMC,8BAA8B,GACnCV,MAAM,CAACW,IAAI,KAAK,aAAa,IAC7B,CAACH,8BAA8B,IAC/B,IAAAI,uCAAuB,EACtBN,kBAAkB,EAClBnB,aAAa,EACbE,cACD,CAAC;IAEF,IAAI,CAACqB,8BAA8B,EAAE;IAErC,MAAMG,kBAAkB,GAAG,IAAAC,oDAAoC,EAC9DR,kBAAkB,EAClBZ,cAAc,CAACS,GAAG,CAAC,CACpB,CAAC;IAED,IAAAY,+CAAyB,EAAC;MACzBC,QAAQ,EAAEpC,QAAQ,CAACqC,GAAG;MACtBC,MAAM,EAAEtC,QAAQ,CAACuC,OAAO;MACxBV,KAAK,EAAE7B,QAAQ,CAAC6B,KAAK;MACrB5B,gBAAgB;MAChBoB,QAAQ,EAAEY,kBAAkB;MAC5B/B,cAAc;MACdsC,SAAS,EAAEpB,MAAM;MACjBhB,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,EACdE,WAAW,EACXG,cAAc,EACdC,+BAA+B,EAC/BE,SAAS,CAEX,CAAC;AACF,CAAC;AAACwB,OAAA,CAAA3C,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -10,54 +10,51 @@ Object.defineProperty(exports, "createBoundaryComponent", {
10
10
  return _createBoundaryComponent.createBoundaryComponent;
11
11
  }
12
12
  });
13
+ var _react = require("react");
13
14
  var _reactNative = require("react-native");
14
15
  var _boundaryTarget = require("./components/boundary-target");
15
16
  var _createBoundaryComponent = require("./create-boundary-component");
16
17
  var _portal = require("./portal");
17
- const BoundaryView = (0, _createBoundaryComponent.createBoundaryComponent)(_reactNative.View, {
18
- shouldAutoMeasure: true
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ const BoundaryPrimitive = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
20
+ const Component = "onPress" in props ? _reactNative.Pressable : _reactNative.View;
21
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(Component, {
22
+ ...props,
23
+ ref: ref
24
+ });
19
25
  });
26
+ BoundaryPrimitive.displayName = "Transition.Boundary.Primitive";
27
+ const BoundaryRoot = (0, _createBoundaryComponent.createBoundaryComponent)(BoundaryPrimitive);
28
+ const BoundaryView = (0, _createBoundaryComponent.createBoundaryComponent)(_reactNative.View);
20
29
  const BoundaryTrigger = (0, _createBoundaryComponent.createBoundaryComponent)(_reactNative.Pressable);
30
+ BoundaryRoot.displayName = "Transition.Boundary";
21
31
  BoundaryView.displayName = "Transition.Boundary.View";
22
32
  BoundaryTrigger.displayName = "Transition.Boundary.Trigger";
23
33
  _boundaryTarget.BoundaryTarget.displayName = "Transition.Boundary.Target";
24
34
  _portal.Host.displayName = "Transition.Boundary.Host";
25
35
 
26
36
  /**
27
- * Shared-boundary components.
37
+ * Shared-boundary component with static helpers.
28
38
  *
29
39
  * How measurement works:
30
- * 1. Source screen captures bounds for a tag.
31
- * 2. Destination screen captures bounds for the same tag.
32
- * 3. The link is updated as layout changes (group-active + scroll-settled paths).
40
+ * 1. Destination screen captures bounds for a tag.
41
+ * 2. Source screen captures bounds for the same concrete pair.
42
+ * 3. The link is updated as layout changes.
33
43
  *
34
- * Trigger behavior:
35
- * - When a boundary has `onPress` (typically `Boundary.Trigger`), source
36
- * measurement runs before the user callback. This gives navigation transitions
37
- * fresh source geometry on the first frame.
44
+ * Runtime primitive:
45
+ * - With an `onPress` handler, the root renders as a Pressable.
46
+ * - Without an `onPress` handler, the root renders as a View.
38
47
  *
39
48
  * Use:
40
- * - `Boundary.View` for passive/shared elements.
41
- * - `Boundary.Trigger` for tappable elements that start navigation.
49
+ * - `Boundary` for passive and pressable shared elements.
42
50
  * - `Boundary.Target` to measure a nested descendant instead of the root.
43
51
  * - `Boundary.Host` to make nested portal placement explicit.
44
52
  */
45
- const Boundary = exports.Boundary = {
46
- /**
47
- * Passive boundary wrapper (no built-in press semantics).
48
- */
49
- View: BoundaryView,
50
- /**
51
- * Pressable boundary wrapper with press-priority source capture.
52
- */
53
- Trigger: BoundaryTrigger,
54
- /**
55
- * Optional nested measurement override inside a boundary root.
56
- */
53
+
54
+ const Boundary = exports.Boundary = Object.assign(BoundaryRoot, {
57
55
  Target: _boundaryTarget.BoundaryTarget,
58
- /**
59
- * Explicit portal host for scrollable or otherwise clipped coordinate spaces.
60
- */
61
- Host: _portal.Host
62
- };
56
+ Host: _portal.Host,
57
+ View: BoundaryView,
58
+ Trigger: BoundaryTrigger
59
+ });
63
60
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_boundaryTarget","_createBoundaryComponent","_portal","BoundaryView","createBoundaryComponent","View","shouldAutoMeasure","BoundaryTrigger","Pressable","displayName","BoundaryTarget","Host","Boundary","exports","Trigger","Target"],"sourceRoot":"../../../../../src","sources":["shared/components/boundary/index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AASA,MAAMI,YAAY,GAAG,IAAAC,gDAAuB,EAACC,iBAAI,EAAE;EAClDC,iBAAiB,EAAE;AACpB,CAAC,CAAC;AACF,MAAMC,eAAe,GAAG,IAAAH,gDAAuB,EAACI,sBAAS,CAAC;AAC1DL,YAAY,CAACM,WAAW,GAAG,0BAA0B;AACrDF,eAAe,CAACE,WAAW,GAAG,6BAA6B;AAC3DC,8BAAc,CAACD,WAAW,GAAG,4BAA4B;AACzDE,YAAI,CAACF,WAAW,GAAG,0BAA0B;;AAE7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG;EACvB;AACD;AACA;EACCP,IAAI,EAAEF,YAAY;EAClB;AACD;AACA;EACCW,OAAO,EAAEP,eAAe;EACxB;AACD;AACA;EACCQ,MAAM,EAAEL,8BAAc;EACtB;AACD;AACA;EACCC,IAAI,EAAEA;AACP,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_boundaryTarget","_createBoundaryComponent","_portal","_jsxRuntime","BoundaryPrimitive","forwardRef","props","ref","Component","Pressable","View","jsx","displayName","BoundaryRoot","createBoundaryComponent","BoundaryView","BoundaryTrigger","BoundaryTarget","Host","Boundary","exports","Object","assign","Target","Trigger"],"sourceRoot":"../../../../../src","sources":["shared/components/boundary/index.tsx"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAMA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAgC,IAAAK,WAAA,GAAAL,OAAA;AAUhC,MAAMM,iBAAiB,gBAAG,IAAAC,iBAAU,EACnC,CAACC,KAAK,EAAEC,GAAG,KAAK;EACf,MAAMC,SAAS,GAAG,SAAS,IAAIF,KAAK,GAAGG,sBAAS,GAAGC,iBAAI;EAEvD,oBAAO,IAAAP,WAAA,CAAAQ,GAAA,EAACH,SAAS;IAAA,GAAMF,KAAK;IAAUC,GAAG,EAAEA;EAAW,CAAE,CAAC;AAC1D,CACD,CAAC;AAEDH,iBAAiB,CAACQ,WAAW,GAAG,+BAA+B;AAE/D,MAAMC,YAAY,GAAG,IAAAC,gDAAuB,EAACV,iBAAiB,CAAC;AAC/D,MAAMW,YAAY,GAAG,IAAAD,gDAAuB,EAACJ,iBAAI,CAAC;AAClD,MAAMM,eAAe,GAAG,IAAAF,gDAAuB,EAACL,sBAAS,CAAC;AAC1DI,YAAY,CAACD,WAAW,GAAG,qBAAqB;AAChDG,YAAY,CAACH,WAAW,GAAG,0BAA0B;AACrDI,eAAe,CAACJ,WAAW,GAAG,6BAA6B;AAC3DK,8BAAc,CAACL,WAAW,GAAG,4BAA4B;AACzDM,YAAI,CAACN,WAAW,GAAG,0BAA0B;;AAI7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBO,MAAMO,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAGE,MAAM,CAACC,MAAM,CAACT,YAAY,EAAE;EACnDU,MAAM,EAAEN,8BAAc;EACtBC,IAAI,EAAJA,YAAI;EACJR,IAAI,EAAEK,YAAY;EAClBS,OAAO,EAAER;AACV,CAAC,CAAsB","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.BoundaryLocalPortalHost = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
+ var _system = require("../../../../stores/system.store");
11
+ var _teleport = require("../teleport");
12
+ var _naming = require("../utils/naming");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ const AnimatedPortalHost = _teleport.NativePortalHost ? _reactNativeReanimated.default.createAnimatedComponent(_teleport.NativePortalHost) : null;
16
+ const BoundaryLocalPortalHost = exports.BoundaryLocalPortalHost = /*#__PURE__*/(0, _react.memo)(function BoundaryLocalPortalHost({
17
+ boundaryId,
18
+ enabled,
19
+ screenKey
20
+ }) {
21
+ const {
22
+ drainLifecycleStartBlocks
23
+ } = _system.SystemStore.getBag(screenKey).actions;
24
+ const handleLayout = (0, _react.useCallback)(() => {
25
+ drainLifecycleStartBlocks();
26
+ }, [drainLifecycleStartBlocks]);
27
+ (0, _react.useLayoutEffect)(() => {
28
+ if (!enabled || !AnimatedPortalHost) {
29
+ return;
30
+ }
31
+ drainLifecycleStartBlocks();
32
+ }, [enabled, drainLifecycleStartBlocks]);
33
+ if (!enabled || !AnimatedPortalHost) {
34
+ return null;
35
+ }
36
+ const portalHostName = (0, _naming.createBoundaryLocalPortalHostName)(screenKey, boundaryId);
37
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
38
+ pointerEvents: "none",
39
+ style: styles.hostWrapper,
40
+ onLayout: handleLayout,
41
+ collapsable: false,
42
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedPortalHost, {
43
+ name: portalHostName,
44
+ style: styles.host
45
+ })
46
+ });
47
+ });
48
+ const styles = _reactNative.StyleSheet.create({
49
+ host: {
50
+ ..._reactNative.StyleSheet.absoluteFillObject,
51
+ overflow: "visible"
52
+ },
53
+ hostWrapper: {
54
+ ..._reactNative.StyleSheet.absoluteFillObject,
55
+ overflow: "visible"
56
+ }
57
+ });
58
+ //# sourceMappingURL=boundary-local-portal-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_system","_teleport","_naming","_jsxRuntime","e","__esModule","default","AnimatedPortalHost","NativePortalHost","Animated","createAnimatedComponent","BoundaryLocalPortalHost","exports","memo","boundaryId","enabled","screenKey","drainLifecycleStartBlocks","SystemStore","getBag","actions","handleLayout","useCallback","useLayoutEffect","portalHostName","createBoundaryLocalPortalHostName","jsx","View","pointerEvents","style","styles","hostWrapper","onLayout","collapsable","children","name","host","StyleSheet","create","absoluteFillObject","overflow"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/components/boundary-local-portal-host.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAAoE,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAG,uBAAAK,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpE,MAAMG,kBAAkB,GAAGC,0BAAgB,GACxCC,8BAAQ,CAACC,uBAAuB,CAACF,0BAAgB,CAAC,GAClD,IAAI;AAQA,MAAMG,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,uBAAuBA,CAAC;EAC5EG,UAAU;EACVC,OAAO;EACPC;AAC6B,CAAC,EAAE;EAChC,MAAM;IAAEC;EAA0B,CAAC,GAAGC,mBAAW,CAACC,MAAM,CAACH,SAAS,CAAC,CAACI,OAAO;EAC3E,MAAMC,YAAY,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACtCL,yBAAyB,CAAC,CAAC;EAC5B,CAAC,EAAE,CAACA,yBAAyB,CAAC,CAAC;EAE/B,IAAAM,sBAAe,EAAC,MAAM;IACrB,IAAI,CAACR,OAAO,IAAI,CAACR,kBAAkB,EAAE;MACpC;IACD;IAEAU,yBAAyB,CAAC,CAAC;EAC5B,CAAC,EAAE,CAACF,OAAO,EAAEE,yBAAyB,CAAC,CAAC;EAExC,IAAI,CAACF,OAAO,IAAI,CAACR,kBAAkB,EAAE;IACpC,OAAO,IAAI;EACZ;EAEA,MAAMiB,cAAc,GAAG,IAAAC,yCAAiC,EACvDT,SAAS,EACTF,UACD,CAAC;EAED,oBACC,IAAAX,WAAA,CAAAuB,GAAA,EAAC7B,YAAA,CAAA8B,IAAI;IACJC,aAAa,EAAC,MAAM;IACpBC,KAAK,EAAEC,MAAM,CAACC,WAAY;IAC1BC,QAAQ,EAAEX,YAAa;IACvBY,WAAW,EAAE,KAAM;IAAAC,QAAA,eAEnB,IAAA/B,WAAA,CAAAuB,GAAA,EAACnB,kBAAkB;MAAC4B,IAAI,EAAEX,cAAe;MAACK,KAAK,EAAEC,MAAM,CAACM;IAAK,CAAE;EAAC,CAC3D,CAAC;AAET,CAAC,CAAC;AAEF,MAAMN,MAAM,GAAGO,uBAAU,CAACC,MAAM,CAAC;EAChCF,IAAI,EAAE;IACL,GAAGC,uBAAU,CAACE,kBAAkB;IAChCC,QAAQ,EAAE;EACX,CAAC;EACDT,WAAW,EAAE;IACZ,GAAGM,uBAAU,CAACE,kBAAkB;IAChCC,QAAQ,EAAE;EACX;AACD,CAAC,CAAC","ignoreList":[]}
@@ -8,6 +8,7 @@ var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
10
10
  var _descriptors = require("../../../../providers/screen/descriptors");
11
+ var _system = require("../../../../stores/system.store");
11
12
  var _useHostMeasurement = require("../hooks/use-host-measurement");
12
13
  var _hostRegistry = require("../stores/host-registry.store");
13
14
  var _portalBoundaryHost = require("../stores/portal-boundary-host.store");
@@ -20,6 +21,9 @@ function HostImpl({
20
21
  style
21
22
  }) {
22
23
  const screenKey = (0, _descriptors.useDescriptorsStore)(s => s.derivations.currentScreenKey);
24
+ const {
25
+ drainLifecycleStartBlocks
26
+ } = _system.SystemStore.getBag(screenKey).actions;
23
27
  const generatedHostKeyRef = (0, _react.useRef)(null);
24
28
  if (generatedHostKeyRef.current === null) {
25
29
  generatedHostKeyRef.current = `${screenKey}-host-${nextHostId++}`;
@@ -48,20 +52,32 @@ function HostImpl({
48
52
  (0, _hostRegistry.unregisterHost)(screenKey, hostKey);
49
53
  };
50
54
  }, [capturesScroll, fallback, hostKey, screenKey]);
51
- const boundaryHosts = measurement.canRenderHosts ? activeBoundaryHosts.map(host => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
52
- pointerEvents: "box-none",
55
+ const handleUnblocking = (0, _react.useCallback)(() => {
56
+ // Screen-level escape keeps the open transition gated until portal hosts
57
+ // have committed layout. A screen may render more than one portal boundary
58
+ // host for the same lifecycle request, so the final host layout drains the
59
+ // outstanding start blocks for this screen.
60
+ drainLifecycleStartBlocks();
61
+ }, [drainLifecycleStartBlocks]);
62
+ const boundaryHosts = measurement.canRenderHosts ? activeBoundaryHosts.map((host, idx, list) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
63
+ pointerEvents: "none",
53
64
  style: [styles.boundaryHostViewport, {
54
65
  width: viewportWidth,
55
66
  height: viewportHeight
56
67
  }],
68
+ onLayout: () => {
69
+ if (list.length - 1 === idx) {
70
+ handleUnblocking();
71
+ }
72
+ },
57
73
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_portalBoundaryHost2.PortalBoundaryHost, {
58
74
  host: host,
59
75
  style: _reactNative.StyleSheet.absoluteFill
60
76
  })
61
- }, host.boundaryId)) : null;
77
+ }, host.portalHostName)) : null;
62
78
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
63
79
  ref: measurement.hostRef,
64
- pointerEvents: "box-none",
80
+ pointerEvents: "none",
65
81
  style: [styles.host, {
66
82
  width: viewportWidth,
67
83
  height: viewportHeight
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_descriptors","_useHostMeasurement","_hostRegistry","_portalBoundaryHost","_portalBoundaryHost2","_jsxRuntime","e","__esModule","default","nextHostId","HostImpl","fallback","style","screenKey","useDescriptorsStore","s","derivations","currentScreenKey","generatedHostKeyRef","useRef","current","hostKey","capturesScroll","activeBoundaryHosts","useActivePortalBoundaryHosts","height","viewportHeight","width","viewportWidth","useWindowDimensions","measurement","useHostMeasurement","enabled","length","useLayoutEffect","registerHost","unregisterHost","boundaryHosts","canRenderHosts","map","host","jsx","View","pointerEvents","styles","boundaryHostViewport","children","PortalBoundaryHost","StyleSheet","absoluteFill","boundaryId","ref","hostRef","collapsable","Host","exports","memo","props","ScreenFallbackHost","create","elevation","left","overflow","position","top","zIndex"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/components/host.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireDefault","_descriptors","_system","_useHostMeasurement","_hostRegistry","_portalBoundaryHost","_portalBoundaryHost2","_jsxRuntime","e","__esModule","default","nextHostId","HostImpl","fallback","style","screenKey","useDescriptorsStore","s","derivations","currentScreenKey","drainLifecycleStartBlocks","SystemStore","getBag","actions","generatedHostKeyRef","useRef","current","hostKey","capturesScroll","activeBoundaryHosts","useActivePortalBoundaryHosts","height","viewportHeight","width","viewportWidth","useWindowDimensions","measurement","useHostMeasurement","enabled","length","useLayoutEffect","registerHost","unregisterHost","handleUnblocking","useCallback","boundaryHosts","canRenderHosts","map","host","idx","list","jsx","View","pointerEvents","styles","boundaryHostViewport","onLayout","children","PortalBoundaryHost","StyleSheet","absoluteFill","portalHostName","ref","hostRef","collapsable","Host","exports","memo","props","ScreenFallbackHost","create","elevation","left","overflow","position","top","zIndex"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/components/host.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,15 +5,16 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.PortalBoundaryHost = void 0;
7
7
  var _react = require("react");
8
+ var _reactNative = require("react-native");
8
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
9
10
  var _constants = require("../../../../constants");
11
+ var _composeSlotStyle = require("../../../../providers/screen/styles/helpers/compose-slot-style");
10
12
  var _animation = require("../../../../stores/animation.store");
11
13
  var _linkPairs = require("../../../../stores/bounds/helpers/link-pairs.helpers");
12
14
  var _links = require("../../../../stores/bounds/internals/links");
13
- var _gesture = require("../../../../stores/gesture.store");
14
15
  var _scroll = require("../../../../stores/scroll.store");
15
16
  var _teleport = require("../teleport");
16
- var _naming = require("../utils/naming");
17
+ var _hasLocalSlot = require("../utils/has-local-slot");
17
18
  var _offsetStyle = require("../utils/offset-style");
18
19
  var _jsxRuntime = require("react/jsx-runtime");
19
20
  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); }
@@ -22,12 +23,13 @@ const PortalBoundaryHost = exports.PortalBoundaryHost = /*#__PURE__*/(0, _react.
22
23
  host,
23
24
  style
24
25
  }) {
25
- const hostName = (0, _naming.createPortalBoundaryHostName)(host.hostKey, host.boundaryId);
26
- const hostClosing = _animation.AnimationStore.getValue(host.screenKey, "closing");
27
- const hostProgress = _animation.AnimationStore.getValue(host.screenKey, "transitionProgress");
28
- const hostGestureDismissing = _gesture.GestureStore.getValue(host.screenKey, "dismissing");
29
- const hostScrollMetadata = _scroll.ScrollStore.getValue(host.screenKey, "metadata");
26
+ // Cross-screen landing-rect scroll tracking: the flight interpolates toward
27
+ // the source rect stored at measure time, but the source screen stays
28
+ // scrollable while the pair closes (destination pointer events are
29
+ // released). These are read per-frame so the landing point follows the
30
+ // live source scroll instead of the stale snapshot.
30
31
  const sourceScrollMetadata = _scroll.ScrollStore.getValue((0, _linkPairs.getSourceScreenKeyFromPairKey)(host.pairKey), "metadata");
32
+ const hostVisualProgress = _animation.AnimationStore.getValue(host.screenKey, "visualProgress");
31
33
  const hostStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
32
34
  "worklet";
33
35
 
@@ -37,38 +39,87 @@ const PortalBoundaryHost = exports.PortalBoundaryHost = /*#__PURE__*/(0, _react.
37
39
  if (!link?.source || !link.destination) {
38
40
  return _constants.NO_STYLES;
39
41
  }
40
-
41
- // Make the coordinate case explicit before resolving the host offset.
42
- // The resolver owns the math; this component decides which screen/scroll
43
- // relationship the active portal is in.
42
+ const sourceBounds = link.source.bounds;
44
43
  const isCrossScreenPortal = link.source.screenKey !== host.screenKey;
45
- const isHostClosing = hostClosing.get() === 1 || hostGestureDismissing.get() === 1;
46
- const placement = !isCrossScreenPortal ? "same-screen" : isHostClosing ? "cross-screen-close" : "cross-screen-open";
44
+ let landingShift;
45
+ if (isCrossScreenPortal) {
46
+ // Weight by distance-to-landing so the destination end of the flight
47
+ // stays pinned: no correction while the content sits over the
48
+ // destination rect (progress 1), full correction at touchdown on the
49
+ // source rect (progress 0).
50
+ const landingWeight = 1 - Math.min(Math.max(hostVisualProgress.get(), 0), 1);
51
+ if (landingWeight > 0) {
52
+ const liveScroll = sourceScrollMetadata.get();
53
+ const capturedScroll = sourceBounds.scroll ?? null;
47
54
 
48
- // A source that originated inside its own scroll host moves with that
49
- // ScrollView while this portal stays attached over here. Shifting the
50
- // source rect by the clamped source scroll travel keeps the return
51
- // landing point on the live placeholder, so the close detach is seamless.
52
- const trackSourceScroll = isCrossScreenPortal && link.source.sourceHost?.capturesScroll === true;
55
+ // Scroll offset grows as content moves up/left, so the rect's
56
+ // on-screen position shifts by the negative delta.
57
+ landingShift = {
58
+ x: -(0, _scroll.getClampedScrollAxisDelta)(liveScroll, capturedScroll, "horizontal") * landingWeight,
59
+ y: -(0, _scroll.getClampedScrollAxisDelta)(liveScroll, capturedScroll, "vertical") * landingWeight
60
+ };
61
+ }
62
+ }
53
63
  return (0, _offsetStyle.resolvePortalOffsetStyle)({
54
- bounds: link.source.bounds,
55
- hostCurrentScroll: placement === "cross-screen-close" ? hostScrollMetadata.get() : null,
64
+ bounds: sourceBounds,
56
65
  hostKey: host.hostKey,
57
- placement,
58
- sourceCurrentScroll: trackSourceScroll ? sourceScrollMetadata.get() : null,
59
- hostProgress: hostProgress.get(),
60
- trackSourceScroll
66
+ placement: isCrossScreenPortal ? "cross-screen" : "same-screen",
67
+ landingShift
61
68
  });
62
69
  });
70
+ const contentFrameStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
71
+ "worklet";
72
+
73
+ const link = (0, _links.getLink)(host.pairKey, host.boundaryId);
74
+ if (!link?.source || !link.destination) {
75
+ return _constants.NO_STYLES;
76
+ }
77
+ const sourceBounds = link.source.bounds;
78
+ return {
79
+ height: sourceBounds.height,
80
+ width: sourceBounds.width
81
+ };
82
+ });
83
+ const slotStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => {
84
+ "worklet";
85
+
86
+ // `slotsMap` is the resolved map: it may contain real interpolator output,
87
+ // inherited styles, or resolver-created reset patches for slots that just
88
+ // disappeared. Normal components need those reset patches so stale styles
89
+ // clear correctly.
90
+ //
91
+ // A screen-level portal host is different. It is only the temporary visual
92
+ // receiver for teleported content, not the original component that needs a
93
+ // cleanup frame. If the current local interpolator layers did not emit this
94
+ // boundary id, any resolved style here is cleanup/stale residue and should
95
+ // not be drawn by the host.
96
+ if (host.escapeClipping && !(0, _hasLocalSlot.hasLocalSlot)(host.localStylesMaps.get(), host.boundaryId)) {
97
+ return _constants.NO_STYLES;
98
+ }
99
+ const slot = host.slotsMap.get()[host.boundaryId];
100
+ return (0, _composeSlotStyle.composeSlotStyleWithLocalTransform)(slot?.style ?? _constants.NO_STYLES, undefined, slot?.boundsLocalTransform);
101
+ });
63
102
 
64
103
  // Without `react-native-teleport` no portal ever mounts a boundary host, so
65
104
  // this never renders — the guard just narrows the nullable animated host.
66
105
  if (!AnimatedPortalBoundaryHost) {
67
106
  return null;
68
107
  }
69
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedPortalBoundaryHost, {
70
- name: hostName,
71
- style: [style, hostStyle]
108
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
109
+ pointerEvents: "none",
110
+ style: [style, hostStyle],
111
+ collapsable: false,
112
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedPortalBoundaryHost, {
113
+ name: host.portalHostName,
114
+ style: [styles.content, contentFrameStyle, slotStyle]
115
+ })
72
116
  });
73
117
  });
118
+ const styles = _reactNative.StyleSheet.create({
119
+ content: {
120
+ left: 0,
121
+ position: "absolute",
122
+ top: 0
123
+ }
124
+ });
74
125
  //# sourceMappingURL=portal-boundary-host.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNativeReanimated","_interopRequireWildcard","_constants","_animation","_linkPairs","_links","_gesture","_scroll","_teleport","_naming","_offsetStyle","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedPortalBoundaryHost","NativePortalHost","Animated","createAnimatedComponent","PortalBoundaryHost","exports","memo","host","style","hostName","createPortalBoundaryHostName","hostKey","boundaryId","hostClosing","AnimationStore","getValue","screenKey","hostProgress","hostGestureDismissing","GestureStore","hostScrollMetadata","ScrollStore","sourceScrollMetadata","getSourceScreenKeyFromPairKey","pairKey","hostStyle","useAnimatedStyle","link","getLink","source","destination","NO_STYLES","isCrossScreenPortal","isHostClosing","placement","trackSourceScroll","sourceHost","capturesScroll","resolvePortalOffsetStyle","bounds","hostCurrentScroll","sourceCurrentScroll","jsx","name"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/components/portal-boundary-host.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,sBAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AAEA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,YAAA,GAAAX,OAAA;AAG+B,IAAAY,WAAA,GAAAZ,OAAA;AAAA,SAAAE,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE/B,MAAMkB,0BAA0B,GAAGC,0BAAgB,GAChDC,8BAAQ,CAACC,uBAAuB,CAACF,0BAAgB,CAAC,GAClD,IAAI;AAOA,MAAMG,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,gBAAG,IAAAE,WAAI,EAAC,SAASF,kBAAkBA,CAAC;EAClEG,IAAI;EACJC;AACwB,CAAC,EAAE;EAC3B,MAAMC,QAAQ,GAAG,IAAAC,oCAA4B,EAACH,IAAI,CAACI,OAAO,EAAEJ,IAAI,CAACK,UAAU,CAAC;EAC5E,MAAMC,WAAW,GAAGC,yBAAc,CAACC,QAAQ,CAACR,IAAI,CAACS,SAAS,EAAE,SAAS,CAAC;EACtE,MAAMC,YAAY,GAAGH,yBAAc,CAACC,QAAQ,CAC3CR,IAAI,CAACS,SAAS,EACd,oBACD,CAAC;EACD,MAAME,qBAAqB,GAAGC,qBAAY,CAACJ,QAAQ,CAClDR,IAAI,CAACS,SAAS,EACd,YACD,CAAC;EACD,MAAMI,kBAAkB,GAAGC,mBAAW,CAACN,QAAQ,CAACR,IAAI,CAACS,SAAS,EAAE,UAAU,CAAC;EAC3E,MAAMM,oBAAoB,GAAGD,mBAAW,CAACN,QAAQ,CAChD,IAAAQ,wCAA6B,EAAChB,IAAI,CAACiB,OAAO,CAAC,EAC3C,UACD,CAAC;EACD,MAAMC,SAAS,GAAG,IAAAC,uCAAgB,EAAC,MAAM;IACxC,SAAS;;IACT;IACA;IACA,MAAMC,IAAI,GAAG,IAAAC,cAAO,EAACrB,IAAI,CAACiB,OAAO,EAAEjB,IAAI,CAACK,UAAU,CAAC;IACnD,IAAI,CAACe,IAAI,EAAEE,MAAM,IAAI,CAACF,IAAI,CAACG,WAAW,EAAE;MACvC,OAAOC,oBAAS;IACjB;;IAEA;IACA;IACA;IACA,MAAMC,mBAAmB,GAAGL,IAAI,CAACE,MAAM,CAACb,SAAS,KAAKT,IAAI,CAACS,SAAS;IACpE,MAAMiB,aAAa,GAClBpB,WAAW,CAACpB,GAAG,CAAC,CAAC,KAAK,CAAC,IAAIyB,qBAAqB,CAACzB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7D,MAAMyC,SAAgC,GAAG,CAACF,mBAAmB,GAC1D,aAAa,GACbC,aAAa,GACZ,oBAAoB,GACpB,mBAAmB;;IAEvB;IACA;IACA;IACA;IACA,MAAME,iBAAiB,GACtBH,mBAAmB,IAAIL,IAAI,CAACE,MAAM,CAACO,UAAU,EAAEC,cAAc,KAAK,IAAI;IAEvE,OAAO,IAAAC,qCAAwB,EAAC;MAC/BC,MAAM,EAAEZ,IAAI,CAACE,MAAM,CAACU,MAAM;MAC1BC,iBAAiB,EAChBN,SAAS,KAAK,oBAAoB,GAAGd,kBAAkB,CAAC3B,GAAG,CAAC,CAAC,GAAG,IAAI;MACrEkB,OAAO,EAAEJ,IAAI,CAACI,OAAO;MACrBuB,SAAS;MACTO,mBAAmB,EAAEN,iBAAiB,GACnCb,oBAAoB,CAAC7B,GAAG,CAAC,CAAC,GAC1B,IAAI;MACPwB,YAAY,EAAEA,YAAY,CAACxB,GAAG,CAAC,CAAC;MAChC0C;IACD,CAAC,CAAC;EACH,CAAC,CAAC;;EAEF;EACA;EACA,IAAI,CAACnC,0BAA0B,EAAE;IAChC,OAAO,IAAI;EACZ;EAEA,oBACC,IAAApB,WAAA,CAAA8D,GAAA,EAAC1C,0BAA0B;IAAC2C,IAAI,EAAElC,QAAS;IAACD,KAAK,EAAE,CAACA,KAAK,EAAEiB,SAAS;EAAE,CAAE,CAAC;AAE3E,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_constants","_composeSlotStyle","_animation","_linkPairs","_links","_scroll","_teleport","_hasLocalSlot","_offsetStyle","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedPortalBoundaryHost","NativePortalHost","Animated","createAnimatedComponent","PortalBoundaryHost","exports","memo","host","style","sourceScrollMetadata","ScrollStore","getValue","getSourceScreenKeyFromPairKey","pairKey","hostVisualProgress","AnimationStore","screenKey","hostStyle","useAnimatedStyle","link","getLink","boundaryId","source","destination","NO_STYLES","sourceBounds","bounds","isCrossScreenPortal","landingShift","landingWeight","Math","min","max","liveScroll","capturedScroll","scroll","x","getClampedScrollAxisDelta","y","resolvePortalOffsetStyle","hostKey","placement","contentFrameStyle","height","width","slotStyle","escapeClipping","hasLocalSlot","localStylesMaps","slot","slotsMap","composeSlotStyleWithLocalTransform","undefined","boundsLocalTransform","jsx","View","pointerEvents","collapsable","children","name","portalHostName","styles","content","StyleSheet","create","left","position","top"],"sourceRoot":"../../../../../../../src","sources":["shared/components/boundary/portal/components/portal-boundary-host.tsx"],"mappings":"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","ignoreList":[]}