react-native-screen-transitions 2.4.2-beta.0 → 2.4.2-beta.2

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 (100) hide show
  1. package/lib/commonjs/components/controllers/screen-lifecycle.blank.js +59 -0
  2. package/lib/commonjs/components/controllers/screen-lifecycle.blank.js.map +1 -0
  3. package/lib/commonjs/hooks/animation/use-screen-animation.js +4 -2
  4. package/lib/commonjs/hooks/animation/use-screen-animation.js.map +1 -1
  5. package/lib/commonjs/integrations/blank-stack/components/Header.js +9 -16
  6. package/lib/commonjs/integrations/blank-stack/components/Header.js.map +1 -1
  7. package/lib/commonjs/integrations/blank-stack/components/StackView.js +9 -18
  8. package/lib/commonjs/integrations/blank-stack/components/StackView.js.map +1 -1
  9. package/lib/commonjs/integrations/blank-stack/navigators/createBlankStackNavigator.js +0 -6
  10. package/lib/commonjs/integrations/blank-stack/navigators/createBlankStackNavigator.js.map +1 -1
  11. package/lib/commonjs/integrations/blank-stack/providers/screen-transition-provider.js +12 -0
  12. package/lib/commonjs/integrations/blank-stack/providers/screen-transition-provider.js.map +1 -0
  13. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.js → calculate-active-screens-limit.js} +1 -1
  14. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.js.map +1 -0
  15. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/index.js +7 -12
  16. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  17. package/lib/commonjs/integrations/native-stack/providers/screen-transition-provider.js +10 -0
  18. package/lib/commonjs/integrations/native-stack/providers/screen-transition-provider.js.map +1 -0
  19. package/lib/commonjs/integrations/native-stack/views/NativeStackView.native.js +1 -1
  20. package/lib/commonjs/providers/create-screen-transition-provider.js +38 -0
  21. package/lib/commonjs/providers/create-screen-transition-provider.js.map +1 -0
  22. package/lib/commonjs/providers/keys.js.map +1 -1
  23. package/lib/commonjs/providers/transition-styles.js +3 -2
  24. package/lib/commonjs/providers/transition-styles.js.map +1 -1
  25. package/lib/module/components/controllers/screen-lifecycle.blank.js +53 -0
  26. package/lib/module/components/controllers/screen-lifecycle.blank.js.map +1 -0
  27. package/lib/module/hooks/animation/use-screen-animation.js +4 -2
  28. package/lib/module/hooks/animation/use-screen-animation.js.map +1 -1
  29. package/lib/module/integrations/blank-stack/components/Header.js +9 -16
  30. package/lib/module/integrations/blank-stack/components/Header.js.map +1 -1
  31. package/lib/module/integrations/blank-stack/components/StackView.js +9 -18
  32. package/lib/module/integrations/blank-stack/components/StackView.js.map +1 -1
  33. package/lib/module/integrations/blank-stack/navigators/createBlankStackNavigator.js +1 -6
  34. package/lib/module/integrations/blank-stack/navigators/createBlankStackNavigator.js.map +1 -1
  35. package/lib/module/integrations/blank-stack/providers/screen-transition-provider.js +8 -0
  36. package/lib/module/integrations/blank-stack/providers/screen-transition-provider.js.map +1 -0
  37. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.js → calculate-active-screens-limit.js} +1 -1
  38. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.js.map +1 -0
  39. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/index.js +8 -13
  40. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/index.js.map +1 -1
  41. package/lib/module/integrations/native-stack/providers/screen-transition-provider.js +6 -0
  42. package/lib/module/integrations/native-stack/providers/screen-transition-provider.js.map +1 -0
  43. package/lib/module/integrations/native-stack/views/NativeStackView.native.js +1 -1
  44. package/lib/module/integrations/native-stack/views/NativeStackView.native.js.map +1 -1
  45. package/lib/module/providers/create-screen-transition-provider.js +34 -0
  46. package/lib/module/providers/create-screen-transition-provider.js.map +1 -0
  47. package/lib/module/providers/keys.js.map +1 -1
  48. package/lib/module/providers/transition-styles.js +3 -2
  49. package/lib/module/providers/transition-styles.js.map +1 -1
  50. package/lib/typescript/components/controllers/screen-lifecycle.blank.d.ts +7 -0
  51. package/lib/typescript/components/controllers/screen-lifecycle.blank.d.ts.map +1 -0
  52. package/lib/typescript/hooks/animation/use-screen-animation.d.ts +1 -1
  53. package/lib/typescript/hooks/animation/use-screen-animation.d.ts.map +1 -1
  54. package/lib/typescript/integrations/blank-stack/components/Header.d.ts.map +1 -1
  55. package/lib/typescript/integrations/blank-stack/components/StackView.d.ts.map +1 -1
  56. package/lib/typescript/integrations/blank-stack/navigators/createBlankStackNavigator.d.ts +0 -93
  57. package/lib/typescript/integrations/blank-stack/navigators/createBlankStackNavigator.d.ts.map +1 -1
  58. package/lib/typescript/integrations/blank-stack/providers/screen-transition-provider.d.ts +8 -0
  59. package/lib/typescript/integrations/blank-stack/providers/screen-transition-provider.d.ts.map +1 -0
  60. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_types.d.ts +1 -2
  61. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_types.d.ts.map +1 -1
  62. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.d.ts → calculate-active-screens-limit.d.ts} +1 -1
  63. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.d.ts.map +1 -0
  64. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/index.d.ts.map +1 -1
  65. package/lib/typescript/integrations/native-stack/providers/screen-transition-provider.d.ts +8 -0
  66. package/lib/typescript/integrations/native-stack/providers/screen-transition-provider.d.ts.map +1 -0
  67. package/lib/typescript/providers/create-screen-transition-provider.d.ts +18 -0
  68. package/lib/typescript/providers/create-screen-transition-provider.d.ts.map +1 -0
  69. package/lib/typescript/providers/keys.d.ts +14 -12
  70. package/lib/typescript/providers/keys.d.ts.map +1 -1
  71. package/lib/typescript/providers/transition-styles.d.ts +2 -1
  72. package/lib/typescript/providers/transition-styles.d.ts.map +1 -1
  73. package/lib/typescript/types/blank-stack.navigator.d.ts +0 -5
  74. package/lib/typescript/types/blank-stack.navigator.d.ts.map +1 -1
  75. package/package.json +1 -1
  76. package/src/components/controllers/screen-lifecycle.blank.ts +62 -0
  77. package/src/hooks/animation/use-screen-animation.tsx +8 -2
  78. package/src/integrations/blank-stack/components/Header.tsx +2 -4
  79. package/src/integrations/blank-stack/components/StackView.tsx +5 -11
  80. package/src/integrations/blank-stack/navigators/createBlankStackNavigator.tsx +0 -11
  81. package/src/integrations/blank-stack/providers/screen-transition-provider.tsx +9 -0
  82. package/src/integrations/blank-stack/utils/with-stack-navigation/_types.ts +1 -2
  83. package/src/integrations/blank-stack/utils/with-stack-navigation/index.tsx +8 -21
  84. package/src/integrations/native-stack/providers/screen-transition-provider.tsx +8 -0
  85. package/src/integrations/native-stack/views/NativeStackView.native.tsx +1 -1
  86. package/src/providers/create-screen-transition-provider.tsx +55 -0
  87. package/src/providers/keys.tsx +28 -16
  88. package/src/providers/transition-styles.tsx +6 -2
  89. package/src/types/blank-stack.navigator.ts +0 -5
  90. package/lib/commonjs/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js.map +0 -1
  91. package/lib/commonjs/providers/screen-transition-provider.js +0 -34
  92. package/lib/commonjs/providers/screen-transition-provider.js.map +0 -1
  93. package/lib/module/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.js.map +0 -1
  94. package/lib/module/providers/screen-transition-provider.js +0 -30
  95. package/lib/module/providers/screen-transition-provider.js.map +0 -1
  96. package/lib/typescript/integrations/blank-stack/utils/with-stack-navigation/_utils/calculateActiveScreensLimit.d.ts.map +0 -1
  97. package/lib/typescript/providers/screen-transition-provider.d.ts +0 -11
  98. package/lib/typescript/providers/screen-transition-provider.d.ts.map +0 -1
  99. package/src/providers/screen-transition-provider.tsx +0 -33
  100. /package/src/integrations/blank-stack/utils/with-stack-navigation/_utils/{calculateActiveScreensLimit.ts → calculate-active-screens-limit.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  import { type NavigatorTypeBagBase, type ParamListBase, type StackNavigationState, type StaticConfig, type TypedNavigator } from "@react-navigation/native";
2
- import * as React from "react";
3
2
  import type { BlankStackNavigationEventMap, BlankStackNavigationOptions, BlankStackNavigationProp, BlankStackNavigatorProps } from "../../../types/blank-stack.navigator";
4
3
  declare function BlankStackNavigator({ id, initialRouteName, children, layout, screenListeners, screenOptions, screenLayout, ...rest }: BlankStackNavigatorProps): import("react/jsx-runtime").JSX.Element;
5
4
  export declare function createBlankStackNavigator<const ParamList extends ParamListBase, const NavigatorID extends string | undefined = undefined, const TypeBag extends NavigatorTypeBagBase = {
@@ -13,97 +12,5 @@ export declare function createBlankStackNavigator<const ParamList extends ParamL
13
12
  };
14
13
  Navigator: typeof BlankStackNavigator;
15
14
  }, const Config extends StaticConfig<TypeBag> = StaticConfig<TypeBag>>(config?: Config): TypedNavigator<TypeBag, Config>;
