react-native-screen-transitions 4.1.0-beta.0 → 4.1.0-beta.1

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 (454) hide show
  1. package/lib/commonjs/components/boundary/components/boundary-lifecycle.js +40 -8
  2. package/lib/commonjs/components/boundary/components/boundary-lifecycle.js.map +1 -1
  3. package/lib/commonjs/components/boundary/components/boundary-target.js +10 -17
  4. package/lib/commonjs/components/boundary/components/boundary-target.js.map +1 -1
  5. package/lib/commonjs/components/boundary/create-boundary-component.js +13 -16
  6. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  7. package/lib/commonjs/components/boundary/helpers/presentation.js +56 -0
  8. package/lib/commonjs/components/boundary/helpers/presentation.js.map +1 -0
  9. package/lib/commonjs/components/boundary/hooks/use-boundary-presentation.js +65 -0
  10. package/lib/commonjs/components/boundary/hooks/use-boundary-presentation.js.map +1 -0
  11. package/lib/commonjs/components/boundary/hooks/use-composed-boundary-style.js +43 -0
  12. package/lib/commonjs/components/boundary/hooks/use-composed-boundary-style.js.map +1 -0
  13. package/lib/commonjs/components/boundary/index.js +2 -3
  14. package/lib/commonjs/components/boundary/index.js.map +1 -1
  15. package/lib/commonjs/components/boundary/portal/components/portal-host.js +39 -0
  16. package/lib/commonjs/components/boundary/portal/components/portal-host.js.map +1 -0
  17. package/lib/commonjs/components/boundary/portal/components/portal-overlay.js +170 -0
  18. package/lib/commonjs/components/boundary/portal/components/portal-overlay.js.map +1 -0
  19. package/lib/commonjs/components/boundary/portal/components/portal.js +88 -0
  20. package/lib/commonjs/components/boundary/portal/components/portal.js.map +1 -0
  21. package/lib/commonjs/components/boundary/portal/helpers/offset-style.js.map +1 -0
  22. package/lib/commonjs/components/boundary/portal/hooks/use-active-portal-boundary-host.js +35 -0
  23. package/lib/commonjs/components/boundary/portal/hooks/use-active-portal-boundary-host.js.map +1 -0
  24. package/lib/commonjs/components/boundary/portal/hooks/use-host-measurement.js +83 -0
  25. package/lib/commonjs/components/boundary/portal/hooks/use-host-measurement.js.map +1 -0
  26. package/lib/commonjs/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
  27. package/lib/commonjs/components/boundary/portal/hooks/use-portal-destination.js +58 -0
  28. package/lib/commonjs/components/boundary/portal/hooks/use-portal-destination.js.map +1 -0
  29. package/lib/commonjs/components/boundary/portal/index.js +0 -7
  30. package/lib/commonjs/components/boundary/portal/index.js.map +1 -1
  31. package/lib/commonjs/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.js +1 -12
  32. package/lib/commonjs/components/boundary/portal/stores/host-registry.store.js.map +1 -0
  33. package/lib/commonjs/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.js +17 -17
  34. package/lib/commonjs/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -0
  35. package/lib/commonjs/components/boundary/portal/utils/naming.js +8 -1
  36. package/lib/commonjs/components/boundary/portal/utils/naming.js.map +1 -1
  37. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js +7 -27
  38. package/lib/commonjs/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  39. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js +13 -7
  40. package/lib/commonjs/components/boundary/providers/boundary-root.provider.js.map +1 -1
  41. package/lib/commonjs/components/screen/container/helpers/layer-component.js +39 -0
  42. package/lib/commonjs/components/screen/container/helpers/layer-component.js.map +1 -0
  43. package/lib/commonjs/components/screen/container/{layers/render-component.js → helpers/uses-layer-render-props.js} +1 -1
  44. package/lib/commonjs/components/screen/container/helpers/uses-layer-render-props.js.map +1 -0
  45. package/lib/commonjs/components/screen/container/layers/backdrop.js +4 -13
  46. package/lib/commonjs/components/screen/container/layers/backdrop.js.map +1 -1
  47. package/lib/commonjs/components/screen/container/layers/clip.js +117 -0
  48. package/lib/commonjs/components/screen/container/layers/clip.js.map +1 -0
  49. package/lib/commonjs/components/screen/container/layers/content.js +17 -33
  50. package/lib/commonjs/components/screen/container/layers/content.js.map +1 -1
  51. package/lib/commonjs/components/screen/container/layers/surface.js +3 -15
  52. package/lib/commonjs/components/screen/container/layers/surface.js.map +1 -1
  53. package/lib/commonjs/components/screen/lifecycle/hooks/use-open-transition-intent.js +15 -0
  54. package/lib/commonjs/components/screen/lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  55. package/lib/commonjs/constants.js +3 -1
  56. package/lib/commonjs/constants.js.map +1 -1
  57. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js +16 -4
  58. package/lib/commonjs/hooks/navigation/use-navigation-helpers.js.map +1 -1
  59. package/lib/commonjs/providers/screen/motion/animation/helpers/build-screen-transition-options.js +0 -1
  60. package/lib/commonjs/providers/screen/motion/animation/helpers/build-screen-transition-options.js.map +1 -1
  61. package/lib/commonjs/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js +3 -2
  62. package/lib/commonjs/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  63. package/lib/commonjs/providers/screen/motion/options/helpers.js +1 -3
  64. package/lib/commonjs/providers/screen/motion/options/helpers.js.map +1 -1
  65. package/lib/commonjs/providers/screen/orchestrator/helpers/use-interpolator-state.js +4 -2
  66. package/lib/commonjs/providers/screen/orchestrator/helpers/use-interpolator-state.js.map +1 -1
  67. package/lib/commonjs/providers/screen/orchestrator/helpers/use-pair-presentation.js +79 -0
  68. package/lib/commonjs/providers/screen/orchestrator/helpers/use-pair-presentation.js.map +1 -0
  69. package/lib/commonjs/providers/screen/orchestrator/orchestrator.provider.js +3 -0
  70. package/lib/commonjs/providers/screen/orchestrator/orchestrator.provider.js.map +1 -1
  71. package/lib/commonjs/providers/screen/orchestrator/styles/constants.js +1 -0
  72. package/lib/commonjs/providers/screen/orchestrator/styles/constants.js.map +1 -1
  73. package/lib/commonjs/providers/screen/orchestrator/styles/hooks/slot-resolvers.js +5 -8
  74. package/lib/commonjs/providers/screen/orchestrator/styles/hooks/slot-resolvers.js.map +1 -1
  75. package/lib/commonjs/utils/bounds/navigation/reveal/build.js +28 -61
  76. package/lib/commonjs/utils/bounds/navigation/reveal/build.js.map +1 -1
  77. package/lib/commonjs/utils/bounds/navigation/reveal/config.js +3 -4
  78. package/lib/commonjs/utils/bounds/navigation/reveal/config.js.map +1 -1
  79. package/lib/commonjs/utils/bounds/navigation/reveal/math.js +8 -8
  80. package/lib/commonjs/utils/bounds/navigation/reveal/math.js.map +1 -1
  81. package/lib/commonjs/utils/bounds/navigation/reveal/types.js +3 -1
  82. package/lib/commonjs/utils/bounds/navigation/reveal/types.js.map +1 -1
  83. package/lib/commonjs/utils/bounds/navigation/zoom/build.js +4 -6
  84. package/lib/commonjs/utils/bounds/navigation/zoom/build.js.map +1 -1
  85. package/lib/commonjs/utils/bounds/navigation/zoom/clip.js +64 -0
  86. package/lib/commonjs/utils/bounds/navigation/zoom/clip.js.map +1 -0
  87. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js +1 -1
  88. package/lib/commonjs/utils/bounds/navigation/zoom/drag.js.map +1 -1
  89. package/lib/commonjs/utils/bounds/navigation/zoom/types.js +3 -1
  90. package/lib/commonjs/utils/bounds/navigation/zoom/types.js.map +1 -1
  91. package/lib/module/components/boundary/components/boundary-lifecycle.js +41 -9
  92. package/lib/module/components/boundary/components/boundary-lifecycle.js.map +1 -1
  93. package/lib/module/components/boundary/components/boundary-target.js +10 -17
  94. package/lib/module/components/boundary/components/boundary-target.js.map +1 -1
  95. package/lib/module/components/boundary/create-boundary-component.js +13 -16
  96. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  97. package/lib/module/components/boundary/helpers/presentation.js +50 -0
  98. package/lib/module/components/boundary/helpers/presentation.js.map +1 -0
  99. package/lib/module/components/boundary/hooks/use-boundary-presentation.js +62 -0
  100. package/lib/module/components/boundary/hooks/use-boundary-presentation.js.map +1 -0
  101. package/lib/module/components/boundary/hooks/use-composed-boundary-style.js +39 -0
  102. package/lib/module/components/boundary/hooks/use-composed-boundary-style.js.map +1 -0
  103. package/lib/module/components/boundary/index.js +2 -3
  104. package/lib/module/components/boundary/index.js.map +1 -1
  105. package/lib/module/components/boundary/portal/components/portal-host.js +34 -0
  106. package/lib/module/components/boundary/portal/components/portal-host.js.map +1 -0
  107. package/lib/module/components/boundary/portal/components/portal-overlay.js +165 -0
  108. package/lib/module/components/boundary/portal/components/portal-overlay.js.map +1 -0
  109. package/lib/module/components/boundary/portal/components/portal.js +83 -0
  110. package/lib/module/components/boundary/portal/components/portal.js.map +1 -0
  111. package/lib/module/components/boundary/portal/helpers/offset-style.js.map +1 -0
  112. package/lib/module/components/boundary/portal/hooks/use-active-portal-boundary-host.js +31 -0
  113. package/lib/module/components/boundary/portal/hooks/use-active-portal-boundary-host.js.map +1 -0
  114. package/lib/module/components/boundary/portal/hooks/use-host-measurement.js +78 -0
  115. package/lib/module/components/boundary/portal/hooks/use-host-measurement.js.map +1 -0
  116. package/lib/module/components/boundary/portal/hooks/use-placeholder-styles.js.map +1 -0
  117. package/lib/module/components/boundary/portal/hooks/use-portal-destination.js +54 -0
  118. package/lib/module/components/boundary/portal/hooks/use-portal-destination.js.map +1 -0
  119. package/lib/module/components/boundary/portal/index.js +0 -1
  120. package/lib/module/components/boundary/portal/index.js.map +1 -1
  121. package/lib/module/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.js +1 -12
  122. package/lib/module/components/boundary/portal/stores/host-registry.store.js.map +1 -0
  123. package/lib/module/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.js +17 -17
  124. package/lib/module/components/boundary/portal/stores/portal-boundary-host.store.js.map +1 -0
  125. package/lib/module/components/boundary/portal/utils/naming.js +6 -0
  126. package/lib/module/components/boundary/portal/utils/naming.js.map +1 -1
  127. package/lib/module/components/boundary/portal/utils/resolve-portal.js +7 -27
  128. package/lib/module/components/boundary/portal/utils/resolve-portal.js.map +1 -1
  129. package/lib/module/components/boundary/providers/boundary-root.provider.js +13 -7
  130. package/lib/module/components/boundary/providers/boundary-root.provider.js.map +1 -1
  131. package/lib/module/components/screen/container/helpers/layer-component.js +35 -0
  132. package/lib/module/components/screen/container/helpers/layer-component.js.map +1 -0
  133. package/lib/module/components/screen/container/{layers/render-component.js → helpers/uses-layer-render-props.js} +1 -1
  134. package/lib/module/components/screen/container/helpers/uses-layer-render-props.js.map +1 -0
  135. package/lib/module/components/screen/container/layers/backdrop.js +5 -13
  136. package/lib/module/components/screen/container/layers/backdrop.js.map +1 -1
  137. package/lib/module/components/screen/container/layers/clip.js +112 -0
  138. package/lib/module/components/screen/container/layers/clip.js.map +1 -0
  139. package/lib/module/components/screen/container/layers/content.js +18 -33
  140. package/lib/module/components/screen/container/layers/content.js.map +1 -1
  141. package/lib/module/components/screen/container/layers/surface.js +4 -15
  142. package/lib/module/components/screen/container/layers/surface.js.map +1 -1
  143. package/lib/module/components/screen/lifecycle/hooks/use-open-transition-intent.js +17 -2
  144. package/lib/module/components/screen/lifecycle/hooks/use-open-transition-intent.js.map +1 -1
  145. package/lib/module/constants.js +3 -1
  146. package/lib/module/constants.js.map +1 -1
  147. package/lib/module/hooks/navigation/use-navigation-helpers.js +16 -4
  148. package/lib/module/hooks/navigation/use-navigation-helpers.js.map +1 -1
  149. package/lib/module/providers/screen/motion/animation/helpers/build-screen-transition-options.js +0 -1
  150. package/lib/module/providers/screen/motion/animation/helpers/build-screen-transition-options.js.map +1 -1
  151. package/lib/module/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js +3 -2
  152. package/lib/module/providers/screen/motion/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  153. package/lib/module/providers/screen/motion/options/helpers.js +1 -3
  154. package/lib/module/providers/screen/motion/options/helpers.js.map +1 -1
  155. package/lib/module/providers/screen/orchestrator/helpers/use-interpolator-state.js +6 -4
  156. package/lib/module/providers/screen/orchestrator/helpers/use-interpolator-state.js.map +1 -1
  157. package/lib/module/providers/screen/orchestrator/helpers/use-pair-presentation.js +73 -0
  158. package/lib/module/providers/screen/orchestrator/helpers/use-pair-presentation.js.map +1 -0
  159. package/lib/module/providers/screen/orchestrator/orchestrator.provider.js +3 -0
  160. package/lib/module/providers/screen/orchestrator/orchestrator.provider.js.map +1 -1
  161. package/lib/module/providers/screen/orchestrator/styles/constants.js +1 -0
  162. package/lib/module/providers/screen/orchestrator/styles/constants.js.map +1 -1
  163. package/lib/module/providers/screen/orchestrator/styles/hooks/slot-resolvers.js +5 -8
  164. package/lib/module/providers/screen/orchestrator/styles/hooks/slot-resolvers.js.map +1 -1
  165. package/lib/module/types/animation.types.js +3 -1
  166. package/lib/module/types/animation.types.js.map +1 -1
  167. package/lib/module/utils/bounds/navigation/reveal/build.js +30 -63
  168. package/lib/module/utils/bounds/navigation/reveal/build.js.map +1 -1
  169. package/lib/module/utils/bounds/navigation/reveal/config.js +2 -3
  170. package/lib/module/utils/bounds/navigation/reveal/config.js.map +1 -1
  171. package/lib/module/utils/bounds/navigation/reveal/math.js +7 -7
  172. package/lib/module/utils/bounds/navigation/reveal/math.js.map +1 -1
  173. package/lib/module/utils/bounds/navigation/reveal/types.js +1 -1
  174. package/lib/module/utils/bounds/navigation/reveal/types.js.map +1 -1
  175. package/lib/module/utils/bounds/navigation/zoom/build.js +5 -7
  176. package/lib/module/utils/bounds/navigation/zoom/build.js.map +1 -1
  177. package/lib/module/utils/bounds/navigation/zoom/clip.js +59 -0
  178. package/lib/module/utils/bounds/navigation/zoom/clip.js.map +1 -0
  179. package/lib/module/utils/bounds/navigation/zoom/drag.js +1 -1
  180. package/lib/module/utils/bounds/navigation/zoom/drag.js.map +1 -1
  181. package/lib/module/utils/bounds/navigation/zoom/types.js +1 -1
  182. package/lib/module/utils/bounds/navigation/zoom/types.js.map +1 -1
  183. package/lib/typescript/components/boundary/components/boundary-lifecycle.d.ts.map +1 -1
  184. package/lib/typescript/components/boundary/components/boundary-target.d.ts.map +1 -1
  185. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  186. package/lib/typescript/components/boundary/helpers/presentation.d.ts +14 -0
  187. package/lib/typescript/components/boundary/helpers/presentation.d.ts.map +1 -0
  188. package/lib/typescript/components/boundary/hooks/use-boundary-presentation.d.ts +9 -0
  189. package/lib/typescript/components/boundary/hooks/use-boundary-presentation.d.ts.map +1 -0
  190. package/lib/typescript/components/boundary/hooks/use-composed-boundary-style.d.ts +4 -0
  191. package/lib/typescript/components/boundary/hooks/use-composed-boundary-style.d.ts.map +1 -0
  192. package/lib/typescript/components/boundary/index.d.ts +3 -2
  193. package/lib/typescript/components/boundary/index.d.ts.map +1 -1
  194. package/lib/typescript/components/boundary/portal/components/portal-host.d.ts +15 -0
  195. package/lib/typescript/components/boundary/portal/components/portal-host.d.ts.map +1 -0
  196. package/lib/typescript/components/boundary/portal/components/portal-overlay.d.ts +20 -0
  197. package/lib/typescript/components/boundary/portal/components/portal-overlay.d.ts.map +1 -0
  198. package/lib/typescript/components/boundary/portal/components/portal.d.ts +23 -0
  199. package/lib/typescript/components/boundary/portal/components/portal.d.ts.map +1 -0
  200. package/lib/typescript/components/boundary/portal/helpers/offset-style.d.ts.map +1 -0
  201. package/lib/typescript/components/boundary/portal/hooks/use-active-portal-boundary-host.d.ts +11 -0
  202. package/lib/typescript/components/boundary/portal/hooks/use-active-portal-boundary-host.d.ts.map +1 -0
  203. package/lib/typescript/components/boundary/portal/hooks/use-host-measurement.d.ts +13 -0
  204. package/lib/typescript/components/boundary/portal/hooks/use-host-measurement.d.ts.map +1 -0
  205. package/lib/typescript/components/boundary/portal/hooks/use-placeholder-styles.d.ts.map +1 -0
  206. package/lib/typescript/components/boundary/portal/hooks/use-portal-destination.d.ts +8 -0
  207. package/lib/typescript/components/boundary/portal/hooks/use-portal-destination.d.ts.map +1 -0
  208. package/lib/typescript/components/boundary/portal/index.d.ts +0 -1
  209. package/lib/typescript/components/boundary/portal/index.d.ts.map +1 -1
  210. package/lib/typescript/components/boundary/portal/stores/host-registry.store.d.ts.map +1 -0
  211. package/lib/typescript/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.d.ts +2 -3
  212. package/lib/typescript/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +1 -0
  213. package/lib/typescript/components/boundary/portal/utils/naming.d.ts +1 -0
  214. package/lib/typescript/components/boundary/portal/utils/naming.d.ts.map +1 -1
  215. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts +2 -7
  216. package/lib/typescript/components/boundary/portal/utils/resolve-portal.d.ts.map +1 -1
  217. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts +5 -2
  218. package/lib/typescript/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  219. package/lib/typescript/components/screen/container/helpers/layer-component.d.ts +10 -0
  220. package/lib/typescript/components/screen/container/helpers/layer-component.d.ts.map +1 -0
  221. package/lib/typescript/components/screen/container/{layers/render-component.d.ts → helpers/uses-layer-render-props.d.ts} +1 -1
  222. package/lib/typescript/components/screen/container/helpers/uses-layer-render-props.d.ts.map +1 -0
  223. package/lib/typescript/components/screen/container/layers/backdrop.d.ts.map +1 -1
  224. package/lib/typescript/components/screen/container/layers/clip.d.ts +7 -0
  225. package/lib/typescript/components/screen/container/layers/clip.d.ts.map +1 -0
  226. package/lib/typescript/components/screen/container/layers/content.d.ts.map +1 -1
  227. package/lib/typescript/components/screen/container/layers/surface.d.ts.map +1 -1
  228. package/lib/typescript/components/screen/lifecycle/hooks/use-open-transition-intent.d.ts.map +1 -1
  229. package/lib/typescript/constants.d.ts +3 -1
  230. package/lib/typescript/constants.d.ts.map +1 -1
  231. package/lib/typescript/hooks/navigation/use-navigation-helpers.d.ts.map +1 -1
  232. package/lib/typescript/index.d.ts +1 -1
  233. package/lib/typescript/index.d.ts.map +1 -1
  234. package/lib/typescript/providers/screen/motion/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  235. package/lib/typescript/providers/screen/motion/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  236. package/lib/typescript/providers/screen/motion/options/helpers.d.ts.map +1 -1
  237. package/lib/typescript/providers/screen/motion/options/types.d.ts +0 -1
  238. package/lib/typescript/providers/screen/motion/options/types.d.ts.map +1 -1
  239. package/lib/typescript/providers/screen/orchestrator/helpers/use-interpolator-state.d.ts.map +1 -1
  240. package/lib/typescript/providers/screen/orchestrator/helpers/use-pair-presentation.d.ts +21 -0
  241. package/lib/typescript/providers/screen/orchestrator/helpers/use-pair-presentation.d.ts.map +1 -0
  242. package/lib/typescript/providers/screen/orchestrator/orchestrator.provider.d.ts +2 -0
  243. package/lib/typescript/providers/screen/orchestrator/orchestrator.provider.d.ts.map +1 -1
  244. package/lib/typescript/providers/screen/orchestrator/styles/constants.d.ts.map +1 -1
  245. package/lib/typescript/providers/screen/orchestrator/styles/hooks/slot-resolvers.d.ts +1 -1
  246. package/lib/typescript/providers/screen/orchestrator/styles/hooks/slot-resolvers.d.ts.map +1 -1
  247. package/lib/typescript/providers/screen/orchestrator/styles/types.d.ts +1 -1
  248. package/lib/typescript/providers/screen/orchestrator/styles/types.d.ts.map +1 -1
  249. package/lib/typescript/types/animation.types.d.ts +16 -4
  250. package/lib/typescript/types/animation.types.d.ts.map +1 -1
  251. package/lib/typescript/types/bounds.types.d.ts +7 -15
  252. package/lib/typescript/types/bounds.types.d.ts.map +1 -1
  253. package/lib/typescript/types/index.d.ts +1 -1
  254. package/lib/typescript/types/index.d.ts.map +1 -1
  255. package/lib/typescript/types/screen.types.d.ts +1 -8
  256. package/lib/typescript/types/screen.types.d.ts.map +1 -1
  257. package/lib/typescript/utils/bounds/navigation/reveal/build.d.ts.map +1 -1
  258. package/lib/typescript/utils/bounds/navigation/reveal/config.d.ts +2 -3
  259. package/lib/typescript/utils/bounds/navigation/reveal/config.d.ts.map +1 -1
  260. package/lib/typescript/utils/bounds/navigation/reveal/math.d.ts +3 -3
  261. package/lib/typescript/utils/bounds/navigation/reveal/types.d.ts +1 -5
  262. package/lib/typescript/utils/bounds/navigation/reveal/types.d.ts.map +1 -1
  263. package/lib/typescript/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  264. package/lib/typescript/utils/bounds/navigation/zoom/{mask.d.ts → clip.d.ts} +5 -5
  265. package/lib/typescript/utils/bounds/navigation/zoom/clip.d.ts.map +1 -0
  266. package/lib/typescript/utils/bounds/navigation/zoom/drag.d.ts +1 -1
  267. package/lib/typescript/utils/bounds/navigation/zoom/types.d.ts +1 -5
  268. package/lib/typescript/utils/bounds/navigation/zoom/types.d.ts.map +1 -1
  269. package/package.json +1 -1
  270. package/src/components/boundary/components/boundary-lifecycle.tsx +44 -8
  271. package/src/components/boundary/components/boundary-target.tsx +14 -36
  272. package/src/components/boundary/create-boundary-component.tsx +16 -17
  273. package/src/components/boundary/helpers/presentation.ts +88 -0
  274. package/src/components/boundary/hooks/use-boundary-presentation.ts +82 -0
  275. package/src/components/boundary/hooks/use-composed-boundary-style.ts +58 -0
  276. package/src/components/boundary/index.tsx +10 -5
  277. package/src/components/boundary/portal/components/portal-host.tsx +36 -0
  278. package/src/components/boundary/portal/components/portal-overlay.tsx +223 -0
  279. package/src/components/boundary/portal/components/portal.tsx +124 -0
  280. package/src/components/boundary/portal/hooks/use-active-portal-boundary-host.ts +52 -0
  281. package/src/components/boundary/portal/hooks/use-host-measurement.ts +101 -0
  282. package/src/components/boundary/portal/hooks/use-portal-destination.ts +53 -0
  283. package/src/components/boundary/portal/index.ts +0 -1
  284. package/src/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.ts +1 -20
  285. package/src/components/boundary/portal/{components/boundary-portal/stores → stores}/portal-boundary-host.store.ts +19 -26
  286. package/src/components/boundary/portal/utils/naming.ts +10 -0
  287. package/src/components/boundary/portal/utils/resolve-portal.ts +9 -48
  288. package/src/components/boundary/providers/boundary-root.provider.tsx +34 -22
  289. package/src/components/screen/container/helpers/layer-component.tsx +38 -0
  290. package/src/components/screen/container/layers/backdrop.tsx +8 -31
  291. package/src/components/screen/container/layers/clip.tsx +124 -0
  292. package/src/components/screen/container/layers/content.tsx +21 -62
  293. package/src/components/screen/container/layers/surface.tsx +5 -23
  294. package/src/components/screen/lifecycle/hooks/use-open-transition-intent.ts +26 -2
  295. package/src/constants.ts +3 -1
  296. package/src/hooks/navigation/use-navigation-helpers.ts +13 -7
  297. package/src/index.ts +1 -0
  298. package/src/providers/screen/motion/animation/helpers/build-screen-transition-options.ts +0 -1
  299. package/src/providers/screen/motion/animation/helpers/hydrate-transition-state/index.ts +3 -2
  300. package/src/providers/screen/motion/options/helpers.ts +0 -6
  301. package/src/providers/screen/motion/options/types.ts +0 -1
  302. package/src/providers/screen/orchestrator/helpers/use-interpolator-state.ts +13 -8
  303. package/src/providers/screen/orchestrator/helpers/use-pair-presentation.ts +103 -0
  304. package/src/providers/screen/orchestrator/orchestrator.provider.tsx +4 -0
  305. package/src/providers/screen/orchestrator/styles/constants.ts +1 -0
  306. package/src/providers/screen/orchestrator/styles/hooks/slot-resolvers.tsx +8 -11
  307. package/src/providers/screen/orchestrator/styles/types.ts +1 -0
  308. package/src/types/animation.types.ts +35 -4
  309. package/src/types/bounds.types.ts +7 -15
  310. package/src/types/index.ts +1 -0
  311. package/src/types/screen.types.ts +1 -8
  312. package/src/utils/bounds/navigation/reveal/build.ts +46 -80
  313. package/src/utils/bounds/navigation/reveal/config.ts +2 -4
  314. package/src/utils/bounds/navigation/reveal/math.ts +9 -9
  315. package/src/utils/bounds/navigation/reveal/types.ts +1 -8
  316. package/src/utils/bounds/navigation/zoom/build.ts +16 -26
  317. package/src/utils/bounds/navigation/zoom/{mask.ts → clip.ts} +42 -48
  318. package/src/utils/bounds/navigation/zoom/drag.ts +2 -2
  319. package/src/utils/bounds/navigation/zoom/types.ts +1 -8
  320. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js +0 -83
  321. package/lib/commonjs/components/boundary/hooks/use-boundary-measurement.js.map +0 -1
  322. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js +0 -45
  323. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/components/host.js.map +0 -1
  324. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +0 -119
  325. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +0 -1
  326. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js +0 -20
  327. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js.map +0 -1
  328. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +0 -14
  329. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +0 -1
  330. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +0 -136
  331. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +0 -1
  332. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js +0 -53
  333. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/index.js.map +0 -1
  334. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js +0 -99
  335. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/host.js.map +0 -1
  336. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +0 -104
  337. package/lib/commonjs/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +0 -1
  338. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +0 -13
  339. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +0 -1
  340. package/lib/commonjs/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +0 -1
  341. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +0 -82
  342. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +0 -1
  343. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +0 -58
  344. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +0 -1
  345. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +0 -67
  346. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +0 -1
  347. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +0 -1
  348. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js +0 -68
  349. package/lib/commonjs/components/boundary/portal/components/boundary-portal/index.js.map +0 -1
  350. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +0 -1
  351. package/lib/commonjs/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +0 -1
  352. package/lib/commonjs/components/screen/container/layers/maybe-masked-navigation-container.js +0 -83
  353. package/lib/commonjs/components/screen/container/layers/maybe-masked-navigation-container.js.map +0 -1
  354. package/lib/commonjs/components/screen/container/layers/render-component.js.map +0 -1
  355. package/lib/commonjs/utils/bounds/navigation/zoom/mask.js +0 -73
  356. package/lib/commonjs/utils/bounds/navigation/zoom/mask.js.map +0 -1
  357. package/lib/module/components/boundary/hooks/use-boundary-measurement.js +0 -78
  358. package/lib/module/components/boundary/hooks/use-boundary-measurement.js.map +0 -1
  359. package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js +0 -40
  360. package/lib/module/components/boundary/portal/components/boundary-content-portal/components/host.js.map +0 -1
  361. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +0 -110
  362. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +0 -1
  363. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js +0 -16
  364. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.js.map +0 -1
  365. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +0 -9
  366. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +0 -1
  367. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +0 -131
  368. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +0 -1
  369. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js +0 -42
  370. package/lib/module/components/boundary/portal/components/boundary-content-portal/index.js.map +0 -1
  371. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js +0 -94
  372. package/lib/module/components/boundary/portal/components/boundary-portal/components/host.js.map +0 -1
  373. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js +0 -99
  374. package/lib/module/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +0 -1
  375. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js +0 -8
  376. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/local-measurement.js.map +0 -1
  377. package/lib/module/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +0 -1
  378. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js +0 -76
  379. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.js.map +0 -1
  380. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +0 -53
  381. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +0 -1
  382. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js +0 -62
  383. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +0 -1
  384. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +0 -1
  385. package/lib/module/components/boundary/portal/components/boundary-portal/index.js +0 -63
  386. package/lib/module/components/boundary/portal/components/boundary-portal/index.js.map +0 -1
  387. package/lib/module/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +0 -1
  388. package/lib/module/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +0 -1
  389. package/lib/module/components/screen/container/layers/maybe-masked-navigation-container.js +0 -78
  390. package/lib/module/components/screen/container/layers/maybe-masked-navigation-container.js.map +0 -1
  391. package/lib/module/components/screen/container/layers/render-component.js.map +0 -1
  392. package/lib/module/utils/bounds/navigation/zoom/mask.js +0 -68
  393. package/lib/module/utils/bounds/navigation/zoom/mask.js.map +0 -1
  394. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts +0 -28
  395. package/lib/typescript/components/boundary/hooks/use-boundary-measurement.d.ts.map +0 -1
  396. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/components/host.d.ts +0 -10
  397. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +0 -1
  398. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +0 -45
  399. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +0 -1
  400. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.d.ts +0 -8
  401. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.d.ts.map +0 -1
  402. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts +0 -2
  403. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts.map +0 -1
  404. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +0 -10
  405. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +0 -1
  406. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts +0 -9
  407. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +0 -1
  408. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts +0 -7
  409. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +0 -1
  410. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts +0 -13
  411. package/lib/typescript/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +0 -1
  412. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts +0 -4
  413. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/local-measurement.d.ts.map +0 -1
  414. package/lib/typescript/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +0 -1
  415. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts +0 -21
  416. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.d.ts.map +0 -1
  417. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +0 -10
  418. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +0 -1
  419. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts +0 -12
  420. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +0 -1
  421. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts.map +0 -1
  422. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts +0 -12
  423. package/lib/typescript/components/boundary/portal/components/boundary-portal/index.d.ts.map +0 -1
  424. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +0 -1
  425. package/lib/typescript/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +0 -1
  426. package/lib/typescript/components/screen/container/layers/maybe-masked-navigation-container.d.ts +0 -9
  427. package/lib/typescript/components/screen/container/layers/maybe-masked-navigation-container.d.ts.map +0 -1
  428. package/lib/typescript/components/screen/container/layers/render-component.d.ts.map +0 -1
  429. package/lib/typescript/utils/bounds/navigation/zoom/mask.d.ts.map +0 -1
  430. package/src/components/boundary/hooks/use-boundary-measurement.ts +0 -98
  431. package/src/components/boundary/portal/components/boundary-content-portal/components/host.tsx +0 -56
  432. package/src/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +0 -192
  433. package/src/components/boundary/portal/components/boundary-content-portal/helpers/handoff-visibility.ts +0 -23
  434. package/src/components/boundary/portal/components/boundary-content-portal/helpers/host-name.ts +0 -9
  435. package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +0 -252
  436. package/src/components/boundary/portal/components/boundary-content-portal/index.tsx +0 -81
  437. package/src/components/boundary/portal/components/boundary-portal/components/host.tsx +0 -119
  438. package/src/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.tsx +0 -139
  439. package/src/components/boundary/portal/components/boundary-portal/helpers/local-measurement.ts +0 -10
  440. package/src/components/boundary/portal/components/boundary-portal/hooks/use-active-portal-boundary-host.ts +0 -118
  441. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +0 -64
  442. package/src/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.ts +0 -90
  443. package/src/components/boundary/portal/components/boundary-portal/index.tsx +0 -97
  444. package/src/components/screen/container/layers/maybe-masked-navigation-container.tsx +0 -113
  445. /package/lib/commonjs/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.js +0 -0
  446. /package/lib/commonjs/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.js +0 -0
  447. /package/lib/module/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.js +0 -0
  448. /package/lib/module/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.js +0 -0
  449. /package/lib/typescript/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.d.ts +0 -0
  450. /package/lib/typescript/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.d.ts +0 -0
  451. /package/lib/typescript/components/boundary/portal/{components/boundary-portal/stores → stores}/host-registry.store.d.ts +0 -0
  452. /package/src/components/boundary/portal/{components/boundary-portal/helpers → helpers}/offset-style.ts +0 -0
  453. /package/src/components/boundary/portal/{components/boundary-portal/hooks → hooks}/use-placeholder-styles.ts +0 -0
  454. /package/src/components/screen/container/{layers/render-component.ts → helpers/uses-layer-render-props.ts} +0 -0
