react-native-screen-transitions 3.9.0-beta.1 → 3.9.0-beta.3

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 (479) hide show
  1. package/lib/commonjs/shared/adapters/with-screen-transitions/index.js +20 -4
  2. package/lib/commonjs/shared/adapters/with-screen-transitions/index.js.map +1 -1
  3. package/lib/commonjs/shared/animation/transition-blocking.js +71 -0
  4. package/lib/commonjs/shared/animation/transition-blocking.js.map +1 -0
  5. package/lib/commonjs/shared/components/boundary/components/boundary-target.js +33 -28
  6. package/lib/commonjs/shared/components/boundary/components/boundary-target.js.map +1 -1
  7. package/lib/commonjs/shared/components/boundary/create-boundary-component.js +30 -95
  8. package/lib/commonjs/shared/components/boundary/create-boundary-component.js.map +1 -1
  9. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +75 -51
  10. package/lib/commonjs/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  11. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js +1 -0
  12. package/lib/commonjs/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  13. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js +14 -2
  14. package/lib/commonjs/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  15. package/lib/commonjs/shared/components/boundary/hooks/use-register-target.js +32 -0
  16. package/lib/commonjs/shared/components/boundary/hooks/use-register-target.js.map +1 -0
  17. package/lib/commonjs/shared/components/boundary/index.js +1 -1
  18. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +41 -0
  19. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -0
  20. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +14 -0
  21. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +1 -0
  22. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +224 -0
  23. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -0
  24. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js +45 -0
  25. package/lib/commonjs/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -0
  26. package/lib/commonjs/shared/components/boundary/portal/components/{host.js → boundary-portal/components/host.js} +20 -18
  27. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -0
  28. package/lib/commonjs/shared/components/boundary/portal/components/{portal-boundary-host.js → boundary-portal/components/portal-boundary-host.js} +13 -12
  29. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -0
  30. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +51 -0
  31. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -0
  32. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +1 -0
  33. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +14 -0
  34. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +1 -0
  35. package/lib/commonjs/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.js +1 -1
  36. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -0
  37. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +185 -0
  38. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -0
  39. package/lib/commonjs/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.js +23 -5
  40. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -0
  41. package/lib/commonjs/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-placeholder-styles.js +3 -6
  42. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +1 -0
  43. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js +31 -0
  44. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -0
  45. package/lib/commonjs/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.js +1 -1
  46. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +1 -0
  47. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -0
  48. package/lib/commonjs/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.js +7 -12
  49. package/lib/commonjs/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -0
  50. package/lib/commonjs/shared/components/boundary/portal/index.js +1 -8
  51. package/lib/commonjs/shared/components/boundary/portal/index.js.map +1 -1
  52. package/lib/commonjs/shared/components/boundary/portal/teleport.js +4 -3
  53. package/lib/commonjs/shared/components/boundary/portal/teleport.js.map +1 -1
  54. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js +1 -15
  55. package/lib/commonjs/shared/components/boundary/portal/utils/naming.js.map +1 -1
  56. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js +19 -56
  57. package/lib/commonjs/shared/components/boundary/portal/utils/ownership.js.map +1 -1
  58. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js +90 -23
  59. package/lib/commonjs/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  60. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js +41 -12
  61. package/lib/commonjs/shared/components/boundary/utils/destination-signals.js.map +1 -1
  62. package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js +36 -1
  63. package/lib/commonjs/shared/components/boundary/utils/measured-bounds.js.map +1 -1
  64. package/lib/commonjs/shared/components/screen-container/layers/content.js +1 -1
  65. package/lib/commonjs/shared/configs/presets.js +2 -2
  66. package/lib/commonjs/shared/configs/presets.js.map +1 -1
  67. package/lib/commonjs/shared/constants.js +4 -0
  68. package/lib/commonjs/shared/constants.js.map +1 -1
  69. package/lib/commonjs/shared/index.js +13 -0
  70. package/lib/commonjs/shared/index.js.map +1 -1
  71. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -0
  72. package/lib/commonjs/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  73. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +10 -10
  74. package/lib/commonjs/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  75. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +10 -2
  76. package/lib/commonjs/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  77. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  78. package/lib/commonjs/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  79. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +25 -3
  80. package/lib/commonjs/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  81. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -6
  82. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  83. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -2
  84. package/lib/commonjs/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  85. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +6 -1
  86. package/lib/commonjs/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  87. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js +2 -0
  88. package/lib/commonjs/shared/providers/screen/gestures/shared/snapshot.js.map +1 -1
  89. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js +2 -0
  90. package/lib/commonjs/shared/providers/screen/gestures/shared/values.js.map +1 -1
  91. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +13 -1
  92. package/lib/commonjs/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  93. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js +5 -3
  94. package/lib/commonjs/shared/providers/screen/styles/slot.provider.js.map +1 -1
  95. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js +1 -1
  96. package/lib/commonjs/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -1
  97. package/lib/commonjs/shared/stores/gesture.store.js +8 -0
  98. package/lib/commonjs/shared/stores/gesture.store.js.map +1 -1
  99. package/lib/commonjs/shared/stores/system.store.js +10 -2
  100. package/lib/commonjs/shared/stores/system.store.js.map +1 -1
  101. package/lib/commonjs/shared/utils/animation/animate-to-progress.js +24 -7
  102. package/lib/commonjs/shared/utils/animation/animate-to-progress.js.map +1 -1
  103. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js +15 -9
  104. package/lib/commonjs/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  105. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js +2 -2
  106. package/lib/commonjs/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  107. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js +2 -1
  108. package/lib/commonjs/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  109. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js +178 -315
  110. package/lib/commonjs/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  111. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js +12 -18
  112. package/lib/commonjs/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
  113. package/lib/commonjs/shared/utils/bounds/navigation/zoom/drag.js +196 -0
  114. package/lib/commonjs/shared/utils/bounds/navigation/zoom/drag.js.map +1 -0
  115. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js +94 -108
  116. package/lib/commonjs/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  117. package/lib/commonjs/shared/utils/bounds/navigation/zoom/mask.js +72 -0
  118. package/lib/commonjs/shared/utils/bounds/navigation/zoom/mask.js.map +1 -0
  119. package/lib/commonjs/shared/utils/bounds/navigation/zoom/targets.js +55 -0
  120. package/lib/commonjs/shared/utils/bounds/navigation/zoom/targets.js.map +1 -0
  121. package/lib/module/shared/adapters/with-screen-transitions/index.js +19 -5
  122. package/lib/module/shared/adapters/with-screen-transitions/index.js.map +1 -1
  123. package/lib/module/shared/animation/transition-blocking.js +66 -0
  124. package/lib/module/shared/animation/transition-blocking.js.map +1 -0
  125. package/lib/module/shared/components/boundary/components/boundary-target.js +35 -30
  126. package/lib/module/shared/components/boundary/components/boundary-target.js.map +1 -1
  127. package/lib/module/shared/components/boundary/create-boundary-component.js +32 -97
  128. package/lib/module/shared/components/boundary/create-boundary-component.js.map +1 -1
  129. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js +79 -55
  130. package/lib/module/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.js.map +1 -1
  131. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js +1 -0
  132. package/lib/module/shared/components/boundary/hooks/use-boundary-measurement.js.map +1 -1
  133. package/lib/module/shared/components/boundary/hooks/use-measurer.js +15 -3
  134. package/lib/module/shared/components/boundary/hooks/use-measurer.js.map +1 -1
  135. package/lib/module/shared/components/boundary/hooks/use-register-target.js +27 -0
  136. package/lib/module/shared/components/boundary/hooks/use-register-target.js.map +1 -0
  137. package/lib/module/shared/components/boundary/index.js +1 -1
  138. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js +36 -0
  139. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/components/host.js.map +1 -0
  140. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js +9 -0
  141. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.js.map +1 -0
  142. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +219 -0
  143. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -0
  144. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js +34 -0
  145. package/lib/module/shared/components/boundary/portal/components/boundary-content-portal/index.js.map +1 -0
  146. package/lib/module/shared/components/boundary/portal/components/{host.js → boundary-portal/components/host.js} +20 -18
  147. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/host.js.map +1 -0
  148. package/lib/module/shared/components/boundary/portal/components/{portal-boundary-host.js → boundary-portal/components/portal-boundary-host.js} +13 -12
  149. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.js.map +1 -0
  150. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js +46 -0
  151. package/lib/module/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.js.map +1 -0
  152. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.js.map +1 -0
  153. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js +9 -0
  154. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.js.map +1 -0
  155. package/lib/module/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.js +1 -1
  156. package/lib/module/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.js.map +1 -0
  157. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +180 -0
  158. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -0
  159. package/lib/module/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.js +23 -5
  160. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.js.map +1 -0
  161. package/lib/module/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-placeholder-styles.js +3 -6
  162. package/lib/module/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.js.map +1 -0
  163. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js +27 -0
  164. package/lib/module/shared/components/boundary/portal/components/boundary-portal/index.js.map +1 -0
  165. package/lib/module/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.js +1 -1
  166. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.js.map +1 -0
  167. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/host-registry.store.js.map +1 -0
  168. package/lib/module/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.js +5 -10
  169. package/lib/module/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.js.map +1 -0
  170. package/lib/module/shared/components/boundary/portal/index.js +1 -2
  171. package/lib/module/shared/components/boundary/portal/index.js.map +1 -1
  172. package/lib/module/shared/components/boundary/portal/teleport.js +3 -2
  173. package/lib/module/shared/components/boundary/portal/teleport.js.map +1 -1
  174. package/lib/module/shared/components/boundary/portal/utils/naming.js +0 -12
  175. package/lib/module/shared/components/boundary/portal/utils/naming.js.map +1 -1
  176. package/lib/module/shared/components/boundary/portal/utils/ownership.js +16 -52
  177. package/lib/module/shared/components/boundary/portal/utils/ownership.js.map +1 -1
  178. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js +87 -20
  179. package/lib/module/shared/components/boundary/providers/boundary-root.provider.js.map +1 -1
  180. package/lib/module/shared/components/boundary/utils/destination-signals.js +39 -10
  181. package/lib/module/shared/components/boundary/utils/destination-signals.js.map +1 -1
  182. package/lib/module/shared/components/boundary/utils/measured-bounds.js +34 -0
  183. package/lib/module/shared/components/boundary/utils/measured-bounds.js.map +1 -1
  184. package/lib/module/shared/components/screen-container/layers/content.js +1 -1
  185. package/lib/module/shared/components/screen-container/layers/content.js.map +1 -1
  186. package/lib/module/shared/configs/presets.js +2 -2
  187. package/lib/module/shared/configs/presets.js.map +1 -1
  188. package/lib/module/shared/constants.js +4 -0
  189. package/lib/module/shared/constants.js.map +1 -1
  190. package/lib/module/shared/index.js +1 -0
  191. package/lib/module/shared/index.js.map +1 -1
  192. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js +4 -0
  193. package/lib/module/shared/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  194. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js +10 -10
  195. package/lib/module/shared/providers/screen/gestures/pan/activation/use-pan-activation.js.map +1 -1
  196. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js +10 -2
  197. package/lib/module/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.js.map +1 -1
  198. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js +1 -1
  199. package/lib/module/shared/providers/screen/gestures/pan/use-build-pan-gesture.js.map +1 -1
  200. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js +23 -2
  201. package/lib/module/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.js.map +1 -1
  202. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js +4 -6
  203. package/lib/module/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.js.map +1 -1
  204. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js +2 -2
  205. package/lib/module/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.js.map +1 -1
  206. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js +6 -1
  207. package/lib/module/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.js.map +1 -1
  208. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js +2 -0
  209. package/lib/module/shared/providers/screen/gestures/shared/snapshot.js.map +1 -1
  210. package/lib/module/shared/providers/screen/gestures/shared/values.js +2 -0
  211. package/lib/module/shared/providers/screen/gestures/shared/values.js.map +1 -1
  212. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js +13 -1
  213. package/lib/module/shared/providers/screen/styles/hooks/use-maybe-block-visibility.js.map +1 -1
  214. package/lib/module/shared/providers/screen/styles/slot.provider.js +5 -3
  215. package/lib/module/shared/providers/screen/styles/slot.provider.js.map +1 -1
  216. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js +1 -1
  217. package/lib/module/shared/providers/screen/styles/stores/slot-references.store.js.map +1 -1
  218. package/lib/module/shared/stores/gesture.store.js +8 -0
  219. package/lib/module/shared/stores/gesture.store.js.map +1 -1
  220. package/lib/module/shared/stores/system.store.js +10 -2
  221. package/lib/module/shared/stores/system.store.js.map +1 -1
  222. package/lib/module/shared/types/bounds.types.js +26 -0
  223. package/lib/module/shared/types/bounds.types.js.map +1 -1
  224. package/lib/module/shared/utils/animation/animate-to-progress.js +24 -7
  225. package/lib/module/shared/utils/animation/animate-to-progress.js.map +1 -1
  226. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js +15 -9
  227. package/lib/module/shared/utils/bounds/helpers/create-bounds-accessor-core.js.map +1 -1
  228. package/lib/module/shared/utils/bounds/navigation/reveal/build.js +2 -2
  229. package/lib/module/shared/utils/bounds/navigation/reveal/build.js.map +1 -1
  230. package/lib/module/shared/utils/bounds/navigation/reveal/math.js +2 -1
  231. package/lib/module/shared/utils/bounds/navigation/reveal/math.js.map +1 -1
  232. package/lib/module/shared/utils/bounds/navigation/zoom/build.js +182 -319
  233. package/lib/module/shared/utils/bounds/navigation/zoom/build.js.map +1 -1
  234. package/lib/module/shared/utils/bounds/navigation/zoom/config.js +11 -17
  235. package/lib/module/shared/utils/bounds/navigation/zoom/config.js.map +1 -1
  236. package/lib/module/shared/utils/bounds/navigation/zoom/drag.js +184 -0
  237. package/lib/module/shared/utils/bounds/navigation/zoom/drag.js.map +1 -0
  238. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js +91 -102
  239. package/lib/module/shared/utils/bounds/navigation/zoom/helpers.js.map +1 -1
  240. package/lib/module/shared/utils/bounds/navigation/zoom/mask.js +67 -0
  241. package/lib/module/shared/utils/bounds/navigation/zoom/mask.js.map +1 -0
  242. package/lib/module/shared/utils/bounds/navigation/zoom/targets.js +50 -0
  243. package/lib/module/shared/utils/bounds/navigation/zoom/targets.js.map +1 -0
  244. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts +4 -1
  245. package/lib/typescript/shared/adapters/with-screen-transitions/index.d.ts.map +1 -1
  246. package/lib/typescript/shared/animation/transition-blocking.d.ts +33 -0
  247. package/lib/typescript/shared/animation/transition-blocking.d.ts.map +1 -0
  248. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts +3 -1
  249. package/lib/typescript/shared/components/boundary/components/boundary-target.d.ts.map +1 -1
  250. package/lib/typescript/shared/components/boundary/create-boundary-component.d.ts.map +1 -1
  251. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts +2 -1
  252. package/lib/typescript/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.d.ts.map +1 -1
  253. package/lib/typescript/shared/components/boundary/hooks/use-boundary-measurement.d.ts.map +1 -1
  254. package/lib/typescript/shared/components/boundary/hooks/use-measurer.d.ts.map +1 -1
  255. package/lib/typescript/shared/components/boundary/hooks/use-register-target.d.ts +10 -0
  256. package/lib/typescript/shared/components/boundary/hooks/use-register-target.d.ts.map +1 -0
  257. package/lib/typescript/shared/components/boundary/index.d.ts +2 -2
  258. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/components/host.d.ts +10 -0
  259. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/components/host.d.ts.map +1 -0
  260. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts +2 -0
  261. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.d.ts.map +1 -0
  262. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts +12 -0
  263. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -0
  264. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts +9 -0
  265. package/lib/typescript/shared/components/boundary/portal/components/boundary-content-portal/index.d.ts.map +1 -0
  266. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/host.d.ts.map +1 -0
  267. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-boundary-host.d.ts.map +1 -0
  268. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts +13 -0
  269. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.d.ts.map +1 -0
  270. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts +3 -0
  271. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/has-local-slot.d.ts.map +1 -0
  272. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts +2 -0
  273. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.d.ts.map +1 -0
  274. package/lib/typescript/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.d.ts +1 -1
  275. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/helpers/offset-style.d.ts.map +1 -0
  276. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts +12 -0
  277. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -0
  278. package/lib/typescript/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.d.ts +5 -1
  279. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-host-measurement.d.ts.map +1 -0
  280. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts +12 -0
  281. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/hooks/use-placeholder-styles.d.ts.map +1 -0
  282. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts +12 -0
  283. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/index.d.ts.map +1 -0
  284. package/lib/typescript/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.d.ts +1 -1
  285. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-bounds.store.d.ts.map +1 -0
  286. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/host-registry.store.d.ts.map +1 -0
  287. package/lib/typescript/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.d.ts +3 -3
  288. package/lib/typescript/shared/components/boundary/portal/components/boundary-portal/stores/portal-boundary-host.store.d.ts.map +1 -0
  289. package/lib/typescript/shared/components/boundary/portal/index.d.ts +1 -2
  290. package/lib/typescript/shared/components/boundary/portal/index.d.ts.map +1 -1
  291. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts +1 -0
  292. package/lib/typescript/shared/components/boundary/portal/teleport.d.ts.map +1 -1
  293. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts +0 -2
  294. package/lib/typescript/shared/components/boundary/portal/utils/naming.d.ts.map +1 -1
  295. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts +9 -10
  296. package/lib/typescript/shared/components/boundary/portal/utils/ownership.d.ts.map +1 -1
  297. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts +22 -21
  298. package/lib/typescript/shared/components/boundary/providers/boundary-root.provider.d.ts.map +1 -1
  299. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts +9 -2
  300. package/lib/typescript/shared/components/boundary/utils/destination-signals.d.ts.map +1 -1
  301. package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts +8 -0
  302. package/lib/typescript/shared/components/boundary/utils/measured-bounds.d.ts.map +1 -1
  303. package/lib/typescript/shared/constants.d.ts.map +1 -1
  304. package/lib/typescript/shared/index.d.ts +2 -1
  305. package/lib/typescript/shared/index.d.ts.map +1 -1
  306. package/lib/typescript/shared/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  307. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts +2 -0
  308. package/lib/typescript/shared/providers/screen/gestures/pan/activation/use-pan-activation.d.ts.map +1 -1
  309. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts +2 -1
  310. package/lib/typescript/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.d.ts.map +1 -1
  311. package/lib/typescript/shared/providers/screen/gestures/pan/use-build-pan-gesture.d.ts.map +1 -1
  312. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts +2 -0
  313. package/lib/typescript/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.d.ts.map +1 -1
  314. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts +1 -1
  315. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.d.ts.map +1 -1
  316. package/lib/typescript/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.d.ts.map +1 -1
  317. package/lib/typescript/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.d.ts.map +1 -1
  318. package/lib/typescript/shared/providers/screen/gestures/shared/snapshot.d.ts.map +1 -1
  319. package/lib/typescript/shared/providers/screen/gestures/shared/values.d.ts.map +1 -1
  320. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts +5 -0
  321. package/lib/typescript/shared/providers/screen/styles/hooks/use-maybe-block-visibility.d.ts.map +1 -1
  322. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts +1 -0
  323. package/lib/typescript/shared/providers/screen/styles/slot.provider.d.ts.map +1 -1
  324. package/lib/typescript/shared/providers/screen/styles/stores/slot-references.store.d.ts.map +1 -1
  325. package/lib/typescript/shared/stores/gesture.store.d.ts +4 -0
  326. package/lib/typescript/shared/stores/gesture.store.d.ts.map +1 -1
  327. package/lib/typescript/shared/stores/system.store.d.ts.map +1 -1
  328. package/lib/typescript/shared/types/animation.types.d.ts +3 -3
  329. package/lib/typescript/shared/types/bounds.types.d.ts +122 -90
  330. package/lib/typescript/shared/types/bounds.types.d.ts.map +1 -1
  331. package/lib/typescript/shared/types/gesture.types.d.ts +10 -0
  332. package/lib/typescript/shared/types/gesture.types.d.ts.map +1 -1
  333. package/lib/typescript/shared/types/index.d.ts +1 -1
  334. package/lib/typescript/shared/types/index.d.ts.map +1 -1
  335. package/lib/typescript/shared/utils/animation/animate-to-progress.d.ts.map +1 -1
  336. package/lib/typescript/shared/utils/bounds/helpers/create-bounds-accessor-core.d.ts.map +1 -1
  337. package/lib/typescript/shared/utils/bounds/navigation/reveal/math.d.ts.map +1 -1
  338. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts +1 -1
  339. package/lib/typescript/shared/utils/bounds/navigation/zoom/build.d.ts.map +1 -1
  340. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts +7 -17
  341. package/lib/typescript/shared/utils/bounds/navigation/zoom/config.d.ts.map +1 -1
  342. package/lib/typescript/shared/utils/bounds/navigation/zoom/drag.d.ts +55 -0
  343. package/lib/typescript/shared/utils/bounds/navigation/zoom/drag.d.ts.map +1 -0
  344. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts +31 -34
  345. package/lib/typescript/shared/utils/bounds/navigation/zoom/helpers.d.ts.map +1 -1
  346. package/lib/typescript/shared/utils/bounds/navigation/zoom/mask.d.ts +25 -0
  347. package/lib/typescript/shared/utils/bounds/navigation/zoom/mask.d.ts.map +1 -0
  348. package/lib/typescript/shared/utils/bounds/navigation/zoom/targets.d.ts +16 -0
  349. package/lib/typescript/shared/utils/bounds/navigation/zoom/targets.d.ts.map +1 -0
  350. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts +1 -1
  351. package/lib/typescript/shared/utils/bounds/navigation/zoom/types.d.ts.map +1 -1
  352. package/lib/typescript/shared/utils/bounds/types/options.d.ts +6 -2
  353. package/lib/typescript/shared/utils/bounds/types/options.d.ts.map +1 -1
  354. package/package.json +1 -1
  355. package/src/shared/adapters/with-screen-transitions/index.tsx +30 -9
  356. package/src/shared/animation/transition-blocking.ts +79 -0
  357. package/src/shared/components/boundary/components/boundary-target.tsx +47 -43
  358. package/src/shared/components/boundary/create-boundary-component.tsx +35 -150
  359. package/src/shared/components/boundary/hooks/lifecycles/use-initial-destination-measurement.ts +106 -81
  360. package/src/shared/components/boundary/hooks/use-boundary-measurement.ts +1 -0
  361. package/src/shared/components/boundary/hooks/use-measurer.ts +12 -4
  362. package/src/shared/components/boundary/hooks/use-register-target.ts +43 -0
  363. package/src/shared/components/boundary/index.tsx +2 -2
  364. package/src/shared/components/boundary/portal/components/boundary-content-portal/components/host.tsx +52 -0
  365. package/src/shared/components/boundary/portal/components/boundary-content-portal/helpers/host-name.ts +9 -0
  366. package/src/shared/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +317 -0
  367. package/src/shared/components/boundary/portal/components/boundary-content-portal/index.tsx +62 -0
  368. package/src/shared/components/boundary/portal/components/{host.tsx → boundary-portal/components/host.tsx} +17 -17
  369. package/src/shared/components/boundary/portal/components/{portal-boundary-host.tsx → boundary-portal/components/portal-boundary-host.tsx} +14 -13
  370. package/src/shared/components/boundary/portal/components/boundary-portal/components/portal-slot.tsx +79 -0
  371. package/src/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/has-local-slot.ts +1 -1
  372. package/src/shared/components/boundary/portal/components/boundary-portal/helpers/host-name.ts +10 -0
  373. package/src/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/offset-style.ts +2 -2
  374. package/src/shared/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +254 -0
  375. package/src/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-host-measurement.ts +38 -8
  376. package/src/shared/components/boundary/portal/{hooks → components/boundary-portal/hooks}/use-placeholder-styles.ts +4 -15
  377. package/src/shared/components/boundary/portal/components/boundary-portal/index.tsx +35 -0
  378. package/src/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-bounds.store.ts +2 -2
  379. package/src/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/portal-boundary-host.store.ts +10 -15
  380. package/src/shared/components/boundary/portal/index.ts +1 -2
  381. package/src/shared/components/boundary/portal/teleport.ts +3 -2
  382. package/src/shared/components/boundary/portal/utils/naming.ts +0 -19
  383. package/src/shared/components/boundary/portal/utils/ownership.ts +32 -88
  384. package/src/shared/components/boundary/providers/boundary-root.provider.tsx +218 -78
  385. package/src/shared/components/boundary/utils/destination-signals.ts +38 -14
  386. package/src/shared/components/boundary/utils/measured-bounds.ts +48 -0
  387. package/src/shared/components/screen-container/layers/content.tsx +1 -1
  388. package/src/shared/configs/presets.ts +2 -2
  389. package/src/shared/constants.ts +4 -0
  390. package/src/shared/index.ts +6 -0
  391. package/src/shared/providers/screen/animation/helpers/hydrate-transition-state/index.ts +8 -0
  392. package/src/shared/providers/screen/gestures/pan/activation/use-pan-activation.ts +16 -7
  393. package/src/shared/providers/screen/gestures/pan/behavior/use-pan-behavior.ts +18 -1
  394. package/src/shared/providers/screen/gestures/pan/use-build-pan-gesture.ts +1 -0
  395. package/src/shared/providers/screen/gestures/pinch/activation/use-pinch-activation.ts +40 -2
  396. package/src/shared/providers/screen/gestures/pinch/behavior/pinch-lifecycle.ts +7 -11
  397. package/src/shared/providers/screen/gestures/pinch/behavior/use-pinch-behavior.ts +12 -15
  398. package/src/shared/providers/screen/gestures/scroll-coordination/use-scroll-gesture-coordination.ts +6 -1
  399. package/src/shared/providers/screen/gestures/shared/snapshot.ts +2 -0
  400. package/src/shared/providers/screen/gestures/shared/values.ts +2 -0
  401. package/src/shared/providers/screen/styles/hooks/use-maybe-block-visibility.tsx +15 -1
  402. package/src/shared/providers/screen/styles/slot.provider.tsx +4 -2
  403. package/src/shared/providers/screen/styles/stores/slot-references.store.ts +2 -1
  404. package/src/shared/stores/gesture.store.ts +12 -0
  405. package/src/shared/stores/system.store.ts +10 -4
  406. package/src/shared/types/animation.types.ts +3 -3
  407. package/src/shared/types/bounds.types.ts +128 -92
  408. package/src/shared/types/gesture.types.ts +10 -0
  409. package/src/shared/types/index.ts +2 -0
  410. package/src/shared/utils/animation/animate-to-progress.ts +23 -7
  411. package/src/shared/utils/bounds/helpers/create-bounds-accessor-core.ts +18 -11
  412. package/src/shared/utils/bounds/navigation/reveal/build.ts +2 -2
  413. package/src/shared/utils/bounds/navigation/reveal/math.ts +2 -1
  414. package/src/shared/utils/bounds/navigation/zoom/build.ts +224 -412
  415. package/src/shared/utils/bounds/navigation/zoom/config.ts +15 -18
  416. package/src/shared/utils/bounds/navigation/zoom/drag.ts +327 -0
  417. package/src/shared/utils/bounds/navigation/zoom/helpers.ts +122 -184
  418. package/src/shared/utils/bounds/navigation/zoom/mask.ts +130 -0
  419. package/src/shared/utils/bounds/navigation/zoom/targets.ts +74 -0
  420. package/src/shared/utils/bounds/navigation/zoom/types.ts +1 -1
  421. package/src/shared/utils/bounds/types/options.ts +9 -2
  422. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js +0 -58
  423. package/lib/commonjs/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +0 -1
  424. package/lib/commonjs/shared/components/boundary/portal/components/host.js.map +0 -1
  425. package/lib/commonjs/shared/components/boundary/portal/components/portal-boundary-host.js.map +0 -1
  426. package/lib/commonjs/shared/components/boundary/portal/components/portal.js +0 -272
  427. package/lib/commonjs/shared/components/boundary/portal/components/portal.js.map +0 -1
  428. package/lib/commonjs/shared/components/boundary/portal/hooks/use-host-measurement.js.map +0 -1
  429. package/lib/commonjs/shared/components/boundary/portal/hooks/use-placeholder-styles.js.map +0 -1
  430. package/lib/commonjs/shared/components/boundary/portal/stores/host-bounds.store.js.map +0 -1
  431. package/lib/commonjs/shared/components/boundary/portal/stores/host-registry.store.js.map +0 -1
  432. package/lib/commonjs/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +0 -1
  433. package/lib/commonjs/shared/components/boundary/portal/utils/has-local-slot.js.map +0 -1
  434. package/lib/commonjs/shared/components/boundary/portal/utils/offset-style.js.map +0 -1
  435. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js +0 -25
  436. package/lib/commonjs/shared/utils/bounds/navigation/zoom/math.js.map +0 -1
  437. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js +0 -53
  438. package/lib/module/shared/components/boundary/portal/components/boundary-local-portal-host.js.map +0 -1
  439. package/lib/module/shared/components/boundary/portal/components/host.js.map +0 -1
  440. package/lib/module/shared/components/boundary/portal/components/portal-boundary-host.js.map +0 -1
  441. package/lib/module/shared/components/boundary/portal/components/portal.js +0 -267
  442. package/lib/module/shared/components/boundary/portal/components/portal.js.map +0 -1
  443. package/lib/module/shared/components/boundary/portal/hooks/use-host-measurement.js.map +0 -1
  444. package/lib/module/shared/components/boundary/portal/hooks/use-placeholder-styles.js.map +0 -1
  445. package/lib/module/shared/components/boundary/portal/stores/host-bounds.store.js.map +0 -1
  446. package/lib/module/shared/components/boundary/portal/stores/host-registry.store.js.map +0 -1
  447. package/lib/module/shared/components/boundary/portal/stores/portal-boundary-host.store.js.map +0 -1
  448. package/lib/module/shared/components/boundary/portal/utils/has-local-slot.js.map +0 -1
  449. package/lib/module/shared/components/boundary/portal/utils/offset-style.js.map +0 -1
  450. package/lib/module/shared/utils/bounds/navigation/zoom/math.js +0 -20
  451. package/lib/module/shared/utils/bounds/navigation/zoom/math.js.map +0 -1
  452. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts +0 -8
  453. package/lib/typescript/shared/components/boundary/portal/components/boundary-local-portal-host.d.ts.map +0 -1
  454. package/lib/typescript/shared/components/boundary/portal/components/host.d.ts.map +0 -1
  455. package/lib/typescript/shared/components/boundary/portal/components/portal-boundary-host.d.ts.map +0 -1
  456. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts +0 -20
  457. package/lib/typescript/shared/components/boundary/portal/components/portal.d.ts.map +0 -1
  458. package/lib/typescript/shared/components/boundary/portal/hooks/use-host-measurement.d.ts.map +0 -1
  459. package/lib/typescript/shared/components/boundary/portal/hooks/use-placeholder-styles.d.ts +0 -17
  460. package/lib/typescript/shared/components/boundary/portal/hooks/use-placeholder-styles.d.ts.map +0 -1
  461. package/lib/typescript/shared/components/boundary/portal/stores/host-bounds.store.d.ts.map +0 -1
  462. package/lib/typescript/shared/components/boundary/portal/stores/host-registry.store.d.ts.map +0 -1
  463. package/lib/typescript/shared/components/boundary/portal/stores/portal-boundary-host.store.d.ts.map +0 -1
  464. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts +0 -3
  465. package/lib/typescript/shared/components/boundary/portal/utils/has-local-slot.d.ts.map +0 -1
  466. package/lib/typescript/shared/components/boundary/portal/utils/offset-style.d.ts.map +0 -1
  467. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts +0 -8
  468. package/lib/typescript/shared/utils/bounds/navigation/zoom/math.d.ts.map +0 -1
  469. package/src/shared/components/boundary/portal/components/boundary-local-portal-host.tsx +0 -66
  470. package/src/shared/components/boundary/portal/components/portal.tsx +0 -412
  471. package/src/shared/utils/bounds/navigation/zoom/math.ts +0 -25
  472. /package/lib/commonjs/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/has-local-slot.js +0 -0
  473. /package/lib/commonjs/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.js +0 -0
  474. /package/lib/module/shared/components/boundary/portal/{utils → components/boundary-portal/helpers}/has-local-slot.js +0 -0
  475. /package/lib/module/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.js +0 -0
  476. /package/lib/typescript/shared/components/boundary/portal/components/{host.d.ts → boundary-portal/components/host.d.ts} +0 -0
  477. /package/lib/typescript/shared/components/boundary/portal/components/{portal-boundary-host.d.ts → boundary-portal/components/portal-boundary-host.d.ts} +0 -0
  478. /package/lib/typescript/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.d.ts +0 -0
  479. /package/src/shared/components/boundary/portal/{stores → components/boundary-portal/stores}/host-registry.store.ts +0 -0
