react-native-screen-transitions 4.0.0-alpha.9 → 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 (225) hide show
  1. package/README.md +5 -10
  2. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +53 -1
  3. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  4. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +43 -8
  5. package/lib/commonjs/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  6. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -3
  7. package/lib/commonjs/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  8. package/lib/commonjs/components/boundary/utils/source-signals.js +6 -4
  9. package/lib/commonjs/components/boundary/utils/source-signals.js.map +1 -1
  10. package/lib/commonjs/components/overlay/helpers/get-active-overlay.js +3 -24
  11. package/lib/commonjs/components/overlay/helpers/get-active-overlay.js.map +1 -1
  12. package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js +4 -3
  13. package/lib/commonjs/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -1
  14. package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js +1 -2
  15. package/lib/commonjs/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  16. package/lib/commonjs/components/overlay/variations/float-overlay.js +0 -2
  17. package/lib/commonjs/components/overlay/variations/float-overlay.js.map +1 -1
  18. package/lib/commonjs/components/overlay/variations/overlay-host.js +18 -15
  19. package/lib/commonjs/components/overlay/variations/overlay-host.js.map +1 -1
  20. package/lib/commonjs/components/screen-container/layers/content.js +10 -5
  21. package/lib/commonjs/components/screen-container/layers/content.js.map +1 -1
  22. package/lib/commonjs/components/screen-container/layers/surface.js +50 -0
  23. package/lib/commonjs/components/screen-container/layers/surface.js.map +1 -0
  24. package/lib/commonjs/components/stack-view.js +7 -29
  25. package/lib/commonjs/components/stack-view.js.map +1 -1
  26. package/lib/commonjs/configs/index.js +1 -4
  27. package/lib/commonjs/configs/index.js.map +1 -1
  28. package/lib/commonjs/configs/presets.js +1 -384
  29. package/lib/commonjs/configs/presets.js.map +1 -1
  30. package/lib/commonjs/navigators/create-blank-stack-navigator.js +7 -67
  31. package/lib/commonjs/navigators/create-blank-stack-navigator.js.map +1 -1
  32. package/lib/commonjs/navigators/expo-router/index.js +1 -18
  33. package/lib/commonjs/navigators/expo-router/index.js.map +1 -1
  34. package/lib/commonjs/navigators/react-navigation/index.js +1 -3
  35. package/lib/commonjs/navigators/react-navigation/index.js.map +1 -1
  36. package/lib/commonjs/providers/screen/animation/animation.provider.js +6 -1
  37. package/lib/commonjs/providers/screen/animation/animation.provider.js.map +1 -1
  38. package/lib/commonjs/providers/screen/animation/use-screen-animation.js +1 -8
  39. package/lib/commonjs/providers/screen/animation/use-screen-animation.js.map +1 -1
  40. package/lib/commonjs/providers/screen/styles/constants.js +4 -0
  41. package/lib/commonjs/providers/screen/styles/constants.js.map +1 -1
  42. package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.js +1 -9
  43. package/lib/commonjs/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  44. package/lib/commonjs/providers/screen/styles/slot.provider.js +3 -1
  45. package/lib/commonjs/providers/screen/styles/slot.provider.js.map +1 -1
  46. package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +10 -4
  47. package/lib/commonjs/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  48. package/lib/commonjs/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js +4 -3
  49. package/lib/commonjs/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
  50. package/lib/commonjs/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
  51. package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js +9 -2
  52. package/lib/commonjs/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
  53. package/lib/commonjs/utils/create-provider.js +14 -3
  54. package/lib/commonjs/utils/create-provider.js.map +1 -1
  55. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js +50 -0
  56. package/lib/module/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.js.map +1 -1
  57. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js +44 -9
  58. package/lib/module/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.js.map +1 -1
  59. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js +2 -3
  60. package/lib/module/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.js.map +1 -1
  61. package/lib/module/components/boundary/utils/source-signals.js +6 -4
  62. package/lib/module/components/boundary/utils/source-signals.js.map +1 -1
  63. package/lib/module/components/overlay/helpers/get-active-overlay.js +3 -24
  64. package/lib/module/components/overlay/helpers/get-active-overlay.js.map +1 -1
  65. package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js +4 -3
  66. package/lib/module/components/overlay/helpers/retain-ready-overlay-resources.js.map +1 -1
  67. package/lib/module/components/overlay/hooks/use-overlay-slot.js +1 -2
  68. package/lib/module/components/overlay/hooks/use-overlay-slot.js.map +1 -1
  69. package/lib/module/components/overlay/variations/float-overlay.js +0 -2
  70. package/lib/module/components/overlay/variations/float-overlay.js.map +1 -1
  71. package/lib/module/components/overlay/variations/overlay-host.js +19 -16
  72. package/lib/module/components/overlay/variations/overlay-host.js.map +1 -1
  73. package/lib/module/components/screen-container/layers/content.js +10 -5
  74. package/lib/module/components/screen-container/layers/content.js.map +1 -1
  75. package/lib/module/components/screen-container/layers/surface.js +45 -0
  76. package/lib/module/components/screen-container/layers/surface.js.map +1 -0
  77. package/lib/module/components/stack-view.js +7 -29
  78. package/lib/module/components/stack-view.js.map +1 -1
  79. package/lib/module/configs/index.js +2 -5
  80. package/lib/module/configs/index.js.map +1 -1
  81. package/lib/module/configs/presets.js +0 -380
  82. package/lib/module/configs/presets.js.map +1 -1
  83. package/lib/module/navigators/create-blank-stack-navigator.js +7 -66
  84. package/lib/module/navigators/create-blank-stack-navigator.js.map +1 -1
  85. package/lib/module/navigators/expo-router/index.js +1 -18
  86. package/lib/module/navigators/expo-router/index.js.map +1 -1
  87. package/lib/module/navigators/react-navigation/index.js +1 -3
  88. package/lib/module/navigators/react-navigation/index.js.map +1 -1
  89. package/lib/module/providers/screen/animation/animation.provider.js +4 -0
  90. package/lib/module/providers/screen/animation/animation.provider.js.map +1 -1
  91. package/lib/module/providers/screen/animation/use-screen-animation.js +2 -9
  92. package/lib/module/providers/screen/animation/use-screen-animation.js.map +1 -1
  93. package/lib/module/providers/screen/styles/constants.js +4 -0
  94. package/lib/module/providers/screen/styles/constants.js.map +1 -1
  95. package/lib/module/providers/screen/styles/hooks/slot-resolvers.js +2 -10
  96. package/lib/module/providers/screen/styles/hooks/slot-resolvers.js.map +1 -1
  97. package/lib/module/providers/screen/styles/slot.provider.js +1 -0
  98. package/lib/module/providers/screen/styles/slot.provider.js.map +1 -1
  99. package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js +11 -5
  100. package/lib/module/providers/stack/blank-stack-state/helpers/build-blank-stack-state.js.map +1 -1
  101. package/lib/module/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js +5 -4
  102. package/lib/module/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.js.map +1 -1
  103. package/lib/module/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.js.map +1 -1
  104. package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js +7 -1
  105. package/lib/module/providers/stack/blank-stack-state/helpers/state-equality.js.map +1 -1
  106. package/lib/module/types/animation.types.js +10 -0
  107. package/lib/module/types/animation.types.js.map +1 -1
  108. package/lib/module/utils/create-provider.js +14 -3
  109. package/lib/module/utils/create-provider.js.map +1 -1
  110. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts +20 -1
  111. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.d.ts.map +1 -1
  112. package/lib/typescript/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.d.ts.map +1 -1
  113. package/lib/typescript/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.d.ts.map +1 -1
  114. package/lib/typescript/components/boundary/utils/source-signals.d.ts.map +1 -1
  115. package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts +2 -8
  116. package/lib/typescript/components/overlay/helpers/get-active-overlay.d.ts.map +1 -1
  117. package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts +2 -1
  118. package/lib/typescript/components/overlay/helpers/retain-ready-overlay-resources.d.ts.map +1 -1
  119. package/lib/typescript/components/overlay/hooks/use-overlay-slot.d.ts.map +1 -1
  120. package/lib/typescript/components/overlay/variations/float-overlay.d.ts.map +1 -1
  121. package/lib/typescript/components/overlay/variations/overlay-host.d.ts +2 -3
  122. package/lib/typescript/components/overlay/variations/overlay-host.d.ts.map +1 -1
  123. package/lib/typescript/components/screen-container/layers/content.d.ts.map +1 -1
  124. package/lib/typescript/components/screen-container/layers/surface.d.ts +7 -0
  125. package/lib/typescript/components/screen-container/layers/surface.d.ts.map +1 -0
  126. package/lib/typescript/components/stack-view.d.ts +1 -1
  127. package/lib/typescript/components/stack-view.d.ts.map +1 -1
  128. package/lib/typescript/configs/index.d.ts +0 -9
  129. package/lib/typescript/configs/index.d.ts.map +1 -1
  130. package/lib/typescript/configs/presets.d.ts +0 -9
  131. package/lib/typescript/configs/presets.d.ts.map +1 -1
  132. package/lib/typescript/index.d.ts +1 -10
  133. package/lib/typescript/index.d.ts.map +1 -1
  134. package/lib/typescript/navigators/create-blank-stack-navigator.d.ts +2 -4
  135. package/lib/typescript/navigators/create-blank-stack-navigator.d.ts.map +1 -1
  136. package/lib/typescript/navigators/expo-router/index.d.ts +3 -3
  137. package/lib/typescript/navigators/expo-router/index.d.ts.map +1 -1
  138. package/lib/typescript/navigators/react-navigation/index.d.ts +1 -1
  139. package/lib/typescript/navigators/react-navigation/index.d.ts.map +1 -1
  140. package/lib/typescript/providers/screen/animation/animation.provider.d.ts +10 -1
  141. package/lib/typescript/providers/screen/animation/animation.provider.d.ts.map +1 -1
  142. package/lib/typescript/providers/screen/animation/use-screen-animation.d.ts.map +1 -1
  143. package/lib/typescript/providers/screen/styles/constants.d.ts.map +1 -1
  144. package/lib/typescript/providers/screen/styles/hooks/slot-resolvers.d.ts.map +1 -1
  145. package/lib/typescript/providers/screen/styles/slot.provider.d.ts +11 -2
  146. package/lib/typescript/providers/screen/styles/slot.provider.d.ts.map +1 -1
  147. package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts +3 -3
  148. package/lib/typescript/providers/stack/blank-stack-state/helpers/build-blank-stack-state.d.ts.map +1 -1
  149. package/lib/typescript/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.d.ts.map +1 -1
  150. package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts +3 -2
  151. package/lib/typescript/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.d.ts.map +1 -1
  152. package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts +4 -4
  153. package/lib/typescript/providers/stack/blank-stack-state/helpers/state-equality.d.ts.map +1 -1
  154. package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts +6 -5
  155. package/lib/typescript/providers/stack/blank-stack-state/helpers/types.d.ts.map +1 -1
  156. package/lib/typescript/providers/stack/blank-stack.provider.d.ts +3 -1
  157. package/lib/typescript/providers/stack/blank-stack.provider.d.ts.map +1 -1
  158. package/lib/typescript/types/animation.types.d.ts +15 -7
  159. package/lib/typescript/types/animation.types.d.ts.map +1 -1
  160. package/lib/typescript/types/blank-stack.types.d.ts +2 -23
  161. package/lib/typescript/types/blank-stack.types.d.ts.map +1 -1
  162. package/lib/typescript/types/index.d.ts +2 -2
  163. package/lib/typescript/types/index.d.ts.map +1 -1
  164. package/lib/typescript/types/providers/blank-stack-provider.types.d.ts +8 -6
  165. package/lib/typescript/types/providers/blank-stack-provider.types.d.ts.map +1 -1
  166. package/lib/typescript/types/screen.types.d.ts +31 -0
  167. package/lib/typescript/types/screen.types.d.ts.map +1 -1
  168. package/lib/typescript/utils/create-provider.d.ts +4 -1
  169. package/lib/typescript/utils/create-provider.d.ts.map +1 -1
  170. package/package.json +3 -8
  171. package/src/components/boundary/portal/components/boundary-content-portal/helpers/active-handoff-receiver.ts +89 -0
  172. package/src/components/boundary/portal/components/boundary-content-portal/hooks/use-boundary-content-portal-attachment.ts +97 -14
  173. package/src/components/boundary/portal/components/boundary-portal/hooks/use-boundary-portal-attachment.ts +2 -6
  174. package/src/components/boundary/utils/source-signals.ts +6 -4
  175. package/src/components/overlay/helpers/get-active-overlay.ts +4 -36
  176. package/src/components/overlay/helpers/retain-ready-overlay-resources.ts +10 -1
  177. package/src/components/overlay/hooks/use-overlay-slot.ts +1 -5
  178. package/src/components/overlay/variations/float-overlay.tsx +9 -12
  179. package/src/components/overlay/variations/overlay-host.tsx +24 -22
  180. package/src/components/screen-container/layers/content.tsx +12 -7
  181. package/src/components/screen-container/layers/surface.tsx +65 -0
  182. package/src/components/stack-view.tsx +8 -39
  183. package/src/configs/index.ts +0 -6
  184. package/src/configs/presets.ts +0 -447
  185. package/src/index.ts +3 -1
  186. package/src/navigators/create-blank-stack-navigator.tsx +16 -124
  187. package/src/navigators/expo-router/index.tsx +0 -23
  188. package/src/navigators/react-navigation/index.tsx +0 -3
  189. package/src/providers/screen/animation/animation.provider.tsx +60 -54
  190. package/src/providers/screen/animation/use-screen-animation.tsx +2 -14
  191. package/src/providers/screen/styles/constants.ts +2 -0
  192. package/src/providers/screen/styles/hooks/slot-resolvers.tsx +2 -17
  193. package/src/providers/screen/styles/slot.provider.tsx +2 -0
  194. package/src/providers/stack/blank-stack-state/helpers/build-blank-stack-state.ts +30 -12
  195. package/src/providers/stack/blank-stack-state/helpers/derive-blank-stack-state.ts +11 -3
  196. package/src/providers/stack/blank-stack-state/helpers/reconcile-blank-stack-routes.ts +2 -2
  197. package/src/providers/stack/blank-stack-state/helpers/state-equality.ts +27 -16
  198. package/src/providers/stack/blank-stack-state/helpers/types.ts +9 -4
  199. package/src/types/animation.types.ts +15 -9
  200. package/src/types/blank-stack.types.ts +1 -29
  201. package/src/types/index.ts +3 -1
  202. package/src/types/providers/blank-stack-provider.types.ts +14 -11
  203. package/src/types/screen.types.ts +36 -0
  204. package/src/utils/create-provider.tsx +22 -4
  205. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js +0 -16
  206. package/lib/commonjs/components/boundary/portal/utils/teleport-control.js.map +0 -1
  207. package/lib/commonjs/providers/navigation/navigation-host.provider.js +0 -56
  208. package/lib/commonjs/providers/navigation/navigation-host.provider.js.map +0 -1
  209. package/lib/commonjs/providers/navigation/react-navigation-host.js +0 -23
  210. package/lib/commonjs/providers/navigation/react-navigation-host.js.map +0 -1
  211. package/lib/module/components/boundary/portal/utils/teleport-control.js +0 -11
  212. package/lib/module/components/boundary/portal/utils/teleport-control.js.map +0 -1
  213. package/lib/module/providers/navigation/navigation-host.provider.js +0 -50
  214. package/lib/module/providers/navigation/navigation-host.provider.js.map +0 -1
  215. package/lib/module/providers/navigation/react-navigation-host.js +0 -19
  216. package/lib/module/providers/navigation/react-navigation-host.js.map +0 -1
  217. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts +0 -3
  218. package/lib/typescript/components/boundary/portal/utils/teleport-control.d.ts.map +0 -1
  219. package/lib/typescript/providers/navigation/navigation-host.provider.d.ts +0 -21
  220. package/lib/typescript/providers/navigation/navigation-host.provider.d.ts.map +0 -1
  221. package/lib/typescript/providers/navigation/react-navigation-host.d.ts +0 -3
  222. package/lib/typescript/providers/navigation/react-navigation-host.d.ts.map +0 -1
  223. package/src/components/boundary/portal/utils/teleport-control.ts +0 -13
  224. package/src/providers/navigation/navigation-host.provider.tsx +0 -75
  225. package/src/providers/navigation/react-navigation-host.tsx +0 -24
