react-native-screen-transitions 4.0.0-alpha.8 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/README.md +6 -11
  2. package/lib/commonjs/components/boundary/create-boundary-component.js +5 -1
  3. package/lib/commonjs/components/boundary/create-boundary-component.js.map +1 -1
  4. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +53 -1
  5. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  6. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +43 -8
  7. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  8. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -3
  9. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  10. package/lib/commonjs/components/boundary/portal/teleport.js +1 -13
  11. package/lib/commonjs/components/boundary/portal/teleport.js.map +1 -1
  12. package/lib/commonjs/components/boundary/utils/source-signals.js +6 -4
  13. package/lib/commonjs/components/boundary/utils/source-signals.js.map +1 -1
  14. package/lib/commonjs/components/overlay/helpers/get-active-overlay.js +3 -24
  15. package/lib/commonjs/components/overlay/helpers/get-active-overlay.js.map +1 -1
  16. package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js +4 -3
  17. package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -1
  18. package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js +1 -2
  19. package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  20. package/lib/commonjs/components/overlay/variations/float-overlay.js +0 -2
  21. package/lib/commonjs/components/overlay/variations/float-overlay.js.map +1 -1
  22. package/lib/commonjs/components/overlay/variations/overlay-host.js +18 -15
  23. package/lib/commonjs/components/overlay/variations/overlay-host.js.map +1 -1
  24. package/lib/commonjs/components/screen-container/layers/content.js +10 -5
  25. package/lib/commonjs/components/screen-container/layers/content.js.map +1 -1
  26. package/lib/commonjs/components/screen-container/layers/surface.js +50 -0
  27. package/lib/commonjs/components/screen-container/layers/surface.js.map +1 -0
  28. package/lib/commonjs/components/stack-view.js +7 -29
  29. package/lib/commonjs/components/stack-view.js.map +1 -1
  30. package/lib/commonjs/configs/index.js +1 -4
  31. package/lib/commonjs/configs/index.js.map +1 -1
  32. package/lib/commonjs/configs/presets.js +1 -384
  33. package/lib/commonjs/configs/presets.js.map +1 -1
  34. package/lib/commonjs/constants.js +2 -1
  35. package/lib/commonjs/constants.js.map +1 -1
  36. package/lib/commonjs/navigators/create-blank-stack-navigator.js +7 -67
  37. package/lib/commonjs/navigators/create-blank-stack-navigator.js.map +1 -1
  38. package/lib/commonjs/navigators/expo-router/index.js +1 -18
  39. package/lib/commonjs/navigators/expo-router/index.js.map +1 -1
  40. package/lib/commonjs/navigators/react-navigation/index.js +1 -3
  41. package/lib/commonjs/navigators/react-navigation/index.js.map +1 -1
  42. package/lib/commonjs/providers/screen/animation/animation.provider.js +6 -1
  43. package/lib/commonjs/providers/screen/animation/animation.provider.js.map +1 -1
  44. package/lib/commonjs/providers/screen/animation/helpers/build-screen-transition-options.js +1 -0
  45. package/lib/commonjs/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  46. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +20 -5
  47. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  48. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js +16 -1
  49. package/lib/commonjs/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  50. package/lib/commonjs/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  51. package/lib/commonjs/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  52. package/lib/commonjs/providers/screen/animation/use-screen-animation.js +1 -8
  53. package/lib/commonjs/providers/screen/animation/use-screen-animation.js.map +1 -1
  54. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-release.js +28 -6
  55. package/lib/commonjs/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  56. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js +26 -6
  57. package/lib/commonjs/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  58. package/lib/commonjs/providers/screen/gestures/shared/policy.js +1 -0
  59. package/lib/commonjs/providers/screen/gestures/shared/policy.js.map +1 -1
  60. package/lib/commonjs/providers/screen/gestures/shared/snap-points.js +71 -1
  61. package/lib/commonjs/providers/screen/gestures/shared/snap-points.js.map +1 -1
  62. package/lib/commonjs/providers/screen/options/helpers.js +8 -1
  63. package/lib/commonjs/providers/screen/options/helpers.js.map +1 -1
  64. package/lib/commonjs/providers/screen/styles/constants.js +4 -1
  65. package/lib/commonjs/providers/screen/styles/constants.js.map +1 -1
  66. package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.js +1 -9
  67. package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  68. package/lib/commonjs/providers/screen/styles/slot.provider.js +3 -1
  69. package/lib/commonjs/providers/screen/styles/slot.provider.js.map +1 -1
  70. package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +10 -4
  71. package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  72. package/lib/commonjs/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js +4 -3
  73. package/lib/commonjs/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
  74. package/lib/commonjs/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
  75. package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js +9 -2
  76. package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
  77. package/lib/commonjs/utils/create-provider.js +14 -3
  78. package/lib/commonjs/utils/create-provider.js.map +1 -1
  79. package/lib/module/components/boundary/create-boundary-component.js +6 -2
  80. package/lib/module/components/boundary/create-boundary-component.js.map +1 -1
  81. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +50 -0
  82. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  83. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -9
  84. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  85. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -3
  86. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  87. package/lib/module/components/boundary/portal/teleport.js +1 -14
  88. package/lib/module/components/boundary/portal/teleport.js.map +1 -1
  89. package/lib/module/components/boundary/utils/source-signals.js +6 -4
  90. package/lib/module/components/boundary/utils/source-signals.js.map +1 -1
  91. package/lib/module/components/overlay/helpers/get-active-overlay.js +3 -24
  92. package/lib/module/components/overlay/helpers/get-active-overlay.js.map +1 -1
  93. package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js +4 -3
  94. package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -1
  95. package/lib/module/components/overlay/hooks/use-overlay-slot.js +1 -2
  96. package/lib/module/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  97. package/lib/module/components/overlay/variations/float-overlay.js +0 -2
  98. package/lib/module/components/overlay/variations/float-overlay.js.map +1 -1
  99. package/lib/module/components/overlay/variations/overlay-host.js +19 -16
  100. package/lib/module/components/overlay/variations/overlay-host.js.map +1 -1
  101. package/lib/module/components/screen-container/layers/content.js +10 -5
  102. package/lib/module/components/screen-container/layers/content.js.map +1 -1
  103. package/lib/module/components/screen-container/layers/surface.js +45 -0
  104. package/lib/module/components/screen-container/layers/surface.js.map +1 -0
  105. package/lib/module/components/stack-view.js +7 -29
  106. package/lib/module/components/stack-view.js.map +1 -1
  107. package/lib/module/configs/index.js +2 -5
  108. package/lib/module/configs/index.js.map +1 -1
  109. package/lib/module/configs/presets.js +0 -380
  110. package/lib/module/configs/presets.js.map +1 -1
  111. package/lib/module/constants.js +1 -0
  112. package/lib/module/constants.js.map +1 -1
  113. package/lib/module/navigators/create-blank-stack-navigator.js +7 -66
  114. package/lib/module/navigators/create-blank-stack-navigator.js.map +1 -1
  115. package/lib/module/navigators/expo-router/index.js +1 -18
  116. package/lib/module/navigators/expo-router/index.js.map +1 -1
  117. package/lib/module/navigators/react-navigation/index.js +1 -3
  118. package/lib/module/navigators/react-navigation/index.js.map +1 -1
  119. package/lib/module/providers/screen/animation/animation.provider.js +4 -0
  120. package/lib/module/providers/screen/animation/animation.provider.js.map +1 -1
  121. package/lib/module/providers/screen/animation/helpers/build-screen-transition-options.js +1 -0
  122. package/lib/module/providers/screen/animation/helpers/build-screen-transition-options.js.map +1 -1
  123. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js +20 -5
  124. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.js.map +1 -1
  125. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js +16 -1
  126. package/lib/module/providers/screen/animation/helpers/hydrate-transition-state/index.js.map +1 -1
  127. package/lib/module/providers/screen/animation/helpers/selected-interpolator-options.js +1 -1
  128. package/lib/module/providers/screen/animation/helpers/selected-interpolator-options.js.map +1 -1
  129. package/lib/module/providers/screen/animation/use-screen-animation.js +2 -9
  130. package/lib/module/providers/screen/animation/use-screen-animation.js.map +1 -1
  131. package/lib/module/providers/screen/gestures/pan/behavior/pan-release.js +29 -7
  132. package/lib/module/providers/screen/gestures/pan/behavior/pan-release.js.map +1 -1
  133. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js +27 -7
  134. package/lib/module/providers/screen/gestures/pinch/behavior/pinch-release.js.map +1 -1
  135. package/lib/module/providers/screen/gestures/shared/policy.js +2 -1
  136. package/lib/module/providers/screen/gestures/shared/policy.js.map +1 -1
  137. package/lib/module/providers/screen/gestures/shared/snap-points.js +66 -0
  138. package/lib/module/providers/screen/gestures/shared/snap-points.js.map +1 -1
  139. package/lib/module/providers/screen/options/helpers.js +9 -2
  140. package/lib/module/providers/screen/options/helpers.js.map +1 -1
  141. package/lib/module/providers/screen/styles/constants.js +4 -1
  142. package/lib/module/providers/screen/styles/constants.js.map +1 -1
  143. package/lib/module/providers/screen/styles/hooks/slot-resolvers.js +2 -10
  144. package/lib/module/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  145. package/lib/module/providers/screen/styles/slot.provider.js +1 -0
  146. package/lib/module/providers/screen/styles/slot.provider.js.map +1 -1
  147. package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +11 -5
  148. package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  149. package/lib/module/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js +5 -4
  150. package/lib/module/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
  151. package/lib/module/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
  152. package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js +7 -1
  153. package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
  154. package/lib/module/types/animation.types.js +10 -0
  155. package/lib/module/types/animation.types.js.map +1 -1
  156. package/lib/module/utils/create-provider.js +14 -3
  157. package/lib/module/utils/create-provider.js.map +1 -1
  158. package/lib/typescript/components/boundary/create-boundary-component.d.ts.map +1 -1
  159. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +20 -1
  160. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -1
  161. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  162. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  163. package/lib/typescript/components/boundary/portal/teleport.d.ts +1 -1
  164. package/lib/typescript/components/boundary/portal/teleport.d.ts.map +1 -1
  165. package/lib/typescript/components/boundary/utils/source-signals.d.ts.map +1 -1
  166. package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts +2 -8
  167. package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  168. package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts +2 -1
  169. package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -1
  170. package/lib/typescript/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
  171. package/lib/typescript/components/overlay/variations/float-overlay.d.ts.map +1 -1
  172. package/lib/typescript/components/overlay/variations/overlay-host.d.ts +2 -3
  173. package/lib/typescript/components/overlay/variations/overlay-host.d.ts.map +1 -1
  174. package/lib/typescript/components/screen-container/layers/content.d.ts.map +1 -1
  175. package/lib/typescript/components/screen-container/layers/surface.d.ts +7 -0
  176. package/lib/typescript/components/screen-container/layers/surface.d.ts.map +1 -0
  177. package/lib/typescript/components/stack-view.d.ts +1 -1
  178. package/lib/typescript/components/stack-view.d.ts.map +1 -1
  179. package/lib/typescript/configs/index.d.ts +0 -9
  180. package/lib/typescript/configs/index.d.ts.map +1 -1
  181. package/lib/typescript/configs/presets.d.ts +0 -9
  182. package/lib/typescript/configs/presets.d.ts.map +1 -1
  183. package/lib/typescript/constants.d.ts +2 -1
  184. package/lib/typescript/constants.d.ts.map +1 -1
  185. package/lib/typescript/index.d.ts +1 -10
  186. package/lib/typescript/index.d.ts.map +1 -1
  187. package/lib/typescript/navigators/create-blank-stack-navigator.d.ts +2 -4
  188. package/lib/typescript/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  189. package/lib/typescript/navigators/expo-router/index.d.ts +3 -3
  190. package/lib/typescript/navigators/expo-router/index.d.ts.map +1 -1
  191. package/lib/typescript/navigators/react-navigation/index.d.ts +1 -1
  192. package/lib/typescript/navigators/react-navigation/index.d.ts.map +1 -1
  193. package/lib/typescript/providers/screen/animation/animation.provider.d.ts +10 -1
  194. package/lib/typescript/providers/screen/animation/animation.provider.d.ts.map +1 -1
  195. package/lib/typescript/providers/screen/animation/helpers/build-screen-transition-options.d.ts.map +1 -1
  196. package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts +2 -1
  197. package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.d.ts.map +1 -1
  198. package/lib/typescript/providers/screen/animation/helpers/hydrate-transition-state/index.d.ts.map +1 -1
  199. package/lib/typescript/providers/screen/animation/helpers/selected-interpolator-options.d.ts.map +1 -1
  200. package/lib/typescript/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  201. package/lib/typescript/providers/screen/gestures/pan/behavior/pan-release.d.ts.map +1 -1
  202. package/lib/typescript/providers/screen/gestures/pinch/behavior/pinch-release.d.ts.map +1 -1
  203. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts +2 -1
  204. package/lib/typescript/providers/screen/gestures/shared/policy.d.ts.map +1 -1
  205. package/lib/typescript/providers/screen/gestures/shared/snap-points.d.ts +11 -0
  206. package/lib/typescript/providers/screen/gestures/shared/snap-points.d.ts.map +1 -1
  207. package/lib/typescript/providers/screen/gestures/types.d.ts +2 -0
  208. package/lib/typescript/providers/screen/gestures/types.d.ts.map +1 -1
  209. package/lib/typescript/providers/screen/options/helpers.d.ts.map +1 -1
  210. package/lib/typescript/providers/screen/options/types.d.ts +1 -0
  211. package/lib/typescript/providers/screen/options/types.d.ts.map +1 -1
  212. package/lib/typescript/providers/screen/styles/constants.d.ts.map +1 -1
  213. package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  214. package/lib/typescript/providers/screen/styles/slot.provider.d.ts +11 -2
  215. package/lib/typescript/providers/screen/styles/slot.provider.d.ts.map +1 -1
  216. package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts +3 -3
  217. package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
  218. package/lib/typescript/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts.map +1 -1
  219. package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts +3 -2
  220. package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts.map +1 -1
  221. package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts +4 -4
  222. package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -1
  223. package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts +6 -5
  224. package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts.map +1 -1
  225. package/lib/typescript/providers/stack/blank-stack.provider.d.ts +3 -1
  226. package/lib/typescript/providers/stack/blank-stack.provider.d.ts.map +1 -1
  227. package/lib/typescript/types/animation.types.d.ts +16 -12
  228. package/lib/typescript/types/animation.types.d.ts.map +1 -1
  229. package/lib/typescript/types/blank-stack.types.d.ts +2 -23
  230. package/lib/typescript/types/blank-stack.types.d.ts.map +1 -1
  231. package/lib/typescript/types/index.d.ts +2 -2
  232. package/lib/typescript/types/index.d.ts.map +1 -1
  233. package/lib/typescript/types/providers/blank-stack-provider.types.d.ts +8 -6
  234. package/lib/typescript/types/providers/blank-stack-provider.types.d.ts.map +1 -1
  235. package/lib/typescript/types/screen.types.d.ts +50 -0
  236. package/lib/typescript/types/screen.types.d.ts.map +1 -1
  237. package/lib/typescript/utils/create-provider.d.ts +4 -1
  238. package/lib/typescript/utils/create-provider.d.ts.map +1 -1
  239. package/package.json +3 -8
  240. package/src/components/boundary/create-boundary-component.tsx +10 -2
  241. package/src/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +89 -0
  242. package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +97 -14
  243. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
  244. package/src/components/boundary/portal/teleport.ts +2 -23
  245. package/src/components/boundary/utils/source-signals.ts +6 -4
  246. package/src/components/overlay/helpers/get-active-overlay.ts +4 -36
  247. package/src/components/overlay/helpers/retain-ready-overlay-resources.ts +10 -1
  248. package/src/components/overlay/hooks/use-overlay-slot.ts +1 -5
  249. package/src/components/overlay/variations/float-overlay.tsx +9 -12
  250. package/src/components/overlay/variations/overlay-host.tsx +24 -22
  251. package/src/components/screen-container/layers/content.tsx +12 -7
  252. package/src/components/screen-container/layers/surface.tsx +65 -0
  253. package/src/components/stack-view.tsx +8 -39
  254. package/src/configs/index.ts +0 -6
  255. package/src/configs/presets.ts +0 -447
  256. package/src/constants.ts +2 -0
  257. package/src/index.ts +4 -1
  258. package/src/navigators/create-blank-stack-navigator.tsx +16 -124
  259. package/src/navigators/expo-router/index.tsx +0 -23
  260. package/src/navigators/react-navigation/index.tsx +0 -3
  261. package/src/providers/screen/animation/animation.provider.tsx +60 -54
  262. package/src/providers/screen/animation/helpers/build-screen-transition-options.ts +1 -0
  263. package/src/providers/screen/animation/helpers/hydrate-transition-state/gesture-progress.ts +26 -0
  264. package/src/providers/screen/animation/helpers/hydrate-transition-state/index.ts +20 -0
  265. package/src/providers/screen/animation/helpers/selected-interpolator-options.ts +1 -0
  266. package/src/providers/screen/animation/use-screen-animation.tsx +2 -14
  267. package/src/providers/screen/gestures/pan/behavior/pan-release.ts +46 -7
  268. package/src/providers/screen/gestures/pinch/behavior/pinch-release.ts +45 -4
  269. package/src/providers/screen/gestures/shared/policy.ts +4 -0
  270. package/src/providers/screen/gestures/shared/snap-points.ts +87 -0
  271. package/src/providers/screen/gestures/types.ts +2 -0
  272. package/src/providers/screen/options/helpers.ts +18 -0
  273. package/src/providers/screen/options/types.ts +1 -0
  274. package/src/providers/screen/styles/constants.ts +2 -1
  275. package/src/providers/screen/styles/hooks/slot-resolvers.tsx +2 -17
  276. package/src/providers/screen/styles/slot.provider.tsx +2 -1
  277. package/src/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +30 -12
  278. package/src/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.ts +11 -3
  279. package/src/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.ts +2 -2
  280. package/src/providers/stack/blank-stack-state/helpers/state-equality.ts +27 -16
  281. package/src/providers/stack/blank-stack-state/helpers/types.ts +9 -4
  282. package/src/types/animation.types.ts +16 -13
  283. package/src/types/blank-stack.types.ts +1 -29
  284. package/src/types/index.ts +4 -1
  285. package/src/types/providers/blank-stack-provider.types.ts +14 -11
  286. package/src/types/screen.types.ts +57 -0
  287. package/src/utils/create-provider.tsx +22 -4
  288. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js +0 -16
  289. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js.map +0 -1
  290. package/lib/commonjs/providers/navigation/navigation-host.provider.js +0 -56
  291. package/lib/commonjs/providers/navigation/navigation-host.provider.js.map +0 -1
  292. package/lib/commonjs/providers/navigation/react-navigation-host.js +0 -23
  293. package/lib/commonjs/providers/navigation/react-navigation-host.js.map +0 -1
  294. package/lib/module/components/boundary/portal/utils/teleport-control.js +0 -11
  295. package/lib/module/components/boundary/portal/utils/teleport-control.js.map +0 -1
  296. package/lib/module/providers/navigation/navigation-host.provider.js +0 -50
  297. package/lib/module/providers/navigation/navigation-host.provider.js.map +0 -1
  298. package/lib/module/providers/navigation/react-navigation-host.js +0 -19
  299. package/lib/module/providers/navigation/react-navigation-host.js.map +0 -1
  300. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts +0 -3
  301. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts.map +0 -1
  302. package/lib/typescript/providers/navigation/navigation-host.provider.d.ts +0 -21
  303. package/lib/typescript/providers/navigation/navigation-host.provider.d.ts.map +0 -1
  304. package/lib/typescript/providers/navigation/react-navigation-host.d.ts +0 -3
  305. package/lib/typescript/providers/navigation/react-navigation-host.d.ts.map +0 -1
  306. package/src/components/boundary/portal/utils/teleport-control.ts +0 -13
  307. package/src/providers/navigation/navigation-host.provider.tsx +0 -75
  308. package/src/providers/navigation/react-navigation-host.tsx +0 -24