@@ -2,36 +2,16 @@
2
2
 
3
3
  import { logger } from "../../../../utils/logger";
4
4
  import { isTeleportAvailable } from "../teleport";
5
- const DISABLED_RUNTIME = {
6
- handoff: false,
7
- escapeClipping: false
8
- };
9
- const HANDOFF_RUNTIME = {
10
- handoff: true,
11
- escapeClipping: false
12
- };
13
- const ESCAPE_CLIPPING_RUNTIME = {
14
- handoff: false,
15
- escapeClipping: true
16
- };
17
- const HANDOFF_ESCAPE_CLIPPING_RUNTIME = {
18
- handoff: true,
19
- escapeClipping: true
20
- };
21
5
  export const resolveBoundaryPortal = ({
22
- handoff,
23
- escapeClipping
6
+ handoff = false,
7
+ escapeClipping = false
24
8
  }) => {
25
- const resolvedHandoff = handoff ?? false;
26
- const resolvedEscapeClipping = escapeClipping ?? false;
27
- const enabled = resolvedHandoff || resolvedEscapeClipping;
28
- if (!enabled) {
29
- return DISABLED_RUNTIME;
30
- }
31
- if (!isTeleportAvailable) {
9
+ if (!isTeleportAvailable && (handoff || escapeClipping)) {
32
10
  logger.warnOnce("boundary:teleport-missing", "react-native-teleport is not installed; handoff and escapeClipping boundaries will render inline.");
33
- return DISABLED_RUNTIME;
34
11
  }
35
- return resolvedHandoff ? resolvedEscapeClipping ? HANDOFF_ESCAPE_CLIPPING_RUNTIME : HANDOFF_RUNTIME : ESCAPE_CLIPPING_RUNTIME;
12
+ return {
13
+ handoff: isTeleportAvailable && handoff,
14
+ escapeClipping: isTeleportAvailable && escapeClipping
15
+ };
36
16
  };
37
17
  //# sourceMappingURL=resolve-portal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["logger","isTeleportAvailable","DISABLED_RUNTIME","handoff","escapeClipping","HANDOFF_RUNTIME","ESCAPE_CLIPPING_RUNTIME","HANDOFF_ESCAPE_CLIPPING_RUNTIME","resolveBoundaryPortal","resolvedHandoff","resolvedEscapeClipping","enabled","warnOnce"],"sourceRoot":"../../../../../../src","sources":["components/boundary/portal/utils/resolve-portal.ts"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,0BAA0B;AACjD,SAASC,mBAAmB,QAAQ,aAAa;AAYjD,MAAMC,gBAAuC,GAAG;EAC/CC,OAAO,EAAE,KAAK;EACdC,cAAc,EAAE;AACjB,CAAC;AACD,MAAMC,eAAsC,GAAG;EAC9CF,OAAO,EAAE,IAAI;EACbC,cAAc,EAAE;AACjB,CAAC;AACD,MAAME,uBAA8C,GAAG;EACtDH,OAAO,EAAE,KAAK;EACdC,cAAc,EAAE;AACjB,CAAC;AACD,MAAMG,+BAAsD,GAAG;EAC9DJ,OAAO,EAAE,IAAI;EACbC,cAAc,EAAE;AACjB,CAAC;AAED,OAAO,MAAMI,qBAAqB,GAAGA,CAAC;EACrCL,OAAO;EACPC;AAC4B,CAAC,KAA4B;EACzD,MAAMK,eAAe,GAAGN,OAAO,IAAI,KAAK;EACxC,MAAMO,sBAAsB,GAAGN,cAAc,IAAI,KAAK;EAEtD,MAAMO,OAAO,GAAGF,eAAe,IAAIC,sBAAsB;EAEzD,IAAI,CAACC,OAAO,EAAE;IACb,OAAOT,gBAAgB;EACxB;EAEA,IAAI,CAACD,mBAAmB,EAAE;IACzBD,MAAM,CAACY,QAAQ,CACd,2BAA2B,EAC3B,mGACD,CAAC;IAED,OAAOV,gBAAgB;EACxB;EAEA,OAAOO,eAAe,GACnBC,sBAAsB,GACrBH,+BAA+B,GAC/BF,eAAe,GAChBC,uBAAuB;AAC3B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["logger","isTeleportAvailable","resolveBoundaryPortal","handoff","escapeClipping","warnOnce"],"sourceRoot":"../../../../../../src","sources":["components/boundary/portal/utils/resolve-portal.ts"],"mappings":";;AACA,SAASA,MAAM,QAAQ,0BAA0B;AACjD,SAASC,mBAAmB,QAAQ,aAAa;AAEjD,OAAO,MAAMC,qBAAqB,GAAGA,CAAC;EACrCC,OAAO,GAAG,KAAK;EACfC,cAAc,GAAG;AACI,CAAC,KAAK;EAC3B,IAAI,CAACH,mBAAmB,KAAKE,OAAO,IAAIC,cAAc,CAAC,EAAE;IACxDJ,MAAM,CAACK,QAAQ,CACd,2BAA2B,EAC3B,mGACD,CAAC;EACF;EACA,OAAO;IACNF,OAAO,EAAEF,mBAAmB,IAAIE,OAAO;IACvCC,cAAc,EAAEH,mBAAmB,IAAIG;EACxC,CAAC;AACF,CAAC","ignoreList":[]}
@@ -3,12 +3,13 @@
3
3
  import { useImperativeHandle, useLayoutEffect, useMemo, useRef } from "react";
4
4
  import { useAnimatedRef, useSharedValue } from "react-native-reanimated";
5
5
  import { useBuilderStore } from "../../../providers/screen/builder";
6
- import { useComposedSlotStyles, useSlotStackingStyles } from "../../../providers/screen/orchestrator/styles";
7
6
  import { useBlankStackStore } from "../../../providers/stack/blank-stack.provider";
8
7
  import { createBoundTag } from "../../../stores/bounds/helpers/link-pairs.helpers";
9
8
  import createProvider from "../../../utils/create-provider";
10
9
  import { logger } from "../../../utils/logger";
11
10
  import { BoundaryLifecycle } from "../components/boundary-lifecycle";
11
+ import { useBoundaryPresentation } from "../hooks/use-boundary-presentation";
12
+ import { useComposedBoundaryStyle } from "../hooks/use-composed-boundary-style";
12
13
  import { resolveBoundaryPortal } from "../portal/utils/resolve-portal";
13
14
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  // logger.warn prepends the library prefix.
@@ -33,10 +34,10 @@ export const {
33
34
  targetStyle
34
35
  }) => {
35
36
  const requestedBoundTag = useMemo(() => createBoundTag(String(id), group), [id, group]);
36
- const portalRuntime = resolveBoundaryPortal({
37
+ const portalRuntime = useMemo(() => resolveBoundaryPortal({
37
38
  handoff,
38
39
  escapeClipping
39
- });
40
+ }), [handoff, escapeClipping]);
40
41
  const currentScreenKey = useBuilderStore(s => s.derivations.currentScreenKey);
41
42
  const isCurrentScreenClosing = useBlankStackStore(store => portalRuntime.handoff && store.scenesByKey[currentScreenKey]?.activity === "closing");
42
43
  const retainedBoundTagRef = useRef(requestedBoundTag);
@@ -53,8 +54,11 @@ export const {
53
54
  // independent of whether an interpolator is configured for this transition.
54
55
  const shouldAttachAssociatedStyles = enabled;
55
56
  const shouldEscapeBoundaryRootToScreenHost = portalRuntime.escapeClipping;
56
- const associatedStyles = useComposedSlotStyles(boundTag.tag, style);
57
- const associatedStackingStyles = useSlotStackingStyles(boundTag.tag);
57
+ const {
58
+ presentation: boundaryPresentation,
59
+ slotsMap
60
+ } = useBoundaryPresentation(boundTag.tag, enabled && (portalRuntime.handoff || portalRuntime.escapeClipping));
61
+ const associatedStyles = useComposedBoundaryStyle(slotsMap, boundTag.tag, style, hasTarget ? "stacking" : "full");
58
62
  const rootRef = useAnimatedRef();
59
63
  const measurementRef = useAnimatedRef();
60
64
  const localMeasurement = useSharedValue(null);
@@ -74,8 +78,10 @@ export const {
74
78
  // Host-only handoff receivers still need the associated style: their
75
79
  // handoff host is absolute-filled inside this root, so the root is the
76
80
  // visual frame that animates the received payload.
77
- const attachedStyle = shouldAttachAssociatedStyles ? hasTarget ? associatedStackingStyles : shouldRenderBoundaryRootThroughPortal ? undefined : associatedStyles : undefined;
81
+ const attachedStyle = shouldAttachAssociatedStyles && (hasTarget || !shouldRenderBoundaryRootThroughPortal) ? associatedStyles : undefined;
78
82
  const value = useMemo(() => ({
83
+ boundaryPresentation,
84
+ slotsMap,
79
85
  attachedStyle,
80
86
  boundTag,
81
87
  currentScreenKey,
@@ -86,7 +92,7 @@ export const {
86
92
  ref: rootRef,
87
93
  shouldRenderBoundaryRootThroughPortal,
88
94
  shouldRenderHandoffHost: handoffEnabled && !hasTarget
89
- }), [attachedStyle, boundTag, currentScreenKey, handoffEnabled, hasTarget, localMeasurement, measurementRef, portalRuntime, rootRef, shouldRenderBoundaryRootThroughPortal]);
95
+ }), [boundaryPresentation, slotsMap, attachedStyle, boundTag, currentScreenKey, handoffEnabled, hasTarget, localMeasurement, measurementRef, portalRuntime, rootRef, shouldRenderBoundaryRootThroughPortal]);
90
96
  return {
91
97
  value,
92
98
  children: /*#__PURE__*/_jsxs(_Fragment, {
@@ -1 +1 @@
1
- {"version":3,"names":["useImperativeHandle","useLayoutEffect","useMemo","useRef","useAnimatedRef","useSharedValue","useBuilderStore","useComposedSlotStyles","useSlotStackingStyles","useBlankStackStore","createBoundTag","createProvider","logger","BoundaryLifecycle","resolveBoundaryPortal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MULTIPLE_TARGETS_WARNING","TARGET_OUTSIDE_ROOT_WARNING","BoundaryRootProvider","useBoundaryRootStore","useOptionalBoundaryRootStore","children","config","enabled","escapeClipping","forwardedRef","group","handoff","hasTarget","id","style","targetCount","targetStyle","requestedBoundTag","String","portalRuntime","currentScreenKey","s","derivations","isCurrentScreenClosing","store","scenesByKey","activity","retainedBoundTagRef","shouldRetainClosingBoundTag","current","boundTag","shouldAttachAssociatedStyles","shouldEscapeBoundaryRootToScreenHost","associatedStyles","tag","associatedStackingStyles","rootRef","measurementRef","localMeasurement","__DEV__","warnOnce","measuredRef","shouldRenderBoundaryRootThroughPortal","handoffEnabled","attachedStyle","undefined","value","ref","shouldRenderHandoffHost"],"sourceRoot":"../../../../../src","sources":["components/boundary/providers/boundary-root.provider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useImperativeHandle","useLayoutEffect","useMemo","useRef","useAnimatedRef","useSharedValue","useBuilderStore","useBlankStackStore","createBoundTag","createProvider","logger","BoundaryLifecycle","useBoundaryPresentation","useComposedBoundaryStyle","resolveBoundaryPortal","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","MULTIPLE_TARGETS_WARNING","TARGET_OUTSIDE_ROOT_WARNING","BoundaryRootProvider","useBoundaryRootStore","useOptionalBoundaryRootStore","children","config","enabled","escapeClipping","forwardedRef","group","handoff","hasTarget","id","style","targetCount","targetStyle","requestedBoundTag","String","portalRuntime","currentScreenKey","s","derivations","isCurrentScreenClosing","store","scenesByKey","activity","retainedBoundTagRef","shouldRetainClosingBoundTag","current","boundTag","shouldAttachAssociatedStyles","shouldEscapeBoundaryRootToScreenHost","presentation","boundaryPresentation","slotsMap","tag","associatedStyles","rootRef","measurementRef","localMeasurement","__DEV__","warnOnce","measuredRef","shouldRenderBoundaryRootThroughPortal","handoffEnabled","attachedStyle","undefined","value","ref","shouldRenderHandoffHost"],"sourceRoot":"../../../../../src","sources":["components/boundary/providers/boundary-root.provider.tsx"],"mappings":";;AAAA,SAGCA,mBAAmB,EACnBC,eAAe,EACfC,OAAO,EACPC,MAAM,QACA,OAAO;AAGd,SAASC,cAAc,EAAEC,cAAc,QAAQ,yBAAyB;AACxE,SAASC,eAAe,QAAQ,mCAAmC;AACnE,SAASC,kBAAkB,QAAQ,+CAA+C;AAClF,SAASC,cAAc,QAAQ,mDAAmD;AAElF,OAAOC,cAAc,MAAM,gCAAgC;AAC3D,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,iBAAiB,QAAQ,kCAAkC;AACpE,SAASC,uBAAuB,QAAQ,oCAAoC;AAC5E,SAASC,wBAAwB,QAAQ,sCAAsC;AAC/E,SAASC,qBAAqB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAWvE;AACA,MAAMC,wBAAwB,GAC7B,kIAAkI;AAEnI,OAAO,MAAMC,2BAA2B,GACvC,gHAAgH;AAiCjH,OAAO,MAAM;EACZC,oBAAoB;EACpBC,oBAAoB;EACpBC;AACD,CAAC,GAAGhB,cAAc,CAAC,cAAc,CAAC,CAIjC,CAAC;EACAiB,QAAQ;EACRC,MAAM;EACNC,OAAO,GAAG,IAAI;EACdC,cAAc;EACdC,YAAY;EACZC,KAAK;EACLC,OAAO;EACPC,SAAS;EACTC,EAAE;EACFC,KAAK;EACLC,WAAW;EACXC;AACD,CAAC,KAAK;EACL,MAAMC,iBAAiB,GAAGpC,OAAO,CAChC,MAAMM,cAAc,CAAC+B,MAAM,CAACL,EAAE,CAAC,EAAEH,KAAK,CAAC,EACvC,CAACG,EAAE,EAAEH,KAAK,CACX,CAAC;EACD,MAAMS,aAAa,GAAGtC,OAAO,CAC5B,MAAMY,qBAAqB,CAAC;IAAEkB,OAAO;IAAEH;EAAe,CAAC,CAAC,EACxD,CAACG,OAAO,EAAEH,cAAc,CACzB,CAAC;EAED,MAAMY,gBAAgB,GAAGnC,eAAe,CACtCoC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAACF,gBACtB,CAAC;EACD,MAAMG,sBAAsB,GAAGrC,kBAAkB,CAC/CsC,KAAK,IACLL,aAAa,CAACR,OAAO,IACrBa,KAAK,CAACC,WAAW,CAACL,gBAAgB,CAAC,EAAEM,QAAQ,KAAK,SACpD,CAAC;EACD,MAAMC,mBAAmB,GAAG7C,MAAM,CAACmC,iBAAiB,CAAC;EACrD,MAAMW,2BAA2B,GAChCT,aAAa,CAACR,OAAO,IAAIY,sBAAsB;;EAEhD;EACA;EACA;EACA,IAAI,CAACK,2BAA2B,EAAE;IACjCD,mBAAmB,CAACE,OAAO,GAAGZ,iBAAiB;EAChD;EAEA,MAAMa,QAAQ,GAAGH,mBAAmB,CAACE,OAAO;EAC5C;EACA;EACA,MAAME,4BAA4B,GAAGxB,OAAO;EAC5C,MAAMyB,oCAAoC,GAAGb,aAAa,CAACX,cAAc;EAEzE,MAAM;IAAEyB,YAAY,EAAEC,oBAAoB;IAAEC;EAAS,CAAC,GACrD5C,uBAAuB,CACtBuC,QAAQ,CAACM,GAAG,EACZ7B,OAAO,KAAKY,aAAa,CAACR,OAAO,IAAIQ,aAAa,CAACX,cAAc,CAClE,CAAC;EAEF,MAAM6B,gBAAgB,GAAG7C,wBAAwB,CAChD2C,QAAQ,EACRL,QAAQ,CAACM,GAAG,EACZtB,KAAK,EACLF,SAAS,GAAG,UAAU,GAAG,MAC1B,CAAC;EAED,MAAM0B,OAAO,GAAGvD,cAAc,CAAO,CAAC;EACtC,MAAMwD,cAAc,GAAGxD,cAAc,CAAO,CAAC;EAC7C,MAAMyD,gBAAgB,GAAGxD,cAAc,CACtC,IACD,CAAC;EAEDJ,eAAe,CAAC,MAAM;IACrB,IAAI6D,OAAO,IAAI1B,WAAW,GAAG,CAAC,EAAE;MAC/B1B,MAAM,CAACqD,QAAQ,CAAC,2BAA2B,EAAE1C,wBAAwB,CAAC;IACvE;EACD,CAAC,EAAE,CAACe,WAAW,CAAC,CAAC;EAEjB,MAAM4B,WAAW,GAChB/B,SAAS,IAAIoB,oCAAoC,GAC9CO,cAAc,GACdD,OAAO;EAEX3D,mBAAmB,CAAC8B,YAAY,EAAE,MAAM6B,OAAO,CAACT,OAAc,EAAE,CAACS,OAAO,CAAC,CAAC;EAE1E,MAAMM,qCAAqC,GAC1CZ,oCAAoC,IAAI,CAACpB,SAAS;EACnD,MAAMiC,cAAc,GAAGtC,OAAO,IAAIY,aAAa,CAACR,OAAO;EACvD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMmC,aAAa,GAClBf,4BAA4B,KAC3BnB,SAAS,IAAI,CAACgC,qCAAqC,CAAC,GAClDP,gBAAgB,GAChBU,SAAS;EAEb,MAAMC,KAAK,GAAGnE,OAAO,CACpB,OAAO;IACNqD,oBAAoB;IACpBC,QAAQ;IACRW,aAAa;IACbhB,QAAQ;IACRV,gBAAgB;IAChByB,cAAc;IACdL,gBAAgB;IAChBD,cAAc;IACdpB,aAAa;IACb8B,GAAG,EAAEX,OAAO;IACZM,qCAAqC;IACrCM,uBAAuB,EAAEL,cAAc,IAAI,CAACjC;EAC7C,CAAC,CAAC,EACF,CACCsB,oBAAoB,EACpBC,QAAQ,EACRW,aAAa,EACbhB,QAAQ,EACRV,gBAAgB,EAChByB,cAAc,EACdjC,SAAS,EACT4B,gBAAgB,EAChBD,cAAc,EACdpB,aAAa,EACbmB,OAAO,EACPM,qCAAqC,CAEvC,CAAC;EAED,OAAO;IACNI,KAAK;IACL3C,QAAQ,eACPN,KAAA,CAAAF,SAAA;MAAAQ,QAAA,GACEA,QAAQ,CAAC2C,KAAK,CAAC,eAChBrD,IAAA,CAACL,iBAAiB;QACjBwC,QAAQ,EAAEA,QAAS;QACnBxB,MAAM,EAAEA,MAAO;QACfc,gBAAgB,EAAEA,gBAAiB;QACnCb,OAAO,EAAEA,OAAQ;QACjBC,cAAc,EAAEW,aAAa,CAACX,cAAe;QAC7CG,OAAO,EAAEQ,aAAa,CAACR,OAAQ;QAC/B6B,gBAAgB,EAAEA,gBAAiB;QACnCG,WAAW,EAAEA,WAAY;QACzB7B,KAAK,EAAEF,SAAS,GAAGI,WAAW,GAAGF;MAAM,CACvC,CAAC;IAAA,CACD;EAEJ,CAAC;AACF,CACD,CAAC","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ import { useMemo } from "react";
4
+ import Animated from "react-native-reanimated";
5
+ import { usesLayerRenderProps } from "./uses-layer-render-props";
6
+
7
+ /** Adapts the two supported custom layer APIs without changing component identity. */
8
+ import { jsx as _jsx } from "react/jsx-runtime";
9
+ export function LayerComponent({
10
+ component,
11
+ styles,
12
+ props,
13
+ pointerEvents,
14
+ children,
15
+ collapsable
16
+ }) {
17
+ const renderProps = component && usesLayerRenderProps(component);
18
+ const Component = useMemo(() => {
19
+ if (!component) return Animated.View;
20
+ return usesLayerRenderProps(component) ? component : Animated.createAnimatedComponent(component);
21
+ }, [component]);
22
+ return /*#__PURE__*/_jsx(Component, {
23
+ ...(renderProps ? {
24
+ styles,
25
+ props
26
+ } : {
27
+ style: styles,
28
+ animatedProps: props
29
+ }),
30
+ pointerEvents: pointerEvents,
31
+ collapsable: collapsable,
32
+ children: children
33
+ });
34
+ }
35
+ //# sourceMappingURL=layer-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","Animated","usesLayerRenderProps","jsx","_jsx","LayerComponent","component","styles","props","pointerEvents","children","collapsable","renderProps","Component","View","createAnimatedComponent","style","animatedProps"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/helpers/layer-component.tsx"],"mappings":";;AAAA,SAA6CA,OAAO,QAAQ,OAAO;AAEnE,OAAOC,QAAQ,MAAM,yBAAyB;AAE9C,SAASC,oBAAoB,QAAQ,2BAA2B;;AAEhE;AAAA,SAAAC,GAAA,IAAAC,IAAA;AACA,OAAO,SAASC,cAAcA,CAAC;EAC9BC,SAAS;EACTC,MAAM;EACNC,KAAK;EACLC,aAAa;EACbC,QAAQ;EACRC;AAKD,CAAC,EAAE;EACF,MAAMC,WAAW,GAAGN,SAAS,IAAIJ,oBAAoB,CAACI,SAAS,CAAC;EAChE,MAAMO,SAAS,GAAGb,OAAO,CAAqB,MAAM;IACnD,IAAI,CAACM,SAAS,EAAE,OAAOL,QAAQ,CAACa,IAAI;IACpC,OAAOZ,oBAAoB,CAACI,SAAS,CAAC,GACnCA,SAAS,GACTL,QAAQ,CAACc,uBAAuB,CAACT,SAAS,CAAC;EAC/C,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EACf,oBACCF,IAAA,CAACS,SAAS;IAAA,IACJD,WAAW,GACb;MAAEL,MAAM;MAAEC;IAAM,CAAC,GACjB;MAAEQ,KAAK,EAAET,MAAM;MAAEU,aAAa,EAAET;IAAM,CAAC;IAC1CC,aAAa,EAAEA,aAAc;IAC7BE,WAAW,EAAEA,WAAY;IAAAD,QAAA,EAExBA;EAAQ,CACC,CAAC;AAEd","ignoreList":[]}
@@ -3,4 +3,4 @@
3
3
  export function usesLayerRenderProps(component) {
4
4
  return typeof component === "function" && !component.prototype?.isReactComponent;
5
5
  }
6
- //# sourceMappingURL=render-component.js.map
6
+ //# sourceMappingURL=uses-layer-render-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["usesLayerRenderProps","component","prototype","isReactComponent"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/helpers/uses-layer-render-props.ts"],"mappings":";;AAEA,OAAO,SAASA,oBAAoBA,CACnCC,SAA6B,EACyB;EACtD,OACC,OAAOA,SAAS,KAAK,UAAU,IAAI,CAACA,SAAS,CAACC,SAAS,EAAEC,gBAAgB;AAE3E","ignoreList":[]}
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { memo, useCallback, useMemo } from "react";
3
+ import { memo, useCallback } from "react";
4
4
  import { Pressable, StyleSheet } from "react-native";
5
- import Animated from "react-native-reanimated";
6
5
  import { scheduleOnRN, scheduleOnUI } from "react-native-worklets";
7
6
  import { DefaultSnapSpec } from "../../../../configs/specs";
8
7
  import { useBuilderStore } from "../../../../providers/screen/builder";
@@ -10,7 +9,7 @@ import { useMotionStore } from "../../../../providers/screen/motion";
10
9
  import { useSlotProps, useSlotStyles } from "../../../../providers/screen/orchestrator/styles";
11
10
  import { animateToProgress } from "../../../../utils/animation/animate-to-progress";
12
11
  import { findCollapseTarget } from "../helpers/find-collapse-target";
13
- import { usesLayerRenderProps } from "./render-component";
12
+ import { LayerComponent } from "../helpers/layer-component";
14
13
  import { jsx as _jsx } from "react/jsx-runtime";
15
14
  export const BackdropLayer = /*#__PURE__*/memo(function BackdropLayer({
16
15
  backdropBehavior,
@@ -28,7 +27,6 @@ export const BackdropLayer = /*#__PURE__*/memo(function BackdropLayer({
28
27
  animationProgress,
29
28
  resolvedAutoSnapPoint
30
29
  } = animations;
31
- const AnimatedBackdropComponent = useMemo(() => BackdropComponent && !usesLayerRenderProps(BackdropComponent) ? Animated.createAnimatedComponent(BackdropComponent) : null, [BackdropComponent]);
32
30
  const handleBackdropPress = useCallback(() => {
33
31
  if (backdropBehavior === "dismiss") {
34
32
  onDismissRequest?.();
@@ -87,16 +85,10 @@ export const BackdropLayer = /*#__PURE__*/memo(function BackdropLayer({
87
85
  style: StyleSheet.absoluteFill,
88
86
  pointerEvents: backdropBehavior === "passthrough" ? "none" : "auto",
89
87
  onPress: isBackdropActive ? handleBackdropPress : undefined,
90
- children: AnimatedBackdropComponent ? /*#__PURE__*/_jsx(AnimatedBackdropComponent, {
91
- style: backdropStyles,
92
- animatedProps: animatedBackdropProps,
93
- pointerEvents: backdropPointerEvents
94
- }) : BackdropComponent ? /*#__PURE__*/_jsx(BackdropComponent, {
88
+ children: /*#__PURE__*/_jsx(LayerComponent, {
89
+ component: BackdropComponent,
95
90
  styles: backdropStyles,
96
- props: backdropProps,
97
- pointerEvents: backdropPointerEvents
98
- }) : /*#__PURE__*/_jsx(Animated.View, {
99
- style: backdropStyles,
91
+ props: BackdropComponent ? backdropProps : undefined,
100
92
  pointerEvents: backdropPointerEvents
101
93
  })
102
94
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useCallback","useMemo","Pressable","StyleSheet","Animated","scheduleOnRN","scheduleOnUI","DefaultSnapSpec","useBuilderStore","useMotionStore","useSlotProps","useSlotStyles","animateToProgress","findCollapseTarget","usesLayerRenderProps","jsx","_jsx","BackdropLayer","backdropBehavior","isBackdropActive","onDismissRequest","BackdropComponent","store","options","backdropComponent","rawSnapPoints","snapPoints","isGestureDismissEnabled","gestureEnabled","canDismiss","transitionSpec","animations","state","targetProgress","animationProgress","resolvedAutoSnapPoint","AnimatedBackdropComponent","createAnimatedComponent","handleBackdropPress","length","gestures","resolvedSnaps","i","point","resolvedPoint","get","push","target","shouldDismiss","transitionProgress","dismissing","set","spec","open","expand","close","collapse","markEntering","animatedBackdropStyle","animatedBackdropProps","backdropPointerEvents","backdropStyles","absoluteFill","backdropProps","style","pointerEvents","onPress","undefined","children","animatedProps","styles","props","View"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","useCallback","Pressable","StyleSheet","scheduleOnRN","scheduleOnUI","DefaultSnapSpec","useBuilderStore","useMotionStore","useSlotProps","useSlotStyles","animateToProgress","findCollapseTarget","LayerComponent","jsx","_jsx","BackdropLayer","backdropBehavior","isBackdropActive","onDismissRequest","BackdropComponent","store","options","backdropComponent","rawSnapPoints","snapPoints","isGestureDismissEnabled","gestureEnabled","canDismiss","transitionSpec","animations","state","targetProgress","animationProgress","resolvedAutoSnapPoint","handleBackdropPress","length","gestures","resolvedSnaps","i","point","resolvedPoint","get","push","target","shouldDismiss","transitionProgress","dismissing","set","spec","open","expand","close","collapse","markEntering","animatedBackdropStyle","animatedBackdropProps","backdropPointerEvents","backdropStyles","absoluteFill","backdropProps","style","pointerEvents","onPress","undefined","children","component","styles","props"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/backdrop.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ import { memo, useCallback } from "react";
4
+ import { I18nManager, StyleSheet, View } from "react-native";
5
+ import Animated, { useAnimatedStyle, useDerivedValue, useSharedValue } from "react-native-reanimated";
6
+ import { useOrchestratorStore } from "../../../../providers/screen/orchestrator/orchestrator.provider";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ /** Stable layout host: changing the viewport must never resize the screen. */
9
+ export const Clip = /*#__PURE__*/memo(({
10
+ children,
11
+ pointerEvents
12
+ }) => {
13
+ const slotsMap = useOrchestratorStore(store => store.slotsMap);
14
+ const screenInterpolatorProps = useOrchestratorStore(store => store.screenInterpolatorProps);
15
+ const layout = useSharedValue(null);
16
+ const onLayout = useCallback(event => {
17
+ const {
18
+ width,
19
+ height
20
+ } = event.nativeEvent.layout;
21
+ layout.set({
22
+ width,
23
+ height
24
+ });
25
+ }, [layout]);
26
+ const clippingStyles = useDerivedValue(() => {
27
+ const clipStyle = slotsMap.get().clip?.style;
28
+ // Reset-only slots have no rectangle dimensions.
29
+ const clip = clipStyle?.width !== undefined && clipStyle.height !== undefined ? clipStyle : undefined;
30
+ // Keep content independent of the viewport, even before onLayout.
31
+ const contentLayout = layout.get() ?? screenInterpolatorProps.get().layouts.screen;
32
+ const x = clip?.x ?? 0;
33
+ const y = clip?.y ?? 0;
34
+ return {
35
+ viewport: {
36
+ width: clip ? clip.width : "100%",
37
+ height: clip ? clip.height : "100%",
38
+ overflow: clip ? "hidden" : "visible",
39
+ borderRadius: clip?.borderRadius,
40
+ borderTopLeftRadius: clip?.borderTopLeftRadius,
41
+ borderTopRightRadius: clip?.borderTopRightRadius,
42
+ borderBottomLeftRadius: clip?.borderBottomLeftRadius,
43
+ borderBottomRightRadius: clip?.borderBottomRightRadius,
44
+ borderTopStartRadius: clip?.borderTopStartRadius,
45
+ borderTopEndRadius: clip?.borderTopEndRadius,
46
+ borderBottomStartRadius: clip?.borderBottomStartRadius,
47
+ borderBottomEndRadius: clip?.borderBottomEndRadius,
48
+ borderStartStartRadius: clip?.borderStartStartRadius,
49
+ borderStartEndRadius: clip?.borderStartEndRadius,
50
+ borderEndStartRadius: clip?.borderEndStartRadius,
51
+ borderEndEndRadius: clip?.borderEndEndRadius,
52
+ borderCurve: clip?.borderCurve,
53
+ transform: [{
54
+ translateX: x
55
+ }, {
56
+ translateY: y
57
+ }]
58
+ },
59
+ content: {
60
+ width: contentLayout.width,
61
+ height: contentLayout.height,
62
+ transform: [{
63
+ translateX: -x
64
+ }, {
65
+ translateY: -y
66
+ }]
67
+ }
68
+ };
69
+ });
70
+ const viewportStyle = useAnimatedStyle(() => clippingStyles.get().viewport);
71
+ const innerStyle = useAnimatedStyle(() => clippingStyles.get().content);
72
+ return /*#__PURE__*/_jsx(View, {
73
+ style: styles.host,
74
+ onLayout: onLayout,
75
+ pointerEvents: pointerEvents,
76
+ collapsable: false,
77
+ children: /*#__PURE__*/_jsx(Animated.View, {
78
+ style: [styles.viewport, viewportStyle],
79
+ pointerEvents: pointerEvents,
80
+ collapsable: false,
81
+ children: /*#__PURE__*/_jsx(Animated.View, {
82
+ style: [styles.inner, innerStyle],
83
+ pointerEvents: pointerEvents,
84
+ collapsable: false,
85
+ children: children
86
+ })
87
+ })
88
+ });
89
+ });
90
+ const styles = StyleSheet.create({
91
+ host: {
92
+ flex: 1
93
+ },
94
+ // Pin to the physical left under both native layout directions.
95
+ viewport: {
96
+ position: "absolute",
97
+ top: 0,
98
+ ...(I18nManager.isRTL ? {
99
+ end: 0
100
+ } : {
101
+ left: 0
102
+ })
103
+ },
104
+ inner: {
105
+ ...(I18nManager.isRTL ? {
106
+ alignSelf: "flex-end"
107
+ } : {
108
+ alignSelf: "flex-start"
109
+ })
110
+ }
111
+ });
112
+ //# sourceMappingURL=clip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["memo","useCallback","I18nManager","StyleSheet","View","Animated","useAnimatedStyle","useDerivedValue","useSharedValue","useOrchestratorStore","jsx","_jsx","Clip","children","pointerEvents","slotsMap","store","screenInterpolatorProps","layout","onLayout","event","width","height","nativeEvent","set","clippingStyles","clipStyle","get","clip","style","undefined","contentLayout","layouts","screen","x","y","viewport","overflow","borderRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderTopStartRadius","borderTopEndRadius","borderBottomStartRadius","borderBottomEndRadius","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","borderCurve","transform","translateX","translateY","content","viewportStyle","innerStyle","styles","host","collapsable","inner","create","flex","position","top","isRTL","end","left","alignSelf"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/clip.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
 
3
- import { memo, useMemo } from "react";
3
+ import { memo } from "react";
4
4
  import { StyleSheet, View } from "react-native";
5
5
  import { GestureDetector } from "react-native-gesture-handler";
6
- import Animated from "react-native-reanimated";
7
6
  import { useBuilderStore } from "../../../../providers/screen/builder";
8
7
  import { useMotionStore } from "../../../../providers/screen/motion";
9
8
  import { useSlotProps, useSlotStyles } from "../../../../providers/screen/orchestrator/styles";
10
- import { ScreenFallbackHost } from "../../../boundary/portal/components/boundary-portal/components/host";
9
+ import { PortalOverlay } from "../../../boundary/portal/components/portal-overlay";
10
+ import { LayerComponent } from "../helpers/layer-component";
11
11
  import { useContentLayout } from "../hooks/use-content-layout";
12
- import { MaybeMaskedNavigationContainer } from "./maybe-masked-navigation-container";
13
- import { usesLayerRenderProps } from "./render-component";
12
+ import { Clip } from "./clip";
14
13
  import { SurfaceLayer } from "./surface";
15
14
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
15
  export const ContentLayer = /*#__PURE__*/memo(({
@@ -20,47 +19,33 @@ export const ContentLayer = /*#__PURE__*/memo(({
20
19
  }) => {
21
20
  const gestureContext = useMotionStore(store => store.gestures);
22
21
  const ContentComponent = useBuilderStore(store => store.options.contentComponent);
23
- const isNavigationMaskEnabled = useBuilderStore(store => !!store.options.navigationMaskEnabled);
24
22
  const hasAutoSnapPoint = useBuilderStore(store => store.options.snapPoints?.includes("auto") ?? false);
25
23
  const contentPointerEvents = isBackdropActive ? "box-none" : pointerEvents;
26
- const AnimatedContentComponent = useMemo(() => {
27
- return ContentComponent && !usesLayerRenderProps(ContentComponent) ? Animated.createAnimatedComponent(ContentComponent) : null;
28
- }, [ContentComponent]);
29
24
  const handleContentLayout = useContentLayout("content");
30
- const animatedContentStyle = useSlotStyles("content");
31
- const animatedContentProps = useSlotProps("content");
32
- const contentStyles = [styles.content, animatedContentStyle];
33
- const contentProps = animatedContentProps;
25
+ const contentStyle = useSlotStyles("content");
26
+ const contentProps = useSlotProps("content");
27
+ const contentStyles = [styles.content, contentStyle];
34
28
  const screenChildren = hasAutoSnapPoint ? /*#__PURE__*/_jsx(View, {
35
29
  collapsable: false,
36
30
  onLayout: handleContentLayout,
37
31
  children: children
38
32
  }) : children;
39
- const contentChildren = /*#__PURE__*/_jsxs(MaybeMaskedNavigationContainer, {
40
- pointerEvents: contentPointerEvents,
41
- enabled: isNavigationMaskEnabled,
42
- children: [/*#__PURE__*/_jsx(SurfaceLayer, {
43
- pointerEvents: contentPointerEvents,
44
- children: screenChildren
45
- }), /*#__PURE__*/_jsx(ScreenFallbackHost, {})]
46
- });
47
33
  return /*#__PURE__*/_jsx(GestureDetector, {
48
34
  gesture: gestureContext.detectorGesture,
49
- children: AnimatedContentComponent ? /*#__PURE__*/_jsx(AnimatedContentComponent, {
50
- style: contentStyles,
51
- animatedProps: animatedContentProps,
52
- pointerEvents: contentPointerEvents,
53
- children: contentChildren
54
- }) : ContentComponent ? /*#__PURE__*/_jsx(ContentComponent, {
35
+ children: /*#__PURE__*/_jsx(LayerComponent, {
36
+ component: ContentComponent,
55
37
  styles: contentStyles,
56
38
  props: contentProps,
57
39
  pointerEvents: contentPointerEvents,
58
- children: contentChildren
59
- }) : /*#__PURE__*/_jsx(Animated.View, {
60
- style: contentStyles,
61
- animatedProps: animatedContentProps,
62
- pointerEvents: contentPointerEvents,
63
- children: contentChildren
40
+ children: /*#__PURE__*/_jsxs(Clip, {
41
+ pointerEvents: contentPointerEvents,
42
+ children: [/*#__PURE__*/_jsx(SurfaceLayer, {
43
+ pointerEvents: contentPointerEvents,
44
+ children: screenChildren
45
+ }), /*#__PURE__*/_jsx(PortalOverlay, {
46
+ fallback: true
47
+ })]
48
+ })
64
49
  })
65
50
  });
66
51
  });
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","StyleSheet","View","GestureDetector","Animated","useBuilderStore","useMotionStore","useSlotProps","useSlotStyles","ScreenFallbackHost","useContentLayout","MaybeMaskedNavigationContainer","usesLayerRenderProps","SurfaceLayer","jsx","_jsx","jsxs","_jsxs","ContentLayer","children","pointerEvents","isBackdropActive","gestureContext","store","gestures","ContentComponent","options","contentComponent","isNavigationMaskEnabled","navigationMaskEnabled","hasAutoSnapPoint","snapPoints","includes","contentPointerEvents","AnimatedContentComponent","createAnimatedComponent","handleContentLayout","animatedContentStyle","animatedContentProps","contentStyles","styles","content","contentProps","screenChildren","collapsable","onLayout","contentChildren","enabled","gesture","detectorGesture","style","animatedProps","props","create","flex"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/content.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["memo","StyleSheet","View","GestureDetector","useBuilderStore","useMotionStore","useSlotProps","useSlotStyles","PortalOverlay","LayerComponent","useContentLayout","Clip","SurfaceLayer","jsx","_jsx","jsxs","_jsxs","ContentLayer","children","pointerEvents","isBackdropActive","gestureContext","store","gestures","ContentComponent","options","contentComponent","hasAutoSnapPoint","snapPoints","includes","contentPointerEvents","handleContentLayout","contentStyle","contentProps","contentStyles","styles","content","screenChildren","collapsable","onLayout","gesture","detectorGesture","component","props","fallback","create","flex"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/content.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SAASC,cAAc,QAAQ,qCAAqC;AACpE,SACCC,YAAY,EACZC,aAAa,QACP,kDAAkD;AACzD,SAASC,aAAa,QAAQ,oDAAoD;AAClF,SAASC,cAAc,QAAQ,4BAA4B;AAC3D,SAASC,gBAAgB,QAAQ,6BAA6B;AAC9D,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,YAAY,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQzC,OAAO,MAAMC,YAAY,gBAAGjB,IAAI,CAC/B,CAAC;EAAEkB,QAAQ;EAAEC,aAAa;EAAEC;AAAwB,CAAC,KAAK;EACzD,MAAMC,cAAc,GAAGhB,cAAc,CAAEiB,KAAK,IAAKA,KAAK,CAACC,QAAQ,CAAC;EAChE,MAAMC,gBAAgB,GAAGpB,eAAe,CACtCkB,KAAK,IAAKA,KAAK,CAACG,OAAO,CAACC,gBAC1B,CAAC;EACD,MAAMC,gBAAgB,GAAGvB,eAAe,CACtCkB,KAAK,IAAKA,KAAK,CAACG,OAAO,CAACG,UAAU,EAAEC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAC1D,CAAC;EACD,MAAMC,oBAAoB,GAAGV,gBAAgB,GAAG,UAAU,GAAGD,aAAa;EAE1E,MAAMY,mBAAmB,GAAGrB,gBAAgB,CAAC,SAAS,CAAC;EAEvD,MAAMsB,YAAY,GAAGzB,aAAa,CAAC,SAAS,CAAC;EAC7C,MAAM0B,YAAY,GAAG3B,YAAY,CAAC,SAAS,CAAC;EAE5C,MAAM4B,aAAa,GAAG,CAACC,MAAM,CAACC,OAAO,EAAEJ,YAAY,CAAC;EAEpD,MAAMK,cAAc,GAAGV,gBAAgB,gBACtCb,IAAA,CAACZ,IAAI;IAACoC,WAAW,EAAE,KAAM;IAACC,QAAQ,EAAER,mBAAoB;IAAAb,QAAA,EACtDA;EAAQ,CACJ,CAAC,GAEPA,QACA;EAED,oBACCJ,IAAA,CAACX,eAAe;IAACqC,OAAO,EAAEnB,cAAc,CAACoB,eAAgB;IAAAvB,QAAA,eACxDJ,IAAA,CAACL,cAAc;MACdiC,SAAS,EAAElB,gBAAiB;MAC5BW,MAAM,EAAED,aAAc;MACtBS,KAAK,EAAEV,YAAa;MACpBd,aAAa,EAAEW,oBAAqB;MAAAZ,QAAA,eAEpCF,KAAA,CAACL,IAAI;QAACQ,aAAa,EAAEW,oBAAqB;QAAAZ,QAAA,gBACzCJ,IAAA,CAACF,YAAY;UAACO,aAAa,EAAEW,oBAAqB;UAAAZ,QAAA,EAChDmB;QAAc,CACF,CAAC,eACfvB,IAAA,CAACN,aAAa;UAACoC,QAAQ;QAAA,CAAE,CAAC;MAAA,CACrB;IAAC,CACQ;EAAC,CACD,CAAC;AAEpB,CACD,CAAC;AAED,MAAMT,MAAM,GAAGlC,UAAU,CAAC4C,MAAM,CAAC;EAChCT,OAAO,EAAE;IACRU,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1,20 +1,16 @@
1
1
  "use strict";
2
2
 
3
- import { memo, useMemo } from "react";
3
+ import { memo } from "react";
4
4
  import { StyleSheet } from "react-native";
5
- import Animated from "react-native-reanimated";
6
5
  import { useBuilderStore } from "../../../../providers/screen/builder";
7
6
  import { useSlotProps, useSlotStyles } from "../../../../providers/screen/orchestrator/styles";
8
- import { usesLayerRenderProps } from "./render-component";
7
+ import { LayerComponent } from "../helpers/layer-component";
9
8
  import { jsx as _jsx } from "react/jsx-runtime";
10
9
  export const SurfaceLayer = /*#__PURE__*/memo(({
11
10
  children,
12
11
  pointerEvents
13
12
  }) => {
14
13
  const SurfaceComponent = useBuilderStore(store => store.options.surfaceComponent);
15
- const AnimatedSurfaceComponent = useMemo(() => {
16
- return SurfaceComponent && !usesLayerRenderProps(SurfaceComponent) ? Animated.createAnimatedComponent(SurfaceComponent) : null;
17
- }, [SurfaceComponent]);
18
14
  const animatedSurfaceStyle = useSlotStyles("surface");
19
15
  const animatedSurfaceProps = useSlotProps("surface");
20
16
  const surfaceStyles = [styles.surface, animatedSurfaceStyle];
@@ -22,15 +18,8 @@ export const SurfaceLayer = /*#__PURE__*/memo(({
22
18
  if (!SurfaceComponent) {
23
19
  return children;
24
20
  }
25
- if (AnimatedSurfaceComponent) {
26
- return /*#__PURE__*/_jsx(AnimatedSurfaceComponent, {
27
- style: surfaceStyles,
28
- animatedProps: animatedSurfaceProps,
29
- pointerEvents: pointerEvents,
30
- children: children
31
- });
32
- }
33
- return /*#__PURE__*/_jsx(SurfaceComponent, {
21
+ return /*#__PURE__*/_jsx(LayerComponent, {
22
+ component: SurfaceComponent,
34
23
  styles: surfaceStyles,
35
24
  props: surfaceProps,
36
25
  pointerEvents: pointerEvents,
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useMemo","StyleSheet","Animated","useBuilderStore","useSlotProps","useSlotStyles","usesLayerRenderProps","jsx","_jsx","SurfaceLayer","children","pointerEvents","SurfaceComponent","store","options","surfaceComponent","AnimatedSurfaceComponent","createAnimatedComponent","animatedSurfaceStyle","animatedSurfaceProps","surfaceStyles","styles","surface","surfaceProps","style","animatedProps","props","create","flex"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/surface.tsx"],"mappings":";;AAAA,SAA6BA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AACzD,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SACCC,YAAY,EACZC,aAAa,QACP,kDAAkD;AAEzD,SAASC,oBAAoB,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO1D,OAAO,MAAMC,YAAY,gBAAGV,IAAI,CAAC,CAAC;EAAEW,QAAQ;EAAEC;AAAqB,CAAC,KAAK;EACxE,MAAMC,gBAAgB,GAAGT,eAAe,CACtCU,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,gBAC1B,CAAC;EAED,MAAMC,wBAAwB,GAAGhB,OAAO,CAAC,MAAM;IAC9C,OAAOY,gBAAgB,IAAI,CAACN,oBAAoB,CAACM,gBAAgB,CAAC,GAC/DV,QAAQ,CAACe,uBAAuB,CAACL,gBAAsC,CAAC,GACxE,IAAI;EACR,CAAC,EAAE,CAACA,gBAAgB,CAAC,CAAC;EAEtB,MAAMM,oBAAoB,GAAGb,aAAa,CAAC,SAAS,CAAC;EACrD,MAAMc,oBAAoB,GAAGf,YAAY,CAAC,SAAS,CAAC;EACpD,MAAMgB,aAAa,GAAG,CACrBC,MAAM,CAACC,OAAO,EACdJ,oBAAoB,CACqB;EAC1C,MAAMK,YAAY,GACjBJ,oBAA4D;EAE7D,IAAI,CAACP,gBAAgB,EAAE;IACtB,OAAOF,QAAQ;EAChB;EAEA,IAAIM,wBAAwB,EAAE;IAC7B,oBACCR,IAAA,CAACQ,wBAAwB;MACxBQ,KAAK,EAAEJ,aAAc;MACrBK,aAAa,EAAEN,oBAAqB;MACpCR,aAAa,EAAEA,aAAc;MAAAD,QAAA,EAE5BA;IAAQ,CACgB,CAAC;EAE7B;EAEA,oBACCF,IAAA,CAACI,gBAAgB;IAChBS,MAAM,EAAED,aAAc;IACtBM,KAAK,EAAEH,YAAa;IACpBZ,aAAa,EAAEA,aAAc;IAAAD,QAAA,EAE5BA;EAAQ,CACQ,CAAC;AAErB,CAAC,CAAC;AAEF,MAAMW,MAAM,GAAGpB,UAAU,CAAC0B,MAAM,CAAC;EAChCL,OAAO,EAAE;IACRM,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["memo","StyleSheet","useBuilderStore","useSlotProps","useSlotStyles","LayerComponent","jsx","_jsx","SurfaceLayer","children","pointerEvents","SurfaceComponent","store","options","surfaceComponent","animatedSurfaceStyle","animatedSurfaceProps","surfaceStyles","styles","surface","surfaceProps","component","props","create","flex"],"sourceRoot":"../../../../../../src","sources":["components/screen/container/layers/surface.tsx"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,eAAe,QAAQ,sCAAsC;AACtE,SACCC,YAAY,EACZC,aAAa,QACP,kDAAkD;AAEzD,SAASC,cAAc,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO5D,OAAO,MAAMC,YAAY,gBAAGR,IAAI,CAAC,CAAC;EAAES,QAAQ;EAAEC;AAAqB,CAAC,KAAK;EACxE,MAAMC,gBAAgB,GAAGT,eAAe,CACtCU,KAAK,IAAKA,KAAK,CAACC,OAAO,CAACC,gBAC1B,CAAC;EAED,MAAMC,oBAAoB,GAAGX,aAAa,CAAC,SAAS,CAAC;EACrD,MAAMY,oBAAoB,GAAGb,YAAY,CAAC,SAAS,CAAC;EACpD,MAAMc,aAAa,GAAG,CACrBC,MAAM,CAACC,OAAO,EACdJ,oBAAoB,CACqB;EAC1C,MAAMK,YAAY,GACjBJ,oBAA4D;EAE7D,IAAI,CAACL,gBAAgB,EAAE;IACtB,OAAOF,QAAQ;EAChB;EAEA,oBACCF,IAAA,CAACF,cAAc;IACdgB,SAAS,EAAEV,gBAAiB;IAC5BO,MAAM,EAAED,aAAc;IACtBK,KAAK,EAAEF,YAAa;IACpBV,aAAa,EAAEA,aAAc;IAAAD,QAAA,EAE5BA;EAAQ,CACM,CAAC;AAEnB,CAAC,CAAC;AAEF,MAAMS,MAAM,GAAGjB,UAAU,CAACsB,MAAM,CAAC;EAChCJ,OAAO,EAAE;IACRK,IAAI,EAAE;EACP;AACD,CAAC,CAAC","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { useLayoutEffect } from "react";
3
+ import { useLayoutEffect, useRef } from "react";
4
4
  import { useAnimatedReaction } from "react-native-reanimated";
5
- import { scheduleOnRN } from "react-native-worklets";
5
+ import { scheduleOnRN, scheduleOnUI } from "react-native-worklets";
6
6
  import { AnimationProgress } from "../../../../constants";
7
7
  import useStableCallback from "../../../../hooks/use-stable-callback";
8
8
  import { useBuilderStore } from "../../../../providers/screen/builder";
@@ -27,6 +27,7 @@ function getInitialProgress({
27
27
  * Handles opening transition intent on mount.
28
28
  */
29
29
  export function useOpenTransitionIntent(current, animations, system, onComplete) {
30
+ const initialized = useRef(false);
30
31
  const isFirstKey = useBuilderStore(store => store.derivations.isFirstKey);
31
32
  const {
32
33
  requestLifecycleTransition
@@ -54,6 +55,20 @@ export function useOpenTransitionIntent(current, animations, system, onComplete)
54
55
 
55
56
  // biome-ignore lint/correctness/useExhaustiveDependencies: Must only run once on mount
56
57
  useLayoutEffect(() => {
58
+ // TODO: Find a cleaner way to handle effect setup and resumption across Activity pauses.
59
+ // Activity reconnects effects when a retained screen becomes visible again.
60
+ if (initialized.current) {
61
+ // Activity cleanup cancels shared-value animations; resume only unfinished opens.
62
+ scheduleOnUI(() => {
63
+ "worklet";
64
+
65
+ if (animations.entering.get() && !animations.closing.get() && !animations.progressSettled.get() && system.pendingLifecycleRequestKind.get() === LifecycleTransitionRequestKind.None) {
66
+ requestLifecycleTransition(LifecycleTransitionRequestKind.Open, system.targetProgress.get());
67
+ }
68
+ });
69
+ return;
70
+ }
71
+ initialized.current = true;
57
72
  const {
58
73
  snapPoints,
59
74
  initialSnapIndex = 0,
@@ -1 +1 @@
1
- {"version":3,"names":["useLayoutEffect","useAnimatedReaction","scheduleOnRN","AnimationProgress","useStableCallback","useBuilderStore","LifecycleTransitionRequestKind","getInitialProgress","snapPoints","initialSnapIndex","undefined","clampedIndex","Math","min","max","length","useOpenTransitionIntent","current","animations","system","onComplete","isFirstKey","store","derivations","requestLifecycleTransition","actions","completeOpen","animationProgress","closing","get","Visible","complete","previouslyComplete","experimental_animateOnInitialMount","options","initialProgress","targetProgress","set","transitionProgress","target","progressAnimating","entering","Open"],"sourceRoot":"../../../../../../src","sources":["components/screen/lifecycle/hooks/use-open-transition-intent.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useLayoutEffect","useRef","useAnimatedReaction","scheduleOnRN","scheduleOnUI","AnimationProgress","useStableCallback","useBuilderStore","LifecycleTransitionRequestKind","getInitialProgress","snapPoints","initialSnapIndex","undefined","clampedIndex","Math","min","max","length","useOpenTransitionIntent","current","animations","system","onComplete","initialized","isFirstKey","store","derivations","requestLifecycleTransition","actions","completeOpen","animationProgress","closing","get","Visible","complete","previouslyComplete","entering","progressSettled","pendingLifecycleRequestKind","None","Open","targetProgress","experimental_animateOnInitialMount","options","initialProgress","set","transitionProgress","target","progressAnimating"],"sourceRoot":"../../../../../../src","sources":["components/screen/lifecycle/hooks/use-open-transition-intent.ts"],"mappings":";;AAAA,SAASA,eAAe,EAAEC,MAAM,QAAQ,OAAO;AAC/C,SAASC,mBAAmB,QAAQ,yBAAyB;AAC7D,SAASC,YAAY,EAAEC,YAAY,QAAQ,uBAAuB;AAClE,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,OAAOC,iBAAiB,MAAM,uCAAuC;AACrE,SAECC,eAAe,QACT,sCAAsC;AAC7C,SACCC,8BAA8B,QAExB,iEAAiE;AAIxE;AACA;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAAC;EAC3BC,UAAU;EACVC;AAID,CAAC,EAAyB;EACzB,IAAI,CAACD,UAAU,EAAE;IAChB,OAAOE,SAAS;EACjB;EAEA,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAC5BD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEL,gBAAgB,CAAC,EAC7BD,UAAU,CAACO,MAAM,GAAG,CACrB,CAAC;EACD,OAAOP,UAAU,CAACG,YAAY,CAAC;AAChC;;AAEA;AACA;AACA;AACA,OAAO,SAASK,uBAAuBA,CACtCC,OAAuB,EACvBC,UAAiC,EACjCC,MAA8B,EAC9BC,UAAuB,EACtB;EACD,MAAMC,WAAW,GAAGtB,MAAM,CAAC,KAAK,CAAC;EACjC,MAAMuB,UAAU,GAAGjB,eAAe,CAAEkB,KAAK,IAAKA,KAAK,CAACC,WAAW,CAACF,UAAU,CAAC;EAC3E,MAAM;IAAEG;EAA2B,CAAC,GAAGN,MAAM,CAACO,OAAO;EACrD,MAAMC,YAAY,GAAGvB,iBAAiB,CAAC,MAAM;IAC5CgB,UAAU,GAAG,CAAC;EACf,CAAC,CAAC;EACF,MAAM;IAAEQ;EAAkB,CAAC,GAAGT,MAAM;EACpC,MAAM;IAAEU;EAAQ,CAAC,GAAGX,UAAU;EAE9BlB,mBAAmB,CAClB,MAAM;IACL,SAAS;;IACT,OACC,CAAC6B,OAAO,CAACC,GAAG,CAAC,CAAC,IAAIF,iBAAiB,CAACE,GAAG,CAAC,CAAC,KAAK3B,iBAAiB,CAAC4B,OAAO;EAEzE,CAAC,EACD,CAACC,QAAQ,EAAEC,kBAAkB,KAAK;IACjC,SAAS;;IACT,IAAID,QAAQ,IAAI,CAACC,kBAAkB,EAAE;MACpChC,YAAY,CAAC0B,YAAY,CAAC;IAC3B;EACD,CACD,CAAC;;EAED;EACA7B,eAAe,CAAC,MAAM;IACrB;IACA;IACA,IAAIuB,WAAW,CAACJ,OAAO,EAAE;MACxB;MACAf,YAAY,CAAC,MAAM;QAClB,SAAS;;QACT,IACCgB,UAAU,CAACgB,QAAQ,CAACJ,GAAG,CAAC,CAAC,IACzB,CAACZ,UAAU,CAACW,OAAO,CAACC,GAAG,CAAC,CAAC,IACzB,CAACZ,UAAU,CAACiB,eAAe,CAACL,GAAG,CAAC,CAAC,IACjCX,MAAM,CAACiB,2BAA2B,CAACN,GAAG,CAAC,CAAC,KACvCxB,8BAA8B,CAAC+B,IAAI,EACnC;UACDZ,0BAA0B,CACzBnB,8BAA8B,CAACgC,IAAI,EACnCnB,MAAM,CAACoB,cAAc,CAACT,GAAG,CAAC,CAC3B,CAAC;QACF;MACD,CAAC,CAAC;MACF;IACD;IACAT,WAAW,CAACJ,OAAO,GAAG,IAAI;IAE1B,MAAM;MACLT,UAAU;MACVC,gBAAgB,GAAG,CAAC;MACpB+B;IACD,CAAC,GAAGvB,OAAO,CAACwB,OAAO;IAEnB,MAAMC,eAAe,GAAGnC,kBAAkB,CAAC;MAC1CC,UAAU;MACVC;IACD,CAAC,CAAC;IAEF,IAAIa,UAAU,IAAI,CAACkB,kCAAkC,EAAE;MACtD,IAAI,OAAOE,eAAe,KAAK,QAAQ,EAAE;QACxCvB,MAAM,CAACoB,cAAc,CAACI,GAAG,CAAC,CAAC,CAAC;QAC5BzB,UAAU,CAAC0B,kBAAkB,CAACD,GAAG,CAAC,CAAC,CAAC;MACrC,CAAC,MAAM;QACN,MAAME,MAAM,GAAGH,eAAe,IAAIvC,iBAAiB,CAAC4B,OAAO;QAC3DZ,MAAM,CAACoB,cAAc,CAACI,GAAG,CAACE,MAAM,CAAC;QACjC3B,UAAU,CAAC0B,kBAAkB,CAACD,GAAG,CAACE,MAAM,CAAC;MAC1C;MACA3B,UAAU,CAAC4B,iBAAiB,CAACH,GAAG,CAAC,CAAC,CAAC;MACnCzB,UAAU,CAACW,OAAO,CAACc,GAAG,CAAC,CAAC,CAAC;MACzBzB,UAAU,CAACgB,QAAQ,CAACS,GAAG,CAAC,CAAC,CAAC;MAC1B;IACD;;IAEA;IACA;IACA,IAAI,OAAOD,eAAe,KAAK,QAAQ,EAAE;MACxC;IACD;IAEAxB,UAAU,CAACgB,QAAQ,CAACS,GAAG,CAAC,CAAC,CAAC;IAC1BlB,0BAA0B,CACzBnB,8BAA8B,CAACgC,IAAI,EACnCI,eAAe,IAAIvC,iBAAiB,CAAC4B,OACtC,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;AACP","ignoreList":[]}