@@ -1,6 +1,8 @@
1
- import type { BlankStackDescriptor } from "../../../../types/blank-stack.types";
1
+ import type {
2
+ BlankStackDescriptorSource,
3
+ BlankStackDescriptorSources,
4
+ } from "../../../../types/providers/blank-stack-provider.types";
2
5
  import type { RouteWithKey } from "../../../../types/stack.types";
3
- import type { BlankStackDescriptors } from "./types";
4
6
 
5
7
  export const areDescriptorsEqual = <
6
8
  DescriptorMap extends Record<string, unknown>,
@@ -54,6 +56,22 @@ export const routesHaveSameKeys = <Route extends RouteWithKey>(
54
56
  return a.every((route, index) => route.key === b[index]?.key);
55
57
  };
56
58
 
59
+ export const routesAreShallowlyEqual = <Route extends RouteWithKey>(
60
+ previous: readonly Route[],
61
+ next: readonly Route[],
62
+ ): boolean => {
63
+ if (!routesHaveSameKeys(previous, next)) {
64
+ return false;
65
+ }
66
+
67
+ return previous.every((route, index) =>
68
+ areRecordsShallowEqual(
69
+ route as unknown as Record<string, unknown>,
70
+ next[index] as unknown as Record<string, unknown>,
71
+ ),
72
+ );
73
+ };
74
+
57
75
  export const getRouteChildState = (route: RouteWithKey): unknown => {
58
76
  if (!route || typeof route !== "object") {
59
77
  return undefined;
@@ -111,25 +129,18 @@ export const areRecordsShallowEqual = (
111
129
  };
112
130
 
113
131
  export const areDescriptorSourcesEquivalent = (
114
- previous: BlankStackDescriptor,
115
- next: BlankStackDescriptor,
132
+ previous: BlankStackDescriptorSource,
133
+ next: BlankStackDescriptorSource,
116
134
  ): boolean => {
117
- return (
118
- previous.navigation === next.navigation &&
119
- areRecordsShallowEqual(
120
- previous.route as unknown as Record<string, unknown>,
121
- next.route as unknown as Record<string, unknown>,
122
- ) &&
123
- areRecordsShallowEqual(
124
- previous.options as unknown as Record<string, unknown>,
125
- next.options as unknown as Record<string, unknown>,
126
- )
135
+ return areRecordsShallowEqual(
136
+ previous.options as unknown as Record<string, unknown>,
137
+ next.options as unknown as Record<string, unknown>,
127
138
  );
128
139
  };
129
140
 
130
141
  export const areDescriptorSourceMapsEquivalent = (
131
- previous: BlankStackDescriptors,
132
- next: BlankStackDescriptors,
142
+ previous: BlankStackDescriptorSources,
143
+ next: BlankStackDescriptorSources,
133
144
  ): boolean => {
134
145
  if (previous === next) return true;
135
146
 
@@ -1,18 +1,23 @@
1
1
  import type { BlankStackDescriptor } from "../../../../types/blank-stack.types";
2
- import type { BlankStackProviderProps } from "../../../../types/providers/blank-stack-provider.types";
3
2
  import type {
3
+ BlankStackDescriptorSources,
4
+ BlankStackProviderProps,
5
+ } from "../../../../types/providers/blank-stack-provider.types";
6
+ import type {
7
+ BaseStackNavigation,
4
8
  BaseStackRoute,
5
9
  BaseStackScene,
6
10
  } from "../../../../types/stack.types";
7
11
 
8
- export type BlankStackRoutes = BlankStackDescriptor["route"][];
12
+ export type BlankStackRoutes = BaseStackRoute[];
9
13
 
10
14
  export type BlankStackDescriptors = Record<string, BlankStackDescriptor>;
11
15
 
12
16
  export type LocalRoutesState = {
13
17
  routes: BlankStackRoutes;
14
18
  descriptors: BlankStackDescriptors;
15
- sourceDescriptors: BlankStackDescriptors;
19
+ sourceDescriptors: BlankStackDescriptorSources;
20
+ navigation: BaseStackNavigation;
16
21
  focusedRouteKey?: string;
17
22
  routeChildStates: Record<string, unknown>;
18
23
  scenes: BaseStackScene<BlankStackDescriptor>[];
@@ -35,7 +40,7 @@ export type BlankStackController = {
35
40
 
36
41
  export type ReconciledRoutes = {
37
42
  routes: BlankStackRoutes;
38
- descriptors: BlankStackDescriptors;
43
+ descriptors: BlankStackDescriptorSources;
39
44
  };
40
45
 
41
46
  export type SceneActivityWindow = {
@@ -279,19 +279,25 @@ export type ScreenStyleInterpolator = (
279
279
  */
280
280
  export type AnimatedViewStyle = ViewStyle & TextStyle;
281
281
 
282
- export type BoundaryTeleportControl =
283
- | boolean
284
- | {
285
- enabled?: boolean;
286
- };
282
+ /**
283
+ * Selects which matched boundary owns handoff content during a transition.
284
+ *
285
+ * `"auto"` follows the navigator's default ownership lifecycle. Use an
286
+ * explicit target when ownership needs to change at a precise interpolator
287
+ * frame, such as returning content to its source as soon as dismissal begins.
288
+ *
289
+ * @default "auto"
290
+ */
291
+ export type BoundaryHandoffTarget = "auto" | "source" | "destination";
287
292
 
288
293
  export type TransitionSlotProps = Record<string, unknown> & {
289
294
  /**
290
- * Controls whether a handoff or clipping-escape boundary should attach for
291
- * the current interpolator frame. `false` detaches the portal while keeping
292
- * hostName ownership internal.
295
+ * Selects which matched boundary owns handoff content for the current
296
+ * interpolator frame.
297
+ *
298
+ * @default "auto"
293
299
  */
294
- teleport?: BoundaryTeleportControl;
300
+ handoffTarget?: BoundaryHandoffTarget;
295
301
  };
296
302
 
297
303
  type TransitionSlotDefinition = {
@@ -1,7 +1,6 @@
1
1
  import type {
2
2
  DefaultNavigatorOptions,
3
3
  Descriptor,
4
- NavigationHelpers,
5
4
  NavigationProp,
6
5
  ParamListBase,
7
6
  RouteProp,
@@ -48,32 +47,6 @@ export type BlankStackOptionsArgs<
48
47
  theme: Theme;
49
48
  };
50
49
 
51
- export type BlankStackNavigationHelpers = NavigationHelpers<
52
- ParamListBase,
53
- BlankStackNavigationEventMap
54
- >;
55
-
56
- /**
57
- * Additional props accepted by the blank stack navigator.
58
- *
59
- * These can be passed to `<BlankStack.Navigator />` in the dynamic API, and
60
- * they are also supported as top-level keys in static navigator config.
61
- */
62
- export interface BlankStackFactoryOptions {
63
- /**
64
- * Creates an isolated navigation tree for embedded flows.
65
- *
66
- * Use this when the blank stack needs to live inside another screen or host
67
- * application without joining the parent React Navigation tree.
68
- *
69
- * When enabled, the navigator:
70
- * - wraps itself in `NavigationIndependentTree` + `NavigationContainer`
71
- *
72
- * Leave this disabled for normal top-level app stacks.
73
- */
74
- independent?: boolean;
75
- }
76
-
77
50
  /**
78
51
  * Props passed to overlay components in blank-stack.
79
52
  * Uses the shared OverlayProps type with blank-stack's navigation type.
@@ -121,8 +94,7 @@ export type BlankStackNavigatorProps = DefaultNavigatorOptions<
121
94
  BlankStackNavigationEventMap,
122
95
  BlankStackNavigationProp<ParamListBase>
123
96
  > &
124
- StackRouterOptions &
125
- BlankStackFactoryOptions;
97
+ StackRouterOptions;
126
98
 
127
99
  export type BlankStackDescriptor = Descriptor<
128
100
  BlankStackNavigationOptions,
@@ -2,7 +2,7 @@ export { FALSE, TRUE } from "../constants";
2
2
  export type {
3
3
  AnimatedViewStyle,
4
4
  AnimationConfig,
5
- BoundaryTeleportControl,
5
+ BoundaryHandoffTarget,
6
6
  ScreenInterpolationProps,
7
7
  ScreenStyleInterpolator,
8
8
  ScreenTransitionAccessor,
@@ -60,6 +60,8 @@ export type {
60
60
  ScreenContentComponentProps,
61
61
  ScreenKey,
62
62
  ScreenLayerComponentProps,
63
+ ScreenSurfaceComponent,
64
+ ScreenSurfaceComponentProps,
63
65
  ScreenTransitionConfig,
64
66
  SheetSnapBehavior,
65
67
  TransitionAwareProps,
@@ -1,24 +1,27 @@
1
- import type {
2
- BlankStackDescriptor,
3
- BlankStackNavigationHelpers,
4
- } from "../blank-stack.types";
1
+ import type { NavigatorDescriptor } from "standard-navigation";
2
+ import type { BlankStackNavigationOptions } from "../blank-stack.types";
5
3
  import type {
6
4
  BaseStackDescriptor,
5
+ BaseStackNavigation,
7
6
  BaseStackRoute,
8
7
  BaseStackScene,
9
8
  BaseStackState,
10
9
  } from "../stack.types";
11
10
 
12
11
  export interface BlankStackProviderProps {
13
- state: BaseStackState<BlankStackDescriptor["route"]>;
14
- navigation: BlankStackNavigationHelpers;
15
- descriptors: Record<string, BlankStackDescriptor>;
16
- describe: (
17
- route: BlankStackDescriptor["route"],
18
- placeholder: boolean,
19
- ) => BlankStackDescriptor;
12
+ state: BaseStackState<BaseStackRoute>;
13
+ navigation: BaseStackNavigation;
14
+ descriptors: BlankStackDescriptorSources;
20
15
  }
21
16
 
17
+ export type BlankStackDescriptorSource =
18
+ NavigatorDescriptor<BlankStackNavigationOptions>;
19
+
20
+ export type BlankStackDescriptorSources = Record<
21
+ string,
22
+ BlankStackDescriptorSource
23
+ >;
24
+
22
25
  export interface BlankStackStoreValue {
23
26
  navigatorKey: string;
24
27
  routeKeys: string[];
@@ -100,6 +100,17 @@ export type ScreenContentComponentProps = ScreenLayerComponentProps & {
100
100
  children: ReactNode;
101
101
  };
102
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
+
103
114
  /**
104
115
  * Custom renderer for the backdrop layer.
105
116
  *
@@ -126,6 +137,20 @@ export type ScreenContentComponent =
126
137
  | ComponentType<any>
127
138
  | ComponentType<ScreenContentComponentProps>;
128
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
+
129
154
  /**
130
155
  * Controls how an inactive screen is retained after it is no longer active.
131
156
  *
@@ -441,4 +466,15 @@ export type ScreenTransitionConfig = {
441
466
  * @default undefined
442
467
  */
443
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;
444
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
- };