@@ -41,6 +41,16 @@ export type ScreenKey = string;
41
41
  export type SheetScrollGestureBehavior =
42
42
  | "expand-and-collapse"
43
43
  | "collapse-only";
44
+
45
+ /**
46
+ * Controls how a drag moves between configured {@linkcode ScreenTransitionConfig.snapPoints}.
47
+ *
48
+ * - `"continuous"` maps physical movement directly to global screen progress.
49
+ * - `"step"` maps each drag across one adjacent snap interval.
50
+ *
51
+ * @see {@linkcode ScreenTransitionConfig.sheetSnapBehavior}
52
+ */
53
+ export type SheetSnapBehavior = "continuous" | "step";
44
54
  export type GestureTracking = "auto" | "never" | "always";
45
55
 
46
56
  /**
@@ -90,6 +100,17 @@ export type ScreenContentComponentProps = ScreenLayerComponentProps & {
90
100
  children: ReactNode;
91
101
  };
92
102
 
103
+ /**
104
+ * Props passed to {@linkcode ScreenTransitionConfig.surfaceComponent} when it
105
+ * is provided as a render-style component.
106
+ */
107
+ export type ScreenSurfaceComponentProps = ScreenLayerComponentProps & {
108
+ /**
109
+ * The screen subtree rendered inside the visual surface layer.
110
+ */
111
+ children: ReactNode;
112
+ };
113
+
93
114
  /**
94
115
  * Custom renderer for the backdrop layer.
95
116
  *
@@ -116,6 +137,20 @@ export type ScreenContentComponent =
116
137
  | ComponentType<any>
117
138
  | ComponentType<ScreenContentComponentProps>;
118
139
 
140
+ /**
141
+ * Custom renderer for the screen's visual surface layer.
142
+ *
143
+ * The surface is nested inside the content layer and does not contain the
144
+ * shared-element fallback host. Use it for visual effects such as filters,
145
+ * clipping, backgrounds, and corner treatments without changing navigation
146
+ * geometry.
147
+ *
148
+ * @see {@linkcode ScreenTransitionConfig.surfaceComponent}
149
+ */
150
+ export type ScreenSurfaceComponent =
151
+ | ComponentType<any>
152
+ | ComponentType<ScreenSurfaceComponentProps>;
153
+
119
154
  /**
120
155
  * Controls how an inactive screen is retained after it is no longer active.
121
156
  *
@@ -343,6 +378,17 @@ export type ScreenTransitionConfig = {
343
378
  */