@@ -1,3 +0,0 @@
1
- import type { LocalStyleLayers } from "../../../../providers/screen/styles/helpers/resolve-slot-styles";
2
- export declare const hasLocalSlot: (localStylesMaps: LocalStyleLayers, slotId: string) => boolean;
3
- //# sourceMappingURL=has-local-slot.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has-local-slot.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/components/boundary/portal/utils/has-local-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iEAAiE,CAAC;AAExG,eAAO,MAAM,YAAY,GACxB,iBAAiB,gBAAgB,EACjC,QAAQ,MAAM,YAWd,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"offset-style.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/components/boundary/portal/utils/offset-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE1D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAG5E;;;;;;;;GAQG;AACH,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAAG,cAAc,CAAC;AAEnE,KAAK,8BAA8B,GAAG;IACrC,uEAAuE;IACvE,MAAM,EAAE,wBAAwB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,qBAAqB,CAAC;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GAAI,+CAKtC,8BAA8B,KAAG,UAyCnC,CAAC"}
@@ -1,8 +0,0 @@
1
- export declare const resolveDirectionalDragTranslation: ({ translation, dimension, negativeMax, positiveMax, exponent, }: {
2
- translation: number;
3
- dimension: number;
4
- negativeMax: number;
5
- positiveMax: number;
6
- exponent?: number;
7
- }) => number;
8
- //# sourceMappingURL=math.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"math.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/utils/bounds/navigation/zoom/math.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iCAAiC,GAAI,iEAM/C;IACF,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB,WAYA,CAAC"}
@@ -1,66 +0,0 @@
1
- import { memo, useCallback, useLayoutEffect } from "react";
2
- import { StyleSheet, View } from "react-native";
3
- import Animated from "react-native-reanimated";
4
- import { SystemStore } from "../../../../stores/system.store";
5
- import { NativePortalHost } from "../teleport";
6
- import { createBoundaryLocalPortalHostName } from "../utils/naming";
7
-
8
- const AnimatedPortalHost = NativePortalHost
9
- ? Animated.createAnimatedComponent(NativePortalHost)
10
- : null;
11
-
12
- type BoundaryLocalPortalHostProps = {
13
- boundaryId: string;
14
- enabled: boolean;
15
- screenKey: string;
16
- };
17
-
18
- export const BoundaryLocalPortalHost = memo(function BoundaryLocalPortalHost({
19
- boundaryId,
20
- enabled,
21
- screenKey,
22
- }: BoundaryLocalPortalHostProps) {
23
- const { drainLifecycleStartBlocks } = SystemStore.getBag(screenKey).actions;
24
- const handleLayout = useCallback(() => {
25
- drainLifecycleStartBlocks();
26
- }, [drainLifecycleStartBlocks]);
27
-
28
- useLayoutEffect(() => {
29
- if (!enabled || !AnimatedPortalHost) {
30
- return;
31
- }
32
-
33
- drainLifecycleStartBlocks();
34
- }, [enabled, drainLifecycleStartBlocks]);
35
-
36
- if (!enabled || !AnimatedPortalHost) {
37
- return null;
38
- }
39
-
40
- const portalHostName = createBoundaryLocalPortalHostName(
41
- screenKey,
42
- boundaryId,
43
- );
44
-
45
- return (
46
- <View
47
- pointerEvents="none"
48
- style={styles.hostWrapper}
49
- onLayout={handleLayout}
50
- collapsable={false}
51
- >
52
- <AnimatedPortalHost name={portalHostName} style={styles.host} />
53
- </View>
54
- );
55
- });
56
-
57
- const styles = StyleSheet.create({
58
- host: {
59
- ...StyleSheet.absoluteFillObject,
60
- overflow: "visible",
61
- },
62
- hostWrapper: {
63
- ...StyleSheet.absoluteFillObject,
64
- overflow: "visible",
65
- },
66
- });
@@ -1,412 +0,0 @@
1
- import {
2
- type ComponentProps,
3
- type ComponentType,
4
- memo,
5
- type ReactNode,
6
- useCallback,
7
- useLayoutEffect,
8
- useState,
9
- } from "react";
10
- import type { View } from "react-native";
11
- import Animated, {
12
- type AnimatedRef,
13
- runOnJS,
14
- runOnUI,
15
- useAnimatedProps,
16
- useAnimatedReaction,
17
- useSharedValue,
18
- } from "react-native-reanimated";
19
- import { EPSILON } from "../../../../constants";
20
- import { useDescriptorsStore } from "../../../../providers/screen/descriptors";
21
- import { useScreenSlots } from "../../../../providers/screen/styles";
22
- import { useRegisteredScreenSlots } from "../../../../providers/screen/styles/stores/slot-references.store";
23
- import { AnimationStore } from "../../../../stores/animation.store";
24
- import { pairs } from "../../../../stores/bounds/internals/state";
25
- import { logger } from "../../../../utils/logger";
26
- import { usePlaceholderStyles } from "../hooks/use-placeholder-styles";
27
- import { useActiveHostKey } from "../stores/host-registry.store";
28
- import {
29
- dropStalePortalBoundaryHosts,
30
- mountPortalBoundaryHost,
31
- unmountPortalBoundaryHost,
32
- } from "../stores/portal-boundary-host.store";
33
- import { isTeleportAvailable, NativePortal } from "../teleport";
34
- import {
35
- createBoundaryLocalPortalHostName,
36
- createPortalBoundaryHostName,
37
- PORTAL_HOST_NAME_RESET_VALUE,
38
- } from "../utils/naming";
39
- import {
40
- canSwitchBoundaryLocalHandoffImmediately,
41
- type PortalOwnershipSignal,
42
- resolveBoundaryPortalOwnership,
43
- } from "../utils/ownership";
44
- import { shallowEqual } from "../utils/shallow-equal";
45
- import { shouldAttachBoundaryPortal } from "../utils/teleport-control";
46
- import { resolveNextVisiblePortalHostName } from "../utils/visible-host";
47
-
48
- type NullableHostNamePortalProps = Omit<
49
- ComponentProps<NonNullable<typeof NativePortal>>,
50
- "hostName"
51
- > & {
52
- hostName?: string | null;
53
- };
54
-
55
- const AnimatedNativePortal = NativePortal
56
- ? Animated.createAnimatedComponent(
57
- NativePortal as ComponentType<NullableHostNamePortalProps>,
58
- )
59
- : null;
60
-
61
- interface PortalProps {
62
- id?: string;
63
- children: ReactNode;
64
- handoff?: boolean;
65
- escapeClipping?: boolean;
66
- /**
67
- * Ref to the layout-preserving placeholder wrapper. Boundaries measure
68
- * this instead of teleported content — the placeholder keeps the source
69
- * slot at home while the content may physically live in another screen's
70
- * host.
71
- */
72
- placeholderRef?: AnimatedRef<View>;
73
- placeholderChildren?: ReactNode;
74
- }
75
-
76
- export const Portal = memo(function Portal({
77
- id,
78
- children,
79
- handoff = false,
80
- escapeClipping = false,
81
- placeholderRef,
82
- placeholderChildren,
83
- }: PortalProps) {
84
- // Teleporting requires the optional `react-native-teleport` peer and a stable
85
- // `id` to name the boundary host. Missing either degrades to inline rendering
86
- // (the `return children` path below).
87
- const isPortalEnabled =
88
- (handoff || escapeClipping) && isTeleportAvailable && id !== undefined;
89
-
90
- if (__DEV__ && (handoff || escapeClipping) && id === undefined) {
91
- logger.warnOnce(
92
- "portal:missing-id",
93
- "A handoff or escapeClipping boundary was rendered without an id; rendering inline.",
94
- );
95
- }
96
- const boundaryId = id ?? "";
97
- const ownScreenSlots = useScreenSlots();
98
- const sourcePairKey = useDescriptorsStore((s) => s.derivations.sourcePairKey);
99
- const currentScreenKey = useDescriptorsStore(
100
- (s) => s.derivations.currentScreenKey,
101
- );
102
-
103
- const [ownership, setOwnership] = useState<Extract<
104
- PortalOwnershipSignal,
105
- { status: "complete" }
106
- > | null>(null);
107
-
108
- const styleOwnerScreenKey = ownership?.ownerScreenKey ?? currentScreenKey;
109
- const ownerScreenSlots = useRegisteredScreenSlots(styleOwnerScreenKey);
110
- const activeScreenSlots = ownerScreenSlots ?? ownScreenSlots;
111
- const {
112
- localStylesMaps: activeLocalStylesMaps,
113
- nextInterpolatorReady: activeNextInterpolatorReady,
114
- slotsMap: activeSlotsMap,
115
- } = activeScreenSlots;
116
- const requestedPortalHostName = useSharedValue<string | null>(null);
117
- const visiblePortalHostName = useSharedValue<string | null>(null);
118
- const canSwitchPortalHostImmediately = useSharedValue(0);
119
-
120
- const targetScreenKey = ownership ? ownership.hostScreenKey : null;
121
- const settledHostScreenKey = ownership?.hostScreenKey ?? null;
122
- const settledHostProgress = AnimationStore.getValue(
123
- settledHostScreenKey ?? currentScreenKey,
124
- "progressSettled",
125
- );
126
- const settledHostAnimating = AnimationStore.getValue(
127
- settledHostScreenKey ?? currentScreenKey,
128
- "progressAnimating",
129
- );
130
- const settledHostClosing = AnimationStore.getValue(
131
- settledHostScreenKey ?? currentScreenKey,
132
- "closing",
133
- );
134
- const settledHostVisualProgress = AnimationStore.getValue(
135
- settledHostScreenKey ?? currentScreenKey,
136
- "visualProgress",
137
- );
138
-
139
- const activeHostKey = useActiveHostKey(
140
- escapeClipping ? targetScreenKey : null,
141
- );
142
- const boundaryLocalHostName =
143
- handoff && !escapeClipping && targetScreenKey
144
- ? createBoundaryLocalPortalHostName(targetScreenKey, boundaryId)
145
- : null;
146
-
147
- const updatePortalOwnership = useCallback(
148
- (
149
- hostScreenKey: string | null,
150
- ownerPairKey?: string,
151
- ownerScreenKey?: string,
152
- ) => {
153
- if (hostScreenKey && ownerPairKey && ownerScreenKey) {
154
- setOwnership((current) => {
155
- if (
156
- current?.hostScreenKey === hostScreenKey &&
157
- current.ownerPairKey === ownerPairKey &&
158
- current.ownerScreenKey === ownerScreenKey
159
- ) {
160
- return current;
161
- }
162
-
163
- return {
164
- hostScreenKey,
165
- ownerPairKey,
166
- ownerScreenKey,
167
- status: "complete",
168
- };
169
- });
170
- return;
171
- }
172
-
173
- setOwnership((current) => (current ? null : current));
174
- },
175
- [],
176
- );
177
-
178
- useLayoutEffect(() => {
179
- if (!isPortalEnabled || !ownership || !targetScreenKey) {
180
- requestedPortalHostName.set(null);
181
- visiblePortalHostName.set(null);
182
- unmountPortalBoundaryHost(boundaryId);
183
- return;
184
- }
185
-
186
- if (boundaryLocalHostName) {
187
- requestedPortalHostName.set(boundaryLocalHostName);
188
- unmountPortalBoundaryHost(boundaryId);
189
- return;
190
- }
191
-
192
- if (!escapeClipping || !activeHostKey) {
193
- requestedPortalHostName.set(null);
194
- visiblePortalHostName.set(null);
195
- unmountPortalBoundaryHost(boundaryId);
196
- return;
197
- }
198
-
199
- const portalHostName = createPortalBoundaryHostName(
200
- activeHostKey,
201
- boundaryId,
202
- ownership.ownerPairKey,
203
- );
204
-
205
- mountPortalBoundaryHost({
206
- boundaryId,
207
- escapeClipping,
208
- hostKey: activeHostKey,
209
- localStylesMaps: activeLocalStylesMaps,
210
- pairKey: ownership.ownerPairKey,
211
- portalHostName,
212
- screenKey: targetScreenKey,
213
- slotsMap: activeSlotsMap,
214
- });
215
-
216
- // Request the new receiver immediately, but keep the currently visible
217
- // receiver until the new interpolator is ready. This avoids a no-host gap
218
- // during A -> B(closing) -> C(opening) spam retargets.
219
- requestedPortalHostName.set(portalHostName);
220
- }, [
221
- activeHostKey,
222
- boundaryId,
223
- escapeClipping,
224
- isPortalEnabled,
225
- activeLocalStylesMaps,
226
- activeSlotsMap,
227
- ownership,
228
- boundaryLocalHostName,
229
- requestedPortalHostName,
230
- targetScreenKey,
231
- visiblePortalHostName,
232
- ]);
233
-
234
- useLayoutEffect(() => {
235
- return () => {
236
- requestedPortalHostName.set(null);
237
- visiblePortalHostName.set(null);
238
- unmountPortalBoundaryHost(boundaryId);
239
- };
240
- }, [boundaryId, requestedPortalHostName, visiblePortalHostName]);
241
-
242
- useAnimatedReaction(
243
- () => {
244
- "worklet";
245
- if (!isPortalEnabled || !sourcePairKey) {
246
- return {
247
- hostScreenKey: null,
248
- ownerPairKey: sourcePairKey,
249
- ownerScreenKey: null,
250
- status: "clear",
251
- };
252
- }
253
-
254
- return resolveBoundaryPortalOwnership({
255
- boundaryId,
256
- currentScreenKey,
257
- escapeClipping,
258
- handoff,
259
- isSettledHostClosingComplete:
260
- !!settledHostClosing.get() &&
261
- settledHostVisualProgress.get() <= EPSILON,
262
- isSettledHostReady:
263
- settledHostProgress.get() === 1 && settledHostAnimating.get() === 0,
264
- pairsState: pairs.get(),
265
- settledHostScreenKey,
266
- sourcePairKey,
267
- });
268
- },
269
- (signal, previousSignal) => {
270
- "worklet";
271
- if (shallowEqual(previousSignal, signal)) {
272
- return;
273
- }
274
-
275
- if (!handoff || escapeClipping) {
276
- canSwitchPortalHostImmediately.set(0);
277
- } else if (signal.status === "pending") {
278
- canSwitchPortalHostImmediately.set(0);
279
- return;
280
- } else {
281
- const hostScreenKey =
282
- signal.status === "complete" ? signal.hostScreenKey : null;
283
- let previousOwnerPairKey: string | undefined;
284
-
285
- if (previousSignal?.status === "complete") {
286
- previousOwnerPairKey = previousSignal.ownerPairKey ?? undefined;
287
- }
288
- const canSwitchImmediately = canSwitchBoundaryLocalHandoffImmediately({
289
- hostScreenKey,
290
- ownerPairKey:
291
- signal.status === "complete" ? signal.ownerPairKey : undefined,
292
- previousOwnerPairKey,
293
- });
294
-
295
- canSwitchPortalHostImmediately.set(canSwitchImmediately ? 1 : 0);
296
-
297
- if (canSwitchImmediately && hostScreenKey) {
298
- const hostName = createBoundaryLocalPortalHostName(
299
- hostScreenKey,
300
- boundaryId,
301
- );
302
- requestedPortalHostName.set(hostName);
303
- visiblePortalHostName.set(hostName);
304
- }
305
- }
306
-
307
- runOnJS(updatePortalOwnership)(
308
- signal.hostScreenKey,
309
- signal.ownerPairKey,
310
- signal.ownerScreenKey ?? undefined,
311
- );
312
- },
313
- );
314
-
315
- useAnimatedReaction(
316
- () => {
317
- "worklet";
318
- const slot = activeSlotsMap.get()[boundaryId];
319
- const teleport = slot?.props?.teleport;
320
- const shouldTeleport = shouldAttachBoundaryPortal({
321
- enabled: isPortalEnabled,
322
- teleport,
323
- });
324
- const requestedName = requestedPortalHostName.get();
325
- const visibleName = visiblePortalHostName.get();
326
- const isInterpolatorReady = activeNextInterpolatorReady.get();
327
- const nextVisibleName = resolveNextVisiblePortalHostName({
328
- canSwitchImmediately: canSwitchPortalHostImmediately.get() === 1,
329
- isInterpolatorReady: isInterpolatorReady === 1,
330
- requestedName,
331
- shouldTeleport,
332
- visibleName,
333
- });
334
-
335
- return {
336
- isInterpolatorReady,
337
- nextVisibleName,
338
- requestedName,
339
- shouldTeleport,
340
- teleport,
341
- visibleName,
342
- };
343
- },
344
- (state, previousState) => {
345
- "worklet";
346
- if (shallowEqual(previousState, state)) {
347
- return;
348
- }
349
-
350
- if (state.nextVisibleName !== state.visibleName) {
351
- visiblePortalHostName.set(state.nextVisibleName);
352
- return;
353
- }
354
-
355
- // Visible receiver has caught up to the request: GC the superseded hosts.
356
- if (state.visibleName && state.visibleName === state.requestedName) {
357
- runOnJS(dropStalePortalBoundaryHosts)({
358
- boundaryId,
359
- keepPortalHostName: state.visibleName,
360
- });
361
- }
362
- },
363
- );
364
-
365
- const teleportProps = useAnimatedProps(() => {
366
- "worklet";
367
-
368
- const slot = activeSlotsMap.get()[boundaryId];
369
- const { teleport, ...slotProps } = slot?.props ?? {};
370
- const shouldTeleport = shouldAttachBoundaryPortal({
371
- enabled: isPortalEnabled,
372
- teleport,
373
- });
374
- const visibleName = visiblePortalHostName.get();
375
-
376
- return {
377
- // Preserve portal slot props from the interpolator while keeping
378
- // hostName owned by the attachment gate below. Handoff
379
- // waits until the receiving interpolator owns styles for the same host;
380
- // after that, it stays attached until teleport is disabled or retargeted.
381
- ...slotProps,
382
- hostName:
383
- shouldTeleport && visibleName
384
- ? visibleName
385
- : PORTAL_HOST_NAME_RESET_VALUE,
386
- };
387
- });
388
-
389
- const { handleOnLayout, placeholderStyle } = usePlaceholderStyles({
390
- visiblePortalHostName,
391
- });
392
-
393
- if (isPortalEnabled && AnimatedNativePortal) {
394
- return (
395
- <Animated.View
396
- ref={placeholderRef}
397
- onLayout={({ nativeEvent: { layout } }) =>
398
- runOnUI(handleOnLayout)(layout)
399
- }
400
- style={placeholderStyle}
401
- collapsable={false}
402
- >
403
- {placeholderChildren}
404
- <AnimatedNativePortal animatedProps={teleportProps} name={boundaryId}>
405
- {children}
406
- </AnimatedNativePortal>
407
- </Animated.View>
408
- );
409
- }
410
-
411
- return children;
412
- });
@@ -1,25 +0,0 @@
1
- export const resolveDirectionalDragTranslation = ({
2
- translation,
3
- dimension,
4
- negativeMax,
5
- positiveMax,
6
- exponent = 1,
7
- }: {
8
- translation: number;
9
- dimension: number;
10
- negativeMax: number;
11
- positiveMax: number;
12
- exponent?: number;
13
- }) => {
14
- "worklet";
15
-
16
- const baseDistance = Math.max(1, dimension);
17
- const clampedMagnitude = Math.min(1, Math.abs(translation) / baseDistance);
18
- const curvedMagnitude = clampedMagnitude ** Math.max(1, exponent);
19
-
20
- if (translation < 0) {
21
- return -baseDistance * negativeMax * curvedMagnitude;
22
- }
23
-
24
- return baseDistance * positiveMax * curvedMagnitude;
25
- };