16
- export declare const BlankStack: React.ForwardRefExoticComponent<Omit<Omit<BlankStackNavigatorProps, "id" | "children" | "layout" | "screenLayout" | "initialRouteName" | "screenListeners" | "screenOptions" | "UNSTABLE_router"> & import("@react-navigation/native").DefaultRouterOptions<string> & {
17
- children: React.ReactNode;
18
- layout?: ((props: {
19
- state: StackNavigationState<ParamListBase>;
20
- navigation: import("@react-navigation/native").NavigationHelpers<ParamListBase, {}>;
21
- descriptors: Record<string, import("@react-navigation/native").Descriptor<BlankStackNavigationOptions, import("@react-navigation/native").NavigationProp<ParamListBase, string, string | undefined, StackNavigationState<ParamListBase>, BlankStackNavigationOptions, BlankStackNavigationEventMap>, import("@react-navigation/native").RouteProp<ParamListBase, string>>>;
22
- children: React.ReactNode;
23
- }) => React.ReactElement) | undefined;
24
- screenListeners?: Partial<{
25
- transitionStart: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionStart", unknown>;
26
- transitionEnd: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionEnd", unknown>;
27
- gestureCancel: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "gestureCancel", unknown>;
28
- sheetDetentChange: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "sheetDetentChange", unknown>;
29
- focus: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "focus", unknown>;
30
- blur: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "blur", unknown>;
31
- state: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "state", unknown>;
32
- beforeRemove: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "beforeRemove", true>;
33
- }> | ((props: {
34
- route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
35
- navigation: BlankStackNavigationProp<ParamListBase, string, undefined>;
36
- }) => Partial<{
37
- transitionStart: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionStart", unknown>;
38
- transitionEnd: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionEnd", unknown>;
39
- gestureCancel: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "gestureCancel", unknown>;
40
- sheetDetentChange: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "sheetDetentChange", unknown>;
41
- focus: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "focus", unknown>;
42
- blur: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "blur", unknown>;
43
- state: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "state", unknown>;
44
- beforeRemove: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "beforeRemove", true>;
45
- }>) | undefined;
46
- screenOptions?: BlankStackNavigationOptions | ((props: {
47
- route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
48
- navigation: BlankStackNavigationProp<ParamListBase, string, undefined>;
49
- theme: ReactNavigation.Theme;
50
- }) => BlankStackNavigationOptions) | undefined;
51
- screenLayout?: ((props: import("@react-navigation/native").ScreenLayoutArgs<ParamListBase, string, BlankStackNavigationOptions, BlankStackNavigationProp<ParamListBase, string, undefined>>) => React.ReactElement) | undefined;
52
- UNSTABLE_router?: (<Action extends Readonly<{
53
- type: string;
54
- payload?: object;
55
- source?: string;
56
- target?: string;
57
- }>>(original: import("@react-navigation/native").Router<StackNavigationState<ParamListBase>, Action>) => Partial<import("@react-navigation/native").Router<StackNavigationState<ParamListBase>, Action>>) | undefined;
58
- } & {
59
- id?: undefined;
60
- }, "children"> & Partial<Pick<Omit<BlankStackNavigatorProps, "id" | "children" | "layout" | "screenLayout" | "initialRouteName" | "screenListeners" | "screenOptions" | "UNSTABLE_router"> & import("@react-navigation/native").DefaultRouterOptions<string> & {
61
- children: React.ReactNode;
62
- layout?: ((props: {
63
- state: StackNavigationState<ParamListBase>;
64
- navigation: import("@react-navigation/native").NavigationHelpers<ParamListBase, {}>;
65
- descriptors: Record<string, import("@react-navigation/native").Descriptor<BlankStackNavigationOptions, import("@react-navigation/native").NavigationProp<ParamListBase, string, string | undefined, StackNavigationState<ParamListBase>, BlankStackNavigationOptions, BlankStackNavigationEventMap>, import("@react-navigation/native").RouteProp<ParamListBase, string>>>;
66
- children: React.ReactNode;
67
- }) => React.ReactElement) | undefined;
68
- screenListeners?: Partial<{
69
- transitionStart: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionStart", unknown>;
70
- transitionEnd: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionEnd", unknown>;
71
- gestureCancel: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "gestureCancel", unknown>;
72
- sheetDetentChange: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "sheetDetentChange", unknown>;
73
- focus: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "focus", unknown>;
74
- blur: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "blur", unknown>;
75
- state: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "state", unknown>;
76
- beforeRemove: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "beforeRemove", true>;
77
- }> | ((props: {
78
- route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
79
- navigation: BlankStackNavigationProp<ParamListBase, string, undefined>;
80
- }) => Partial<{
81
- transitionStart: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionStart", unknown>;
82
- transitionEnd: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "transitionEnd", unknown>;
83
- gestureCancel: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "gestureCancel", unknown>;
84
- sheetDetentChange: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "sheetDetentChange", unknown>;
85
- focus: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "focus", unknown>;
86
- blur: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "blur", unknown>;
87
- state: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "state", unknown>;
88
- beforeRemove: import("@react-navigation/native").EventListenerCallback<BlankStackNavigationEventMap & import("@react-navigation/native").EventMapCore<StackNavigationState<ParamListBase>>, "beforeRemove", true>;
89
- }>) | undefined;
90
- screenOptions?: BlankStackNavigationOptions | ((props: {
91
- route: import("@react-navigation/native").RouteProp<ParamListBase, string>;
92
- navigation: BlankStackNavigationProp<ParamListBase, string, undefined>;
93
- theme: ReactNavigation.Theme;
94
- }) => BlankStackNavigationOptions) | undefined;
95
- screenLayout?: ((props: import("@react-navigation/native").ScreenLayoutArgs<ParamListBase, string, BlankStackNavigationOptions, BlankStackNavigationProp<ParamListBase, string, undefined>>) => React.ReactElement) | undefined;
96
- UNSTABLE_router?: (<Action extends Readonly<{
97
- type: string;
98
- payload?: object;
99
- source?: string;
100
- target?: string;
101
- }>>(original: import("@react-navigation/native").Router<StackNavigationState<ParamListBase>, Action>) => Partial<import("@react-navigation/native").Router<StackNavigationState<ParamListBase>, Action>>) | undefined;
102
- } & {
103
- id?: undefined;
104
- }, "children">> & React.RefAttributes<unknown>> & {
105
- Screen: (props: import("expo-router").ScreenProps<BlankStackNavigationOptions, StackNavigationState<ParamListBase>, BlankStackNavigationEventMap>) => null;
106
- Protected: typeof import("expo-router/build/views/Protected").Protected;
107
- };
108
15
  export {};
