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