344
379
  sheetScrollGestureBehavior?: SheetScrollGestureBehavior;
345
380
 
381
+ /**
382
+ * Controls how gesture movement maps between adjacent snap points.
383
+ *
384
+ * `"continuous"` preserves direct global progress and permits one gesture to
385
+ * cross multiple snap points. `"step"` gives every adjacent interval a full
386
+ * normalized drag range and limits the gesture to one snap-point step.
387
+ *
388
+ * @default "continuous"
389
+ */
390
+ sheetSnapBehavior?: SheetSnapBehavior;
391
+
346
392
  /**
347
393
  * Locks gesture-based snap movement to the current snap point.
348
394
  *
@@ -420,4 +466,15 @@ export type ScreenTransitionConfig = {
420
466
  * @default undefined
421
467
  */
422
468
  contentComponent?: ScreenContentComponent;
469
+
470
+ /**
471
+ * Custom component to render as the screen's visual surface layer.
472
+ *
473
+ * The component receives the `surface` slot's animated styles and props. It
474
+ * is nested inside the content layer while shared-element fallback content
475
+ * remains outside it.
476
+ *
477
+ * @default undefined
478
+ */
479
+ surfaceComponent?: ScreenSurfaceComponent;
423
480
  };
@@ -74,6 +74,7 @@ type ResolvedOptionalProviderStoreHook<
74
74
  type ProviderFactoryResult<ContextValue, Global extends boolean> = {
75
75
  value: ContextValue;
76
76
  children?: ReactNode;
77
+ unregisterOnCleanup?: boolean;
77
78
  } & (Global extends true ? { key: string } : { key?: never });