109
16
  //# sourceMappingURL=createBlankStackNavigator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createBlankStackNavigator.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/blank-stack/navigators/createBlankStackNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAGzB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,iBAAS,mBAAmB,CAAC,EAC3B,EAAE,EACF,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,eAAe,EACf,aAAa,EACb,YAAY,EACZ,GAAG,IAAI,EACR,EAAE,wBAAwB,2CAuD1B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,CAAC,SAAS,SAAS,aAAa,EACrC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxD,KAAK,CAAC,OAAO,SAAS,oBAAoB,GAAG;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvC,aAAa,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,EAAE,4BAA4B,CAAC;IACvC,cAAc,EAAE;SACb,SAAS,IAAI,MAAM,SAAS,GAAG,wBAAwB,CACtD,SAAS,EACT,SAAS,EACT,WAAW,CACZ;KACF,CAAC;IACF,SAAS,EAAE,OAAO,mBAAmB,CAAC;CACvC,EACD,KAAK,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAClE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAElD;AAMD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKX,CAAC"}
1
+ {"version":3,"file":"createBlankStackNavigator.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/blank-stack/navigators/createBlankStackNavigator.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAGlB,KAAK,oBAAoB,EAGzB,KAAK,YAAY,EACjB,KAAK,cAAc,EAEpB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,iBAAS,mBAAmB,CAAC,EAC3B,EAAE,EACF,gBAAgB,EAChB,QAAQ,EACR,MAAM,EACN,eAAe,EACf,aAAa,EACb,YAAY,EACZ,GAAG,IAAI,EACR,EAAE,wBAAwB,2CAuD1B;AAED,wBAAgB,yBAAyB,CACvC,KAAK,CAAC,SAAS,SAAS,aAAa,EACrC,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,SAAS,GAAG,SAAS,EACxD,KAAK,CAAC,OAAO,SAAS,oBAAoB,GAAG;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACvC,aAAa,EAAE,2BAA2B,CAAC;IAC3C,QAAQ,EAAE,4BAA4B,CAAC;IACvC,cAAc,EAAE;SACb,SAAS,IAAI,MAAM,SAAS,GAAG,wBAAwB,CACtD,SAAS,EACT,SAAS,EACT,WAAW,CACZ;KACF,CAAC;IACF,SAAS,EAAE,OAAO,mBAAmB,CAAC;CACvC,EACD,KAAK,CAAC,MAAM,SAAS,YAAY,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,EAClE,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAElD"}
@@ -0,0 +1,8 @@
1
+ import type { BlankStackDescriptor } from "../../../types/blank-stack.navigator";
2
+ export declare const ScreenTransitionProvider: ({ previous, current, next, children, }: {
3
+ previous?: BlankStackDescriptor | undefined;
4
+ current: BlankStackDescriptor;
5
+ next?: BlankStackDescriptor | undefined;
6
+ children: React.ReactNode;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=screen-transition-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-transition-provider.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/blank-stack/providers/screen-transition-provider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,eAAO,MAAM,wBAAwB;;;;;6CAInC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import type { NavigationRoute, ParamListBase, Route, RouteProp, StackNavigationState } from "@react-navigation/native";
2
- import type React from "react";
3
2
  import type { SharedValue } from "react-native-reanimated";
4
3
  import type { BlankStackDescriptor, BlankStackDescriptorMap, BlankStackNavigationHelpers, BlankStackScene } from "../../../../types/blank-stack.navigator";
5
4
  export interface StackNavigationContextValue {
@@ -11,7 +10,7 @@ export interface StackNavigationContextValue {
11
10
  handleCloseRoute: (payload: {
12
11
  route: Route<string>;
13
12
  }) => void;
14
- FloatHeader: React.MemoExoticComponent<() => React.JSX.Element | null>;
13
+ shouldShowFloatHeader: boolean;
15
14
  focusedIndex: number;
16
15
  }
17
16
  export interface StackNavigationContextProps {
@@ -1 +1 @@
1
- {"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/blank-stack/utils/with-stack-navigation/_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACL,SAAS,EACT,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EAChB,MAAM,yCAAyC,CAAC;AAEjD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACjD,WAAW,EAAE,uBAAuB,CAAC;IACrC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,WAAW,EAAE,KAAK,CAAC,mBAAmB,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACvE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,2BAA2B,CAAC;IACxC,WAAW,EAAE,uBAAuB,CAAC;IACrC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,oBAAoB,CAAC;CAC3B"}
1
+ {"version":3,"file":"_types.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/blank-stack/utils/with-stack-navigation/_types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACL,SAAS,EACT,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,eAAe,EAChB,MAAM,yCAAyC,CAAC;AAEjD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC;IACjD,WAAW,EAAE,uBAAuB,CAAC;IACrC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,gBAAgB,EAAE,CAAC,OAAO,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAC9D,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3C,UAAU,EAAE,2BAA2B,CAAC;IACxC,WAAW,EAAE,uBAAuB,CAAC;IACrC,QAAQ,EAAE,CACR,KAAK,EAAE,SAAS,CAAC,aAAa,CAAC,EAC/B,WAAW,EAAE,OAAO,KACjB,oBAAoB,CAAC;CAC3B"}
@@ -1,4 +1,4 @@
1
1
  import type { NavigationRoute, ParamListBase } from "@react-navigation/native";
2
2
  import type { BlankStackDescriptorMap } from "../../../../../types/blank-stack.navigator";
3
3
  export declare function calculateActiveScreensLimit(routes: NavigationRoute<ParamListBase, string>[], descriptors: BlankStackDescriptorMap): number;
4
- //# sourceMappingURL=calculateActiveScreensLimit.d.ts.map
4
+ //# sourceMappingURL=calculate-active-screens-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate-active-screens-limit.d.ts","sourceRoot":"","sources":["../../../../../../../src/integrations/blank-stack/utils/with-stack-navigation/_utils/calculate-active-screens-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AAE1F,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,eAAe,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,EAChD,WAAW,EAAE,uBAAuB,GACnC,MAAM,CAsBR"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/blank-stack/utils/with-stack-navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAKnB,MAAM,OAAO,CAAC;AAIf,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,sBAAsB,6DACsB,CAAC;AAE1D,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,aAAa,CAAC,2BAA2B,CAAC,IAEd,OAAO,2BAA2B,6CA0D1E;AAED,eAAO,MAAM,yBAAyB,mCAUrC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/integrations/blank-stack/utils/with-stack-navigation/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAsC,MAAM,OAAO,CAAC;AAG/E,OAAO,KAAK,EACV,2BAA2B,EAC3B,2BAA2B,EAC5B,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,sBAAsB,6DACsB,CAAC;AAE1D,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,aAAa,CAAC,2BAA2B,CAAC,IAEd,OAAO,2BAA2B,6CAoD1E;AAED,eAAO,MAAM,yBAAyB,mCAUrC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { NativeStackDescriptor } from "../../../types/native-stack.navigator";
2
+ export declare const ScreenTransitionProvider: ({ previous, current, next, children, }: {
3
+ previous?: NativeStackDescriptor | undefined;
4
+ current: NativeStackDescriptor;
5
+ next?: NativeStackDescriptor | undefined;
6
+ children: React.ReactNode;
7
+ }) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=screen-transition-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-transition-provider.d.ts","sourceRoot":"","sources":["../../../../../src/integrations/native-stack/providers/screen-transition-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAInF,eAAO,MAAM,wBAAwB;;;;;6CAGlC,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type React from "react";
2
+ import type { Descriptor } from "@react-navigation/native";
3
+ type AnyDescriptor = Descriptor<any, any, any>;
4
+ type ScreenLifecycleComponent = React.ComponentType<{
5
+ children: React.ReactNode;
6
+ }>;
7
+ type ScreenTransitionProviderProps<DescriptorType extends AnyDescriptor> = {
8
+ previous?: DescriptorType;
9
+ current: DescriptorType;
10
+ next?: DescriptorType;
11
+ children: React.ReactNode;
12
+ };
13
+ type CreateScreenTransitionProviderOptions = {
14
+ defaultEnableTransitions?: boolean;
15
+ };
16
+ export declare function createScreenTransitionProvider<DescriptorType extends AnyDescriptor>(ScreenLifecycleComponent: ScreenLifecycleComponent, { defaultEnableTransitions }?: CreateScreenTransitionProviderOptions): ({ previous, current, next, children, }: ScreenTransitionProviderProps<DescriptorType>) => import("react/jsx-runtime").JSX.Element;
17
+ export {};
18
+ //# sourceMappingURL=create-screen-transition-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-screen-transition-provider.d.ts","sourceRoot":"","sources":["../../../src/providers/create-screen-transition-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAM3D,KAAK,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAE/C,KAAK,wBAAwB,GAAG,KAAK,CAAC,aAAa,CAAC;IAClD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC,CAAC;AAEH,KAAK,6BAA6B,CAAC,cAAc,SAAS,aAAa,IAAI;IACzE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,qCAAqC,GAAG;IAC3C,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,cAAc,SAAS,aAAa,EAEpC,wBAAwB,EAAE,wBAAwB,EAClD,EAAE,wBAAgC,EAAE,GAAE,qCAA0C,IAEvC,wCAKtC,6BAA6B,CAAC,cAAc,CAAC,6CAmBjD"}
@@ -1,16 +1,18 @@
1
+ import type { Descriptor } from "@react-navigation/native";
1
2
  import type { NativeStackDescriptor } from "../types/native-stack.navigator";
2
- interface KeysContextType {
3
- previous?: NativeStackDescriptor;
4
- current: NativeStackDescriptor;
5
- next?: NativeStackDescriptor;
6
- }
7
- interface KeysProviderProps {
3
+ type AnyDescriptor = Descriptor<any, any, any>;
4
+ type KeysProviderProps<DescriptorType extends AnyDescriptor> = {
8
5
  children: React.ReactNode;
9
- previous?: NativeStackDescriptor;
10
- current: NativeStackDescriptor;
11
- next?: NativeStackDescriptor;
12
- }
13
- export declare const KeysProvider: ({ children, previous, current, next, }: KeysProviderProps) => import("react/jsx-runtime").JSX.Element;
14
- export declare const useKeys: () => KeysContextType;
6
+ previous?: DescriptorType;
7
+ current: DescriptorType;
8
+ next?: DescriptorType;
9
+ };
10
+ type KeysContextType<DescriptorType extends AnyDescriptor> = {
11
+ previous?: DescriptorType;
12
+ current: DescriptorType;
13
+ next?: DescriptorType;
14
+ };
15
+ export declare const KeysProvider: <DescriptorType extends AnyDescriptor>({ children, previous, current, next, }: KeysProviderProps<DescriptorType>) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const useKeys: <DescriptorType extends AnyDescriptor = NativeStackDescriptor>() => KeysContextType<DescriptorType>;
15
17
  export {};
16
18
  //# sourceMappingURL=keys.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/providers/keys.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAID,UAAU,iBAAiB;IACzB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,IAAI,CAAC,EAAE,qBAAqB,CAAC;CAC9B;AAED,eAAO,MAAM,YAAY,GAAI,wCAK1B,iBAAiB,4CAMnB,CAAC;AAEF,eAAO,MAAM,OAAO,QAAO,eAM1B,CAAC"}
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/providers/keys.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAE7E,KAAK,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAQ/C,KAAK,iBAAiB,CAAC,cAAc,SAAS,aAAa,IAAI;IAC7D,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAEF,KAAK,eAAe,CAAC,cAAc,SAAS,aAAa,IAAI;IAC3D,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB,CAAC;AAIF,eAAO,MAAM,YAAY,GAAI,cAAc,SAAS,aAAa,EAAE,wCAKhE,iBAAiB,CAAC,cAAc,CAAC,4CAOnC,CAAC;AAEF,eAAO,MAAM,OAAO,GAClB,cAAc,SAAS,aAAa,GAAG,qBAAqB,OACzD,eAAe,CAAC,cAAc,CAMlC,CAAC"}
@@ -2,8 +2,9 @@ import { useDerivedValue } from "react-native-reanimated";
2
2
  import type { TransitionInterpolatedStyle } from "../types/animation";
3
3
  type Props = {
4
4
  children: React.ReactNode;
5
+ defaultEnableTransitions?: boolean;
5
6
  };
6
- export declare function TransitionStylesProvider({ children }: Props): import("react/jsx-runtime").JSX.Element;
7
+ export declare function TransitionStylesProvider({ children, defaultEnableTransitions, }: Props): import("react/jsx-runtime").JSX.Element;
7
8
  export declare function useTransitionStyles(): {
8
9
  stylesMap: ReturnType<typeof useDerivedValue<TransitionInterpolatedStyle>>;
9
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transition-styles.d.ts","sourceRoot":"","sources":["../../../src/providers/transition-styles.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGtE,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAQF,wBAAgB,wBAAwB,CAAC,EAAE,QAAQ,EAAE,EAAE,KAAK,2CA4C3D;AAED,wBAAgB,mBAAmB;eAlDtB,UAAU,CAAC,OAAO,eAAe,CAAC,2BAA2B,CAAC,CAAC;EA0D3E"}
1
+ {"version":3,"file":"transition-styles.d.ts","sourceRoot":"","sources":["../../../src/providers/transition-styles.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAGtE,KAAK,KAAK,GAAG;IACZ,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAQF,wBAAgB,wBAAwB,CAAC,EACxC,QAAQ,EACR,wBAAgC,GAChC,EAAE,KAAK,2CA4CP;AAED,wBAAgB,mBAAmB;eArDtB,UAAU,CAAC,OAAO,eAAe,CAAC,2BAA2B,CAAC,CAAC;EA6D3E"}
@@ -1,5 +1,4 @@
1
1
  import type { DefaultNavigatorOptions, Descriptor, NavigationHelpers, NavigationProp, ParamListBase, Route, RouteProp, StackActionHelpers, StackNavigationState, StackRouterOptions, Theme } from "@react-navigation/native";
2
- import type { StyleProp, ViewStyle } from "react-native";
3
2
  import type { DerivedValue } from "react-native-reanimated";
4
3
  import type { EdgeInsets } from "react-native-safe-area-context";
5
4
  import type { ScreenProps } from "react-native-screens";
@@ -197,10 +196,6 @@ export type BlankStackNavigationOptions = BlankStackScreenTransitionConfig & {
197
196
  * @platform android, ios
198
197
  */
199
198
  statusBarStyle?: ScreenProps["statusBarStyle"];
200
- /**
201
- * Style object for the scene content.
202
- */
203
- contentStyle?: StyleProp<ViewStyle>;
204
199
  /**
205
200
  * Whether inactive screens should be suspended from re-rendering. Defaults to `false`.
206
201
  * Defaults to `true` when `enableFreeze()` is run at the top of the application.
@@ -1 +1 @@
1
- {"version":3,"file":"blank-stack.navigator.d.ts","sourceRoot":"","sources":["../../../src/types/blank-stack.navigator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blank-stack.navigator.d.ts","sourceRoot":"","sources":["../../../src/types/blank-stack.navigator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-screen-transitions",
3
- "version": "2.4.2-beta.0",
3
+ "version": "2.4.2-beta.2",
4
4
  "description": "Easy screen transitions for React Native and Expo",
5
5
  "author": "Ed",
6
6
  "license": "MIT",
@@ -0,0 +1,62 @@
1
+ import type React from "react";
2
+ import { useLayoutEffect } from "react";
3
+ import { useAnimatedReaction } from "react-native-reanimated";
4
+
5
+ import { useParentGestureRegistry } from "../../hooks/gestures/use-parent-gesture-registry";
6
+ import useStableCallback from "../../hooks/use-stable-callback";
7
+ import { useKeys } from "../../providers/keys";
8
+ import { Animations } from "../../stores/animations";
9
+ import { startScreenTransition } from "../../utils/animation/start-screen-transition";
10
+ import { useStackNavigationContext } from "../../integrations/blank-stack/utils/with-stack-navigation";
11
+ import type { BlankStackDescriptor } from "../../types/blank-stack.navigator";
12
+
13
+ interface ScreenLifecycleProps {
14
+ children: React.ReactNode;
15
+ }
16
+
17
+ export const ScreenLifecycleController = ({
18
+ children,
19
+ }: ScreenLifecycleProps) => {
20
+ const { current } = useKeys<BlankStackDescriptor>();
21
+ const { handleCloseRoute, closingRouteKeysShared } =
22
+ useStackNavigationContext();
23
+
24
+ const animations = Animations.getAll(current.route.key);
25
+
26
+ const handleInitialize = useStableCallback(() => {
27
+ startScreenTransition({
28
+ target: "open",
29
+ spec: current.options.transitionSpec,
30
+ animations,
31
+ });
32
+ });
33
+
34
+ const handleCloseEnd = useStableCallback((finished: boolean) => {
35
+ if (!finished) {
36
+ return;
37
+ }
38
+
39
+ handleCloseRoute({ route: current.route });
40
+ });
41
+
42
+ useAnimatedReaction(
43
+ () => closingRouteKeysShared.value,
44
+ (keys) => {
45
+ if (keys.includes(current.route.key)) {
46
+ startScreenTransition({
47
+ target: "close",
48
+ spec: current.options.transitionSpec,
49
+ animations,
50
+ onAnimationFinish: handleCloseEnd,
51
+ });
52
+ }
53
+ }
54
+ );
55
+
56
+ useLayoutEffect(handleInitialize);
57
+
58
+ // important for t.a scrollviews inside nested navigators.
59
+ useParentGestureRegistry();
60
+
61
+ return children;
62
+ };
@@ -71,7 +71,7 @@ const useBuildScreenTransitionState = (
71
71
  }, [key, descriptor?.route]);
72
72
  };
73
73
 
74
- export function _useScreenAnimation() {
74
+ export function _useScreenAnimation(defaultEnableTransitions = false) {
75
75
  const dimensions = useWindowDimensions();
76
76
  const insets = useSafeAreaInsets();
77
77
 
@@ -92,7 +92,13 @@ export function _useScreenAnimation() {
92
92
 
93
93
  const previous = unwrap(prevAnimation, previousDescriptor?.route.key);
94
94
 
95
- const next = nextDescriptor?.options?.enableTransitions
95
+ const nextEnableTransitions = nextDescriptor?.options?.enableTransitions;
96
+ const shouldEnableNext =
97
+ nextEnableTransitions === undefined
98
+ ? defaultEnableTransitions
99
+ : nextEnableTransitions;
100
+
101
+ const next = shouldEnableNext
96
102
  ? unwrap(nextAnimation, nextDescriptor?.route.key)
97
103
  : undefined;
98
104
 
@@ -8,6 +8,7 @@ import { useSafeAreaInsets } from "react-native-safe-area-context";
8
8
  import { useScreenAnimation } from "../../../hooks/animation/use-screen-animation";
9
9
  import { KeysProvider, useKeys } from "../../../providers/keys";
10
10
  import type {
11
+ BlankStackDescriptor,
11
12
  BlankStackHeaderProps,
12
13
  BlankStackScene,
13
14
  } from "../../../types/blank-stack.navigator";
@@ -89,7 +90,6 @@ const FloatHeader = () => {
89
90
  const next = scenes[headerIndex + 1]?.descriptor;
90
91
 
91
92
  return (
92
- //@ts-expect-error
93
93
  <KeysProvider current={current} previous={previous} next={next}>
94
94
  <HeaderHost scene={scene} focusedIndex={focusedIndex} isFloating />
95
95
  </KeysProvider>
@@ -98,17 +98,15 @@ const FloatHeader = () => {
98
98
 
99
99
  const ScreenHeader = () => {
100
100
  const { focusedIndex } = useStackNavigationContext();
101
- const { current } = useKeys();
101
+ const { current } = useKeys<BlankStackDescriptor>();
102
102
 
103
103
  const options = current.options;
104
104
 
105
- // @ts-expect-error
106
105
  if (!options.headerShown || options.headerMode !== "screen") {
107
106
  return null;
108
107
  }
109
108
 
110
109
  const scene: BlankStackScene = {
111
- //@ts-expect-error
112
110
  descriptor: current,
113
111
  route: current.route,
114
112
  };
@@ -5,12 +5,11 @@ import {
5
5
  } from "@react-navigation/native";
6
6
  import { GestureHandlerRootView } from "react-native-gesture-handler";
7
7
  import { ScreenContainer } from "react-native-screens";
8
- import { RootTransitionAware } from "../../../components/root-transition-aware";
9
- import { ScreenTransitionProvider } from "../../../providers/screen-transition-provider";
10
8
  import type { BlankStackDescriptor } from "../../../types/blank-stack.navigator";
11
9
  import { withStackNavigationProvider } from "../utils/with-stack-navigation";
12
10
  import { Header } from "./Header";
13
11
  import { Screen } from "./Screens";
12
+ import { ScreenTransitionProvider } from "../providers/screen-transition-provider";
14
13
 
15
14
  function isFabric() {
16
15
  return "nativeFabricUIManager" in global;
@@ -28,10 +27,8 @@ const SceneView = ({ descriptor }: SceneViewProps) => {
28
27
  return (
29
28
  <NavigationContext.Provider value={navigation}>
30
29
  <NavigationRouteContext.Provider value={route}>
31
- <RootTransitionAware>
32
- {descriptor.options.headerMode === "screen" && <Header.Screen />}
33
- {render()}
34
- </RootTransitionAware>
30
+ {descriptor.options.headerMode === "screen" && <Header.Screen />}
31
+ {render()}
35
32
  </NavigationRouteContext.Provider>
36
33
  </NavigationContext.Provider>
37
34
  );
@@ -41,15 +38,15 @@ export const StackView = withStackNavigationProvider(
41
38
  ({
42
39
  activeScreensLimit,
43
40
  descriptors,
44
- FloatHeader,
45
41
  focusedIndex,
46
42
  routes,
47
43
  scenes,
44
+ shouldShowFloatHeader,
48
45
  }) => {
49
46
  return (
50
47
  <GestureHandlerRootView>
51
48
  <SafeAreaProviderCompat>
52
- <FloatHeader />
49
+ {shouldShowFloatHeader ? <Header.Float /> : null}
53
50
  <ScreenContainer style={{ flex: 1 }}>
54
51
  {scenes.map((scene, sceneIndex) => {
55
52
  const descriptor = scene.descriptor;
@@ -81,11 +78,8 @@ export const StackView = withStackNavigationProvider(
81
78
  freezeOnBlur={descriptor.options.freezeOnBlur}
82
79
  >
83
80
  <ScreenTransitionProvider
84
- // @ts-expect-error
85
81
  previous={previousDescriptor}
86
- // @ts-expect-error
87
82
  current={descriptor}
88
- // @ts-expect-error
89
83
  next={nextDescriptor}
90
84
  >
91
85
  <SceneView
@@ -109,14 +109,3 @@ export function createBlankStackNavigator<
109
109
  >(config?: Config): TypedNavigator<TypeBag, Config> {
110
110
  return createNavigatorFactory(BlankStackNavigator)(config);
111
111
  }
112
-
113
- import { withLayoutContext } from "expo-router";
114
-
115
- const { Navigator } = createBlankStackNavigator();
116
-
117
- export const BlankStack = withLayoutContext<
118
- BlankStackNavigationOptions,
119
- typeof Navigator,
120
- StackNavigationState<ParamListBase>,
121
- BlankStackNavigationEventMap
122
- >(Navigator);
@@ -0,0 +1,9 @@
1
+ import { ScreenLifecycleController } from "../../../components/controllers/screen-lifecycle.blank";
2
+ import { createScreenTransitionProvider } from "../../../providers/create-screen-transition-provider";
3
+ import type { BlankStackDescriptor } from "../../../types/blank-stack.navigator";
4
+
5
+ export const ScreenTransitionProvider =
6
+ createScreenTransitionProvider<BlankStackDescriptor>(
7
+ ScreenLifecycleController,
8
+ { defaultEnableTransitions: true },
9
+ );
@@ -5,7 +5,6 @@ import type {
5
5
  RouteProp,
6
6
  StackNavigationState,
7
7
  } from "@react-navigation/native";
8
- import type React from "react";
9
8
  import type { SharedValue } from "react-native-reanimated";
10
9
  import type {
11
10
  BlankStackDescriptor,
@@ -21,7 +20,7 @@ export interface StackNavigationContextValue {
21
20
  activeScreensLimit: number;
22
21
  closingRouteKeysShared: SharedValue<string[]>;
23
22
  handleCloseRoute: (payload: { route: Route<string> }) => void;
24
- FloatHeader: React.MemoExoticComponent<() => React.JSX.Element | null>;
23
+ shouldShowFloatHeader: boolean;
25
24
  focusedIndex: number;
26
25
  }
27
26
 
@@ -1,18 +1,11 @@
1
- import {
2
- type ComponentType,
3
- createContext,
4
- memo,
5
- useContext,
6
- useMemo,
7
- } from "react";
8
- import { Header } from "../../components/Header";
1
+ import { type ComponentType, createContext, useContext, useMemo } from "react";
9
2
  import type { BlankStackScene } from "../../../../types/blank-stack.navigator";
10
3
  import { useStackNavigationState } from "./_hooks/use-stack-navigation-state";
11
4
  import type {
12
5
  StackNavigationContextProps,
13
6
  StackNavigationContextValue,
14
7
  } from "./_types";
15
- import { calculateActiveScreensLimit } from "./_utils/calculateActiveScreensLimit";
8
+ import { calculateActiveScreensLimit } from "./_utils/calculate-active-screens-limit";
16
9
 
17
10
  export const StackNavigationContext =
18
11
  createContext<StackNavigationContextValue | null>(null);
@@ -38,18 +31,12 @@ export function withStackNavigationProvider(
38
31
  return calculateActiveScreensLimit(state.routes, state.descriptors);
39
32
  }, [state.routes, state.descriptors]);
40
33
 
41
- const FloatHeader = memo(() => {
42
- const shouldShowFloatHeader = props.state.routes.some((route) => {
43
- const options = props.descriptors[route.key]?.options;
34
+ const shouldShowFloatHeader = useMemo(() => {
35
+ return state.routes.some((route) => {
36
+ const options = state.descriptors[route.key]?.options;
44
37
  return options?.headerMode === "float" && options?.headerShown;
45
38
  });
46
-
47
- if (!shouldShowFloatHeader) {
48
- return null;
49
- }
50
-
51
- return <Header.Float />;
52
- });
39
+ }, [state.routes, state.descriptors]);
53
40
 
54
41
  const contextValue = useMemo<StackNavigationContextValue>(() => {
55
42
  return {
@@ -60,7 +47,7 @@ export function withStackNavigationProvider(
60
47
  activeScreensLimit,
61
48
  handleCloseRoute,
62
49
  scenes,
63
- FloatHeader,
50
+ shouldShowFloatHeader,
64
51
  };
65
52
  }, [
66
53
  state,
@@ -69,7 +56,7 @@ export function withStackNavigationProvider(
69
56
  closingRouteKeys,
70
57
  handleCloseRoute,
71
58
  props.state.index,
72
- FloatHeader,
59
+ shouldShowFloatHeader,
73
60
  ]);
74
61
 
75
62
  return (
@@ -0,0 +1,8 @@
1
+ import type { NativeStackDescriptor } from "../../../types/native-stack.navigator";
2
+ import { ScreenLifecycleController } from "../../../components/controllers/screen-lifecycle";
3
+ import { createScreenTransitionProvider } from "../../../providers/create-screen-transition-provider";
4
+
5
+ export const ScreenTransitionProvider =
6
+ createScreenTransitionProvider<NativeStackDescriptor>(
7
+ ScreenLifecycleController
8
+ );