78
79
 
79
80
  interface ProviderStoreApi<ContextValue> {
@@ -320,17 +321,23 @@ export default function createProvider<
320
321
  );
321
322
  const StoreProvider = ({
322
323
  children,
324
+ registerGlobally = true,
323
325
  storeKey,
326
+ unregisterOnCleanup = true,
324
327
  value,
325
328
  }: {
326
329
  children?: ReactNode;
330
+ registerGlobally?: boolean;
327
331
  storeKey?: string;
332
+ unregisterOnCleanup?: boolean;
328
333
  value: ContextValue;
329
334
  }) => {
330
335
  const storeRef = useRef<MutableProviderStoreApi<ContextValue> | null>(
331
336
  null,
332
337
  );
333
338
  const pendingNotifyRef = useRef(false);
339
+ const unregisterOnCleanupRef = useRef(unregisterOnCleanup);
340
+ unregisterOnCleanupRef.current = unregisterOnCleanup;
334
341
 
335
342
  if (storeRef.current === null) {
336
343
  storeRef.current = createProviderStore<ContextValue>(value);
@@ -338,7 +345,7 @@ export default function createProvider<
338
345
  const store = storeRef.current;
339
346
 
340
347
  useLayoutEffect(() => {
341
- if (!globalRegistry) {
348
+ if (!globalRegistry || !registerGlobally) {
342
349
  return;
343
350
  }
344
351
 
@@ -348,8 +355,14 @@ export default function createProvider<
348
355
  );
349
356
  }
350
357
 
351
- return globalRegistry.register(storeKey, store);
352
- }, [storeKey, store]);
358
+ const unregister = globalRegistry.register(storeKey, store);
359
+
360
+ return () => {
361
+ if (unregisterOnCleanupRef.current) {
362
+ unregister();
363
+ }
364
+ };
365
+ }, [registerGlobally, storeKey, store]);
353
366
 
354
367
  pendingNotifyRef.current =
355
368
  store.setSnapshot(value) || pendingNotifyRef.current;
@@ -373,10 +386,15 @@ export default function createProvider<
373
386
  const {
374
387
  children = (props as { children?: ReactNode }).children,
375
388
  key,
389
+ unregisterOnCleanup,
376
390
  value,
377
391
  } = factory(props);
378
392
  return (
379
- <StoreProvider storeKey={key} value={value}>
393
+ <StoreProvider
394
+ storeKey={key}
395
+ unregisterOnCleanup={unregisterOnCleanup}
396
+ value={value}
397
+ >
380
398
  {children}
381
399
  </StoreProvider>
382
400
  );
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.isTeleportEnabled = void 0;
7
- const isTeleportEnabled = teleport => {
8
- "worklet";
9
-
10
- if (typeof teleport === "boolean") {
11
- return teleport;
12
- }
13
- return teleport?.enabled !== false;
14
- };
15
- exports.isTeleportEnabled = isTeleportEnabled;
16
- //# sourceMappingURL=teleport-control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["isTeleportEnabled","teleport","enabled","exports"],"sourceRoot":"../../../../../../src","sources":["components/boundary/portal/utils/teleport-control.ts"],"mappings":";;;;;;AAEO,MAAMA,iBAAiB,GAC7BC,QAA6C,IACzC;EACJ,SAAS;;EAET,IAAI,OAAOA,QAAQ,KAAK,SAAS,EAAE;IAClC,OAAOA,QAAQ;EAChB;EAEA,OAAOA,QAAQ,EAAEC,OAAO,KAAK,KAAK;AACnC,CAAC;AAACC,OAAA,CAAAH,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,56 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.NavigationHostProvider = NavigationHostProvider;
7
- exports.NavigationScreenProvider = NavigationScreenProvider;
8
- exports.useNavigationRoute = useNavigationRoute;
9
- var _react = require("react");
10
- var _jsxRuntime = require("react/jsx-runtime");
11
- const PassthroughScreenProvider = ({
12
- children
13
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
14
- children: children
15
- });
16
- const DEFAULT_NAVIGATION_HOST = {
17
- ScreenProvider: PassthroughScreenProvider
18
- };
19
- const NavigationHostContext = /*#__PURE__*/(0, _react.createContext)(DEFAULT_NAVIGATION_HOST);
20
- NavigationHostContext.displayName = "NavigationHost";
21
- const NavigationRouteContext = /*#__PURE__*/(0, _react.createContext)(null);
22
- NavigationRouteContext.displayName = "StandardNavigationRoute";
23
- function NavigationHostProvider({
24
- children,
25
- value
26
- }) {
27
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(NavigationHostContext.Provider, {
28
- value: value ?? DEFAULT_NAVIGATION_HOST,
29
- children: children
30
- });
31
- }
32
- function NavigationScreenProvider({
33
- children,
34
- navigation,
35
- route
36
- }) {
37
- const {
38
- ScreenProvider
39
- } = (0, _react.useContext)(NavigationHostContext);
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(NavigationRouteContext.Provider, {
41
- value: route,
42
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(ScreenProvider, {
43
- navigation: navigation,
44
- route: route,
45
- children: children
46
- })
47
- });
48
- }
49
- function useNavigationRoute() {
50
- const route = (0, _react.useContext)(NavigationRouteContext);
51
- if (!route) {
52
- throw new Error("Navigation route is unavailable");
53
- }
54
- return route;
55
- }
56
- //# sourceMappingURL=navigation-host.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","require","_jsxRuntime","PassthroughScreenProvider","children","jsx","Fragment","DEFAULT_NAVIGATION_HOST","ScreenProvider","NavigationHostContext","createContext","displayName","NavigationRouteContext","NavigationHostProvider","value","Provider","NavigationScreenProvider","navigation","route","useContext","useNavigationRoute","Error"],"sourceRoot":"../../../../src","sources":["providers/navigation/navigation-host.provider.tsx"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAkE,IAAAC,WAAA,GAAAD,OAAA;AAgBlE,MAAME,yBAA4D,GAAGA,CAAC;EACrEC;AACD,CAAC,kBAAK,IAAAF,WAAA,CAAAG,GAAA,EAAAH,WAAA,CAAAI,QAAA;EAAAF,QAAA,EAAGA;AAAQ,CAAG,CAAC;AAErB,MAAMG,uBAAmD,GAAG;EAC3DC,cAAc,EAAEL;AACjB,CAAC;AAED,MAAMM,qBAAqB,gBAAG,IAAAC,oBAAa,EAC1CH,uBACD,CAAC;AACDE,qBAAqB,CAACE,WAAW,GAAG,gBAAgB;AAEpD,MAAMC,sBAAsB,gBAAG,IAAAF,oBAAa,EAAwB,IAAI,CAAC;AACzEE,sBAAsB,CAACD,WAAW,GAAG,yBAAyB;AAEvD,SAASE,sBAAsBA,CAAC;EACtCT,QAAQ;EACRU;AAID,CAAC,EAAE;EACF,oBACC,IAAAZ,WAAA,CAAAG,GAAA,EAACI,qBAAqB,CAACM,QAAQ;IAACD,KAAK,EAAEA,KAAK,IAAIP,uBAAwB;IAAAH,QAAA,EACtEA;EAAQ,CACsB,CAAC;AAEnC;AAEO,SAASY,wBAAwBA,CAAC;EACxCZ,QAAQ;EACRa,UAAU;EACVC;AAKD,CAAC,EAAE;EACF,MAAM;IAAEV;EAAe,CAAC,GAAG,IAAAW,iBAAU,EAACV,qBAAqB,CAAC;EAE5D,oBACC,IAAAP,WAAA,CAAAG,GAAA,EAACO,sBAAsB,CAACG,QAAQ;IAACD,KAAK,EAAEI,KAAM;IAAAd,QAAA,eAC7C,IAAAF,WAAA,CAAAG,GAAA,EAACG,cAAc;MAACS,UAAU,EAAEA,UAAW;MAACC,KAAK,EAAEA,KAAM;MAAAd,QAAA,EACnDA;IAAQ,CACM;EAAC,CACe,CAAC;AAEpC;AAEO,SAASgB,kBAAkBA,CAAA,EAAG;EACpC,MAAMF,KAAK,GAAG,IAAAC,iBAAU,EAACP,sBAAsB,CAAC;EAEhD,IAAI,CAACM,KAAK,EAAE;IACX,MAAM,IAAIG,KAAK,CAAC,iCAAiC,CAAC;EACnD;EAEA,OAAOH,KAAK;AACb","ignoreList":[]}
@@ -1,23 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.reactNavigationHost = void 0;
7
- var _native = require("@react-navigation/native");
8
- var _jsxRuntime = require("react/jsx-runtime");
9
- const ReactNavigationScreenProvider = ({
10
- children,
11
- navigation,
12
- route
13
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationContext.Provider, {
14
- value: navigation,
15
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_native.NavigationRouteContext.Provider, {
16
- value: route,
17
- children: children
18
- })
19
- });
20
- const reactNavigationHost = exports.reactNavigationHost = {
21
- ScreenProvider: ReactNavigationScreenProvider
22
- };
23
- //# sourceMappingURL=react-navigation-host.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_native","require","_jsxRuntime","ReactNavigationScreenProvider","children","navigation","route","jsx","NavigationContext","Provider","value","NavigationRouteContext","reactNavigationHost","exports","ScreenProvider"],"sourceRoot":"../../../../src","sources":["providers/navigation/react-navigation-host.tsx"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAGkC,IAAAC,WAAA,GAAAD,OAAA;AAMlC,MAAME,6BAAgE,GAAGA,CAAC;EACzEC,QAAQ;EACRC,UAAU;EACVC;AACD,CAAC,kBACA,IAAAJ,WAAA,CAAAK,GAAA,EAACP,OAAA,CAAAQ,iBAAiB,CAACC,QAAQ;EAACC,KAAK,EAAEL,UAAoB;EAAAD,QAAA,eACtD,IAAAF,WAAA,CAAAK,GAAA,EAACP,OAAA,CAAAW,sBAAsB,CAACF,QAAQ;IAACC,KAAK,EAAEJ,KAAe;IAAAF,QAAA,EACrDA;EAAQ,CACuB;AAAC,CACP,CAC5B;AAEM,MAAMQ,mBAA+C,GAAAC,OAAA,CAAAD,mBAAA,GAAG;EAC9DE,cAAc,EAAEX;AACjB,CAAC","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- "use strict";
2
-
3
- export const isTeleportEnabled = teleport => {
4
- "worklet";
5
-
6
- if (typeof teleport === "boolean") {
7
- return teleport;
8
- }
9
- return teleport?.enabled !== false;
10
- };
11
- //# sourceMappingURL=teleport-control.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["isTeleportEnabled","teleport","enabled"],"sourceRoot":"../../../../../../src","sources":["components/boundary/portal/utils/teleport-control.ts"],"mappings":";;AAEA,OAAO,MAAMA,iBAAiB,GAC7BC,QAA6C,IACzC;EACJ,SAAS;;EAET,IAAI,OAAOA,QAAQ,KAAK,SAAS,EAAE;IAClC,OAAOA,QAAQ;EAChB;EAEA,OAAOA,QAAQ,EAAEC,OAAO,KAAK,KAAK;AACnC,CAAC","ignoreList":[]}
@@ -1,50 +0,0 @@
1
- "use strict";
2
-
3
- import { createContext, useContext } from "react";
4
- import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
5
- const PassthroughScreenProvider = ({
6
- children
7
- }) => /*#__PURE__*/_jsx(_Fragment, {
8
- children: children
9
- });
10
- const DEFAULT_NAVIGATION_HOST = {
11
- ScreenProvider: PassthroughScreenProvider
12
- };
13
- const NavigationHostContext = /*#__PURE__*/createContext(DEFAULT_NAVIGATION_HOST);
14
- NavigationHostContext.displayName = "NavigationHost";
15
- const NavigationRouteContext = /*#__PURE__*/createContext(null);
16
- NavigationRouteContext.displayName = "StandardNavigationRoute";
17
- export function NavigationHostProvider({
18
- children,
19
- value
20
- }) {
21
- return /*#__PURE__*/_jsx(NavigationHostContext.Provider, {
22
- value: value ?? DEFAULT_NAVIGATION_HOST,
23
- children: children
24
- });
25
- }
26
- export function NavigationScreenProvider({
27
- children,
28
- navigation,
29
- route
30
- }) {
31
- const {
32
- ScreenProvider
33
- } = useContext(NavigationHostContext);
34
- return /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
35
- value: route,
36
- children: /*#__PURE__*/_jsx(ScreenProvider, {
37
- navigation: navigation,
38
- route: route,
39
- children: children
40
- })
41
- });
42
- }
43
- export function useNavigationRoute() {
44
- const route = useContext(NavigationRouteContext);
45
- if (!route) {
46
- throw new Error("Navigation route is unavailable");
47
- }
48
- return route;
49
- }
50
- //# sourceMappingURL=navigation-host.provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createContext","useContext","Fragment","_Fragment","jsx","_jsx","PassthroughScreenProvider","children","DEFAULT_NAVIGATION_HOST","ScreenProvider","NavigationHostContext","displayName","NavigationRouteContext","NavigationHostProvider","value","Provider","NavigationScreenProvider","navigation","route","useNavigationRoute","Error"],"sourceRoot":"../../../../src","sources":["providers/navigation/navigation-host.provider.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAkBC,UAAU,QAAQ,OAAO;AAAC,SAAAC,QAAA,IAAAC,SAAA,EAAAC,GAAA,IAAAC,IAAA;AAgBlE,MAAMC,yBAA4D,GAAGA,CAAC;EACrEC;AACD,CAAC,kBAAKF,IAAA,CAAAF,SAAA;EAAAI,QAAA,EAAGA;AAAQ,CAAG,CAAC;AAErB,MAAMC,uBAAmD,GAAG;EAC3DC,cAAc,EAAEH;AACjB,CAAC;AAED,MAAMI,qBAAqB,gBAAGV,aAAa,CAC1CQ,uBACD,CAAC;AACDE,qBAAqB,CAACC,WAAW,GAAG,gBAAgB;AAEpD,MAAMC,sBAAsB,gBAAGZ,aAAa,CAAwB,IAAI,CAAC;AACzEY,sBAAsB,CAACD,WAAW,GAAG,yBAAyB;AAE9D,OAAO,SAASE,sBAAsBA,CAAC;EACtCN,QAAQ;EACRO;AAID,CAAC,EAAE;EACF,oBACCT,IAAA,CAACK,qBAAqB,CAACK,QAAQ;IAACD,KAAK,EAAEA,KAAK,IAAIN,uBAAwB;IAAAD,QAAA,EACtEA;EAAQ,CACsB,CAAC;AAEnC;AAEA,OAAO,SAASS,wBAAwBA,CAAC;EACxCT,QAAQ;EACRU,UAAU;EACVC;AAKD,CAAC,EAAE;EACF,MAAM;IAAET;EAAe,CAAC,GAAGR,UAAU,CAACS,qBAAqB,CAAC;EAE5D,oBACCL,IAAA,CAACO,sBAAsB,CAACG,QAAQ;IAACD,KAAK,EAAEI,KAAM;IAAAX,QAAA,eAC7CF,IAAA,CAACI,cAAc;MAACQ,UAAU,EAAEA,UAAW;MAACC,KAAK,EAAEA,KAAM;MAAAX,QAAA,EACnDA;IAAQ,CACM;EAAC,CACe,CAAC;AAEpC;AAEA,OAAO,SAASY,kBAAkBA,CAAA,EAAG;EACpC,MAAMD,KAAK,GAAGjB,UAAU,CAACW,sBAAsB,CAAC;EAEhD,IAAI,CAACM,KAAK,EAAE;IACX,MAAM,IAAIE,KAAK,CAAC,iCAAiC,CAAC;EACnD;EAEA,OAAOF,KAAK;AACb","ignoreList":[]}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- import { NavigationContext, NavigationRouteContext } from "@react-navigation/native";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const ReactNavigationScreenProvider = ({
6
- children,
7
- navigation,
8
- route
9
- }) => /*#__PURE__*/_jsx(NavigationContext.Provider, {
10
- value: navigation,
11
- children: /*#__PURE__*/_jsx(NavigationRouteContext.Provider, {
12
- value: route,
13
- children: children
14
- })
15
- });
16
- export const reactNavigationHost = {
17
- ScreenProvider: ReactNavigationScreenProvider
18
- };
19
- //# sourceMappingURL=react-navigation-host.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["NavigationContext","NavigationRouteContext","jsx","_jsx","ReactNavigationScreenProvider","children","navigation","route","Provider","value","reactNavigationHost","ScreenProvider"],"sourceRoot":"../../../../src","sources":["providers/navigation/react-navigation-host.tsx"],"mappings":";;AAAA,SACCA,iBAAiB,EACjBC,sBAAsB,QAChB,0BAA0B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMlC,MAAMC,6BAAgE,GAAGA,CAAC;EACzEC,QAAQ;EACRC,UAAU;EACVC;AACD,CAAC,kBACAJ,IAAA,CAACH,iBAAiB,CAACQ,QAAQ;EAACC,KAAK,EAAEH,UAAoB;EAAAD,QAAA,eACtDF,IAAA,CAACF,sBAAsB,CAACO,QAAQ;IAACC,KAAK,EAAEF,KAAe;IAAAF,QAAA,EACrDA;EAAQ,CACuB;AAAC,CACP,CAC5B;AAED,OAAO,MAAMK,mBAA+C,GAAG;EAC9DC,cAAc,EAAEP;AACjB,CAAC","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import type { BoundaryTeleportControl } from "../../../../types/animation.types";
2
- export declare const isTeleportEnabled: (teleport: BoundaryTeleportControl | undefined) => boolean;
3
- //# sourceMappingURL=teleport-control.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"teleport-control.d.ts","sourceRoot":"","sources":["../../../../../../src/components/boundary/portal/utils/teleport-control.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAEjF,eAAO,MAAM,iBAAiB,GAC7B,UAAU,uBAAuB,GAAG,SAAS,YAS7C,CAAC"}
@@ -1,21 +0,0 @@
1
- import { type ReactNode } from "react";
2
- import type { BaseStackNavigation, BaseStackRoute } from "../../types/stack.types";
3
- export type NavigationScreenProviderComponent = (props: {
4
- navigation: BaseStackNavigation;
5
- route: BaseStackRoute;
6
- children: ReactNode;
7
- }) => ReactNode;
8
- export interface NavigationHostContextValue {
9
- ScreenProvider: NavigationScreenProviderComponent;
10
- }
11
- export declare function NavigationHostProvider({ children, value, }: {
12
- children: ReactNode;
13
- value?: NavigationHostContextValue;
14
- }): import("react").JSX.Element;
15
- export declare function NavigationScreenProvider({ children, navigation, route, }: {
16
- children: ReactNode;
17
- navigation: BaseStackNavigation;
18
- route: BaseStackRoute;
19
- }): import("react").JSX.Element;
20
- export declare function useNavigationRoute(): BaseStackRoute;
21
- //# sourceMappingURL=navigation-host.provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"navigation-host.provider.d.ts","sourceRoot":"","sources":["../../../../src/providers/navigation/navigation-host.provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAClE,OAAO,KAAK,EACX,mBAAmB,EACnB,cAAc,EACd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,iCAAiC,GAAG,CAAC,KAAK,EAAE;IACvD,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACpB,KAAK,SAAS,CAAC;AAEhB,MAAM,WAAW,0BAA0B;IAC1C,cAAc,EAAE,iCAAiC,CAAC;CAClD;AAkBD,wBAAgB,sBAAsB,CAAC,EACtC,QAAQ,EACR,KAAK,GACL,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,CAAC,EAAE,0BAA0B,CAAC;CACnC,+BAMA;AAED,wBAAgB,wBAAwB,CAAC,EACxC,QAAQ,EACR,UAAU,EACV,KAAK,GACL,EAAE;IACF,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,mBAAmB,CAAC;IAChC,KAAK,EAAE,cAAc,CAAC;CACtB,+BAUA;AAED,wBAAgB,kBAAkB,mBAQjC"}
@@ -1,3 +0,0 @@
1
- import type { NavigationHostContextValue } from "./navigation-host.provider";
2
- export declare const reactNavigationHost: NavigationHostContextValue;
3
- //# sourceMappingURL=react-navigation-host.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"react-navigation-host.d.ts","sourceRoot":"","sources":["../../../../src/providers/navigation/react-navigation-host.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,0BAA0B,EAE1B,MAAM,4BAA4B,CAAC;AAcpC,eAAO,MAAM,mBAAmB,EAAE,0BAEjC,CAAC"}
@@ -1,13 +0,0 @@
1
- import type { BoundaryTeleportControl } from "../../../../types/animation.types";
2
-
3
- export const isTeleportEnabled = (
4
- teleport: BoundaryTeleportControl | undefined,
5
- ) => {
6
- "worklet";
7
-
8
- if (typeof teleport === "boolean") {
9
- return teleport;
10
- }
11
-
12
- return teleport?.enabled !== false;
13
- };
@@ -1,75 +0,0 @@
1
- import { createContext, type ReactNode, useContext } from "react";
2
- import type {
3
- BaseStackNavigation,
4
- BaseStackRoute,
5
- } from "../../types/stack.types";
6
-
7
- export type NavigationScreenProviderComponent = (props: {
8
- navigation: BaseStackNavigation;
9
- route: BaseStackRoute;
10
- children: ReactNode;
11
- }) => ReactNode;
12
-
13
- export interface NavigationHostContextValue {
14
- ScreenProvider: NavigationScreenProviderComponent;
15
- }
16
-
17
- const PassthroughScreenProvider: NavigationScreenProviderComponent = ({
18
- children,
19
- }) => <>{children}</>;
20
-
21
- const DEFAULT_NAVIGATION_HOST: NavigationHostContextValue = {
22
- ScreenProvider: PassthroughScreenProvider,
23
- };
24
-
25
- const NavigationHostContext = createContext<NavigationHostContextValue>(
26
- DEFAULT_NAVIGATION_HOST,
27
- );
28
- NavigationHostContext.displayName = "NavigationHost";
29
-
30
- const NavigationRouteContext = createContext<BaseStackRoute | null>(null);
31
- NavigationRouteContext.displayName = "StandardNavigationRoute";
32
-
33
- export function NavigationHostProvider({
34
- children,
35
- value,
36
- }: {
37
- children: ReactNode;
38
- value?: NavigationHostContextValue;
39
- }) {
40
- return (
41
- <NavigationHostContext.Provider value={value ?? DEFAULT_NAVIGATION_HOST}>
42
- {children}
43
- </NavigationHostContext.Provider>
44
- );
45
- }
46
-
47
- export function NavigationScreenProvider({
48
- children,
49
- navigation,
50
- route,
51
- }: {
52
- children: ReactNode;
53
- navigation: BaseStackNavigation;
54
- route: BaseStackRoute;
55
- }) {
56
- const { ScreenProvider } = useContext(NavigationHostContext);
57
-
58
- return (
59
- <NavigationRouteContext.Provider value={route}>
60
- <ScreenProvider navigation={navigation} route={route}>
61
- {children}
62
- </ScreenProvider>
63
- </NavigationRouteContext.Provider>
64
- );
65
- }
66
-
67
- export function useNavigationRoute() {
68
- const route = useContext(NavigationRouteContext);
69
-
70
- if (!route) {
71
- throw new Error("Navigation route is unavailable");
72
- }
73
-
74
- return route;
75
- }
@@ -1,24 +0,0 @@
1
- import {
2
- NavigationContext,
3
- NavigationRouteContext,
4
- } from "@react-navigation/native";
5
- import type {
6
- NavigationHostContextValue,
7
- NavigationScreenProviderComponent,
8
- } from "./navigation-host.provider";
9
-
10
- const ReactNavigationScreenProvider: NavigationScreenProviderComponent = ({
11
- children,
12
- navigation,
13
- route,
14
- }) => (
15
- <NavigationContext.Provider value={navigation as never}>
16
- <NavigationRouteContext.Provider value={route as never}>
17
- {children}
18
- </NavigationRouteContext.Provider>
19
- </NavigationContext.Provider>
20
- );
21
-
22
- export const reactNavigationHost: NavigationHostContextValue = {
23
- ScreenProvider: ReactNavigationScreenProvider,
24
- };