@react-navigation/core 7.4.0 → 7.6.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.
- package/lib/commonjs/deepFreeze.js +6 -3
- package/lib/commonjs/deepFreeze.js.map +1 -1
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/useNavigationBuilder.js +11 -9
- package/lib/commonjs/useNavigationBuilder.js.map +1 -1
- package/lib/module/deepFreeze.js +6 -3
- package/lib/module/deepFreeze.js.map +1 -1
- package/lib/module/package.json +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/module/useNavigationBuilder.js +11 -9
- package/lib/module/useNavigationBuilder.js.map +1 -1
- package/lib/typescript/commonjs/src/deepFreeze.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/types.d.ts +36 -27
- package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/useDescriptors.d.ts +24 -18
- package/lib/typescript/commonjs/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/useNavigationBuilder.d.ts +37 -28
- package/lib/typescript/commonjs/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/useNavigationCache.d.ts +12 -9
- package/lib/typescript/commonjs/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/useNavigationHelpers.d.ts +12 -9
- package/lib/typescript/commonjs/src/useNavigationHelpers.d.ts.map +1 -1
- package/lib/typescript/module/src/deepFreeze.d.ts.map +1 -1
- package/lib/typescript/module/src/types.d.ts +36 -27
- package/lib/typescript/module/src/types.d.ts.map +1 -1
- package/lib/typescript/module/src/useDescriptors.d.ts +24 -18
- package/lib/typescript/module/src/useDescriptors.d.ts.map +1 -1
- package/lib/typescript/module/src/useNavigationBuilder.d.ts +37 -28
- package/lib/typescript/module/src/useNavigationBuilder.d.ts.map +1 -1
- package/lib/typescript/module/src/useNavigationCache.d.ts +12 -9
- package/lib/typescript/module/src/useNavigationCache.d.ts.map +1 -1
- package/lib/typescript/module/src/useNavigationHelpers.d.ts +12 -9
- package/lib/typescript/module/src/useNavigationHelpers.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/deepFreeze.tsx +6 -3
- package/src/types.tsx +53 -47
- package/src/useNavigationBuilder.tsx +24 -21
|
@@ -8,7 +8,7 @@ import { type DefaultNavigatorOptions, type EventMapCore, PrivateValueStore } fr
|
|
|
8
8
|
* @param options Options object containing `children` and additional options for the router.
|
|
9
9
|
* @returns An object containing `state`, `navigation`, `descriptors` objects.
|
|
10
10
|
*/
|
|
11
|
-
export declare function useNavigationBuilder<State extends NavigationState, RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends Record<string, any>>(createRouter: RouterFactory<State,
|
|
11
|
+
export declare function useNavigationBuilder<State extends NavigationState, RouterOptions extends DefaultRouterOptions, ActionHelpers extends Record<string, (...args: any) => void>, ScreenOptions extends {}, EventMap extends Record<string, any>>(createRouter: RouterFactory<State, NavigationAction, RouterOptions>, options: DefaultNavigatorOptions<ParamListBase, string | undefined, State, ScreenOptions, EventMap, any> & RouterOptions): {
|
|
12
12
|
state: State;
|
|
13
13
|
navigation: {
|
|
14
14
|
dispatch(action: Readonly<{
|
|
@@ -25,21 +25,24 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
|
|
|
25
25
|
type: string;
|
|
26
26
|
stale: false;
|
|
27
27
|
}>>) => NavigationAction)): void;
|
|
28
|
-
navigate<RouteName extends string>(...args:
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
|
|
29
|
+
merge?: boolean;
|
|
30
|
+
pop?: boolean;
|
|
31
|
+
} | undefined] : never): void;
|
|
32
|
+
navigate<RouteName extends string>(options: RouteName extends unknown ? {
|
|
33
|
+
name: RouteName;
|
|
31
34
|
params: object | undefined;
|
|
32
35
|
path?: string;
|
|
33
36
|
merge?: boolean;
|
|
34
37
|
pop?: boolean;
|
|
35
|
-
}): void;
|
|
36
|
-
navigateDeprecated<RouteName extends string>(...args:
|
|
37
|
-
navigateDeprecated<RouteName extends string>(options: {
|
|
38
|
-
name:
|
|
38
|
+
} : never): void;
|
|
39
|
+
navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
40
|
+
navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
|
|
41
|
+
name: RouteName;
|
|
39
42
|
params: object | undefined;
|
|
40
43
|
merge?: boolean;
|
|
41
|
-
}): void;
|
|
42
|
-
preload<RouteName extends string>(...args:
|
|
44
|
+
} : never): void;
|
|
45
|
+
preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
43
46
|
reset(state: Readonly<{
|
|
44
47
|
key: string;
|
|
45
48
|
index: number;
|
|
@@ -98,21 +101,24 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
|
|
|
98
101
|
source?: string;
|
|
99
102
|
target?: string;
|
|
100
103
|
}> | ((state: Readonly<State>) => NavigationAction)): void;
|
|
101
|
-
navigate<RouteName extends string>(...args:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
|
|
105
|
+
merge?: boolean;
|
|
106
|
+
pop?: boolean;
|
|
107
|
+
} | undefined] : never): void;
|
|
108
|
+
navigate<RouteName extends string>(options: RouteName extends unknown ? {
|
|
109
|
+
name: RouteName;
|
|
104
110
|
params: object | undefined;
|
|
105
111
|
path?: string;
|
|
106
112
|
merge?: boolean;
|
|
107
113
|
pop?: boolean;
|
|
108
|
-
}): void;
|
|
109
|
-
navigateDeprecated<RouteName extends string>(...args:
|
|
110
|
-
navigateDeprecated<RouteName extends string>(options: {
|
|
111
|
-
name:
|
|
114
|
+
} : never): void;
|
|
115
|
+
navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
116
|
+
navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
|
|
117
|
+
name: RouteName;
|
|
112
118
|
params: object | undefined;
|
|
113
119
|
merge?: boolean;
|
|
114
|
-
}): void;
|
|
115
|
-
preload<RouteName extends string>(...args:
|
|
120
|
+
} : never): void;
|
|
121
|
+
preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
116
122
|
reset(state: State | PartialState<State>): void;
|
|
117
123
|
goBack(): void;
|
|
118
124
|
isFocused(): boolean;
|
|
@@ -141,21 +147,24 @@ export declare function useNavigationBuilder<State extends NavigationState, Rout
|
|
|
141
147
|
source?: string;
|
|
142
148
|
target?: string;
|
|
143
149
|
}> | ((state: Readonly<State>) => NavigationAction)): void;
|
|
144
|
-
navigate<RouteName extends string>(...args:
|
|
145
|
-
|
|
146
|
-
|
|
150
|
+
navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
|
|
151
|
+
merge?: boolean;
|
|
152
|
+
pop?: boolean;
|
|
153
|
+
} | undefined] : never): void;
|
|
154
|
+
navigate<RouteName extends string>(options: RouteName extends unknown ? {
|
|
155
|
+
name: RouteName;
|
|
147
156
|
params: object | undefined;
|
|
148
157
|
path?: string;
|
|
149
158
|
merge?: boolean;
|
|
150
159
|
pop?: boolean;
|
|
151
|
-
}): void;
|
|
152
|
-
navigateDeprecated<RouteName extends string>(...args:
|
|
153
|
-
navigateDeprecated<RouteName extends string>(options: {
|
|
154
|
-
name:
|
|
160
|
+
} : never): void;
|
|
161
|
+
navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
162
|
+
navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
|
|
163
|
+
name: RouteName;
|
|
155
164
|
params: object | undefined;
|
|
156
165
|
merge?: boolean;
|
|
157
|
-
}): void;
|
|
158
|
-
preload<RouteName extends string>(...args:
|
|
166
|
+
} : never): void;
|
|
167
|
+
preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
159
168
|
reset(state: State | PartialState<State>): void;
|
|
160
169
|
goBack(): void;
|
|
161
170
|
isFocused(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAkNjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useNavigationBuilder.d.ts","sourceRoot":"","sources":["../../../../src/useNavigationBuilder.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EAIjB,KAAK,aAAa,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAa/B,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,YAAY,EAEjB,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAkNjB;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,oBAAoB,EAC1C,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI,CAAC,EAC5D,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAEpC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC,EACnE,OAAO,EAAE,uBAAuB,CAC9B,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,EACR,GAAG,CACJ,GACC,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4gBhB"}
|
|
@@ -24,21 +24,24 @@ export declare function useNavigationCache<State extends NavigationState, Screen
|
|
|
24
24
|
source?: string;
|
|
25
25
|
target?: string;
|
|
26
26
|
}> | ((state: Readonly<State>) => NavigationAction)): void;
|
|
27
|
-
navigate<RouteName extends string>(...args:
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
|
|
28
|
+
merge?: boolean;
|
|
29
|
+
pop?: boolean;
|
|
30
|
+
} | undefined] : never): void;
|
|
31
|
+
navigate<RouteName extends string>(options: RouteName extends unknown ? {
|
|
32
|
+
name: RouteName;
|
|
30
33
|
params: object | undefined;
|
|
31
34
|
path?: string;
|
|
32
35
|
merge?: boolean;
|
|
33
36
|
pop?: boolean;
|
|
34
|
-
}): void;
|
|
35
|
-
navigateDeprecated<RouteName extends string>(...args:
|
|
36
|
-
navigateDeprecated<RouteName extends string>(options: {
|
|
37
|
-
name:
|
|
37
|
+
} : never): void;
|
|
38
|
+
navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
39
|
+
navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
|
|
40
|
+
name: RouteName;
|
|
38
41
|
params: object | undefined;
|
|
39
42
|
merge?: boolean;
|
|
40
|
-
}): void;
|
|
41
|
-
preload<RouteName extends string>(...args:
|
|
43
|
+
} : never): void;
|
|
44
|
+
preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
42
45
|
reset(state: State | import("@react-navigation/routers").PartialState<State>): void;
|
|
43
46
|
goBack(): void;
|
|
44
47
|
isFocused(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationCache.d.ts","sourceRoot":"","sources":["../../../../src/useNavigationCache.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,CACV,EAAE,EAAE,CACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAC/B,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,cAAc,CACjB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,cAAc,CAChB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC;AAEF,KAAK,eAAe,CAClB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,EACA,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC
|
|
1
|
+
{"version":3,"file":"useNavigationCache.d.ts","sourceRoot":"","sources":["../../../../src/useNavigationCache.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AAInC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,KAAK,OAAO,CACV,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC;IACF,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,UAAU,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC1C,OAAO,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,UAAU,EAAE,CACV,EAAE,EAAE,CACF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KACnC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAC/B,IAAI,CAAC;IACV,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACxC,OAAO,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CAC3C,CAAC;AAEF,KAAK,cAAc,CACjB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,cAAc,CAChB,aAAa,EACb,MAAM,EACN,MAAM,GAAG,SAAS,EAClB,KAAK,EACL,aAAa,EACb,QAAQ,CACT,CAAC;AAEF,KAAK,eAAe,CAClB,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAClC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,EAAE,EACxB,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,EACA,KAAK,EACL,QAAQ,EACR,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4KzC"}
|
|
@@ -29,21 +29,24 @@ export declare function useNavigationHelpers<State extends NavigationState, Acti
|
|
|
29
29
|
type: string;
|
|
30
30
|
stale: false;
|
|
31
31
|
}>>) => NavigationAction)): void;
|
|
32
|
-
navigate<RouteName extends string>(...args:
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
navigate<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined, options?: {
|
|
33
|
+
merge?: boolean;
|
|
34
|
+
pop?: boolean;
|
|
35
|
+
} | undefined] : never): void;
|
|
36
|
+
navigate<RouteName extends string>(options: RouteName extends unknown ? {
|
|
37
|
+
name: RouteName;
|
|
35
38
|
params: object | undefined;
|
|
36
39
|
path?: string;
|
|
37
40
|
merge?: boolean;
|
|
38
41
|
pop?: boolean;
|
|
39
|
-
}): void;
|
|
40
|
-
navigateDeprecated<RouteName extends string>(...args:
|
|
41
|
-
navigateDeprecated<RouteName extends string>(options: {
|
|
42
|
-
name:
|
|
42
|
+
} : never): void;
|
|
43
|
+
navigateDeprecated<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
44
|
+
navigateDeprecated<RouteName extends string>(options: RouteName extends unknown ? {
|
|
45
|
+
name: RouteName;
|
|
43
46
|
params: object | undefined;
|
|
44
47
|
merge?: boolean;
|
|
45
|
-
}): void;
|
|
46
|
-
preload<RouteName extends string>(...args:
|
|
48
|
+
} : never): void;
|
|
49
|
+
preload<RouteName extends string>(...args: RouteName extends unknown ? [screen: RouteName, params?: object | undefined] : never): void;
|
|
47
50
|
reset(state: Readonly<{
|
|
48
51
|
key: string;
|
|
49
52
|
index: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useNavigationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/useNavigationHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAKhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,MAAM,SAAS,gBAAgB,EAC/B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,EACA,EAAE,EAAE,WAAW,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC
|
|
1
|
+
{"version":3,"file":"useNavigationHelpers.d.ts","sourceRoot":"","sources":["../../../../src/useNavigationHelpers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,MAAM,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,KAAK,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAKhE,KAAK,OAAO,CAAC,KAAK,SAAS,eAAe,EAAE,MAAM,SAAS,gBAAgB,IAAI;IAC7E,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,QAAQ,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC;IAChD,QAAQ,EAAE,MAAM,KAAK,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,SAAS,eAAe,EAC7B,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,EAChD,MAAM,SAAS,gBAAgB,EAC/B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACpC,EACA,EAAE,EAAE,WAAW,EACf,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EACN,QAAQ,GACT,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAsFxB"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-navigation/core",
|
|
3
3
|
"description": "Core utilities for building navigators",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.6.0",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"clean": "del lib"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@react-navigation/routers": "^7.
|
|
49
|
+
"@react-navigation/routers": "^7.3.0",
|
|
50
50
|
"escape-string-regexp": "^4.0.0",
|
|
51
51
|
"nanoid": "3.3.8",
|
|
52
52
|
"query-string": "^7.1.3",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"del-cli": "^5.1.0",
|
|
64
64
|
"immer": "^10.0.3",
|
|
65
65
|
"react": "18.3.1",
|
|
66
|
-
"react-native-builder-bob": "^0.
|
|
66
|
+
"react-native-builder-bob": "^0.38.0",
|
|
67
67
|
"react-test-renderer": "18.2.0",
|
|
68
68
|
"typescript": "^5.5.2"
|
|
69
69
|
},
|
|
@@ -95,5 +95,5 @@
|
|
|
95
95
|
]
|
|
96
96
|
]
|
|
97
97
|
},
|
|
98
|
-
"gitHead": "
|
|
98
|
+
"gitHead": "3f7e8f132c141c8a73ec5678e8bb37fbeb8283b4"
|
|
99
99
|
}
|
package/src/deepFreeze.tsx
CHANGED
|
@@ -23,10 +23,13 @@ export const deepFreeze = <T,>(object: T): Readonly<T> => {
|
|
|
23
23
|
|
|
24
24
|
// Freeze properties before freezing self
|
|
25
25
|
for (const key in object) {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
// Don't freeze objects in params since they are passed by the user
|
|
27
|
+
if (key !== 'params') {
|
|
28
|
+
if (Object.getOwnPropertyDescriptor(object, key)?.configurable) {
|
|
29
|
+
const value = object[key];
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
deepFreeze(value);
|
|
32
|
+
}
|
|
30
33
|
}
|
|
31
34
|
}
|
|
32
35
|
|
package/src/types.tsx
CHANGED
|
@@ -6,6 +6,7 @@ import type {
|
|
|
6
6
|
ParamListBase,
|
|
7
7
|
PartialState,
|
|
8
8
|
Route,
|
|
9
|
+
Router,
|
|
9
10
|
} from '@react-navigation/routers';
|
|
10
11
|
import type * as React from 'react';
|
|
11
12
|
|
|
@@ -22,21 +23,6 @@ declare global {
|
|
|
22
23
|
|
|
23
24
|
type Keyof<T extends {}> = Extract<keyof T, string>;
|
|
24
25
|
|
|
25
|
-
type ScreenParamsPair<
|
|
26
|
-
ParamList extends ParamListBase,
|
|
27
|
-
RouteName extends keyof ParamList,
|
|
28
|
-
> = {
|
|
29
|
-
// First we use a mapped type to get an union of screen & params pairs
|
|
30
|
-
// Then we pick the pair which matches the RouteName
|
|
31
|
-
// Mapped type is used instead of just ParamList[RouteName]
|
|
32
|
-
// Otherwise it'll result in union of all params leading to incorrect types
|
|
33
|
-
[Screen in keyof ParamList]: undefined extends ParamList[Screen] // Params are either undefined or a union with undefined
|
|
34
|
-
?
|
|
35
|
-
| [screen: Screen] // if the params are optional, we don't have to provide it
|
|
36
|
-
| [screen: Screen, params: ParamList[Screen]]
|
|
37
|
-
: [screen: Screen, params: ParamList[Screen]];
|
|
38
|
-
}[RouteName];
|
|
39
|
-
|
|
40
26
|
export type DefaultNavigatorOptions<
|
|
41
27
|
ParamList extends ParamListBase,
|
|
42
28
|
NavigatorID extends string | undefined,
|
|
@@ -108,11 +94,15 @@ export type DefaultNavigatorOptions<
|
|
|
108
94
|
}) => React.ReactElement;
|
|
109
95
|
|
|
110
96
|
/**
|
|
111
|
-
A function returning
|
|
97
|
+
* A function returning overrides for the underlying router used by the navigator.
|
|
98
|
+
* The overrides will be shallow merged into the original router.
|
|
99
|
+
* It receives the original router as an argument to the function.
|
|
100
|
+
*
|
|
101
|
+
* This must be a pure function and cannot reference outside dynamic variables.
|
|
112
102
|
*/
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
) =>
|
|
103
|
+
UNSTABLE_router?: <Action extends NavigationAction>(
|
|
104
|
+
original: Router<State, Action>
|
|
105
|
+
) => Partial<Router<State, Action>>;
|
|
116
106
|
} & (NavigatorID extends string
|
|
117
107
|
? {
|
|
118
108
|
/**
|
|
@@ -256,16 +246,24 @@ type NavigationHelpersCommon<
|
|
|
256
246
|
* @param [merge] Whether to merge the params onto the route.
|
|
257
247
|
*/
|
|
258
248
|
navigate<RouteName extends keyof ParamList>(
|
|
259
|
-
...args:
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
249
|
+
...args: // This condition allows us to iterate over a union type
|
|
250
|
+
// This is to avoid getting a union of all the params from `ParamList[RouteName]`,
|
|
251
|
+
// which will get our types all mixed up if a union RouteName is passed in.
|
|
252
|
+
RouteName extends unknown
|
|
253
|
+
? // This condition checks if the params are optional,
|
|
254
|
+
// which means it's either undefined or a union with undefined
|
|
255
|
+
undefined extends ParamList[RouteName]
|
|
256
|
+
? [
|
|
257
|
+
screen: RouteName,
|
|
258
|
+
params?: ParamList[RouteName],
|
|
259
|
+
options?: { merge?: boolean; pop?: boolean },
|
|
260
|
+
]
|
|
261
|
+
: [
|
|
262
|
+
screen: RouteName,
|
|
263
|
+
params: ParamList[RouteName],
|
|
264
|
+
options?: { merge?: boolean; pop?: boolean },
|
|
265
|
+
]
|
|
266
|
+
: never
|
|
269
267
|
): void;
|
|
270
268
|
|
|
271
269
|
/**
|
|
@@ -278,15 +276,15 @@ type NavigationHelpersCommon<
|
|
|
278
276
|
* @param [options.pop] Whether to pop routes in a stack to go back to the matching route.
|
|
279
277
|
*/
|
|
280
278
|
navigate<RouteName extends keyof ParamList>(
|
|
281
|
-
options:
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
279
|
+
options: RouteName extends unknown
|
|
280
|
+
? {
|
|
281
|
+
name: RouteName;
|
|
282
|
+
params: ParamList[RouteName];
|
|
283
|
+
path?: string;
|
|
284
|
+
merge?: boolean;
|
|
285
|
+
pop?: boolean;
|
|
286
|
+
}
|
|
287
|
+
: never
|
|
290
288
|
): void;
|
|
291
289
|
|
|
292
290
|
/**
|
|
@@ -298,7 +296,11 @@ type NavigationHelpersCommon<
|
|
|
298
296
|
* @param [params] Params object for the route.
|
|
299
297
|
*/
|
|
300
298
|
navigateDeprecated<RouteName extends keyof ParamList>(
|
|
301
|
-
...args:
|
|
299
|
+
...args: RouteName extends unknown
|
|
300
|
+
? undefined extends ParamList[RouteName]
|
|
301
|
+
? [screen: RouteName, params?: ParamList[RouteName]]
|
|
302
|
+
: [screen: RouteName, params: ParamList[RouteName]]
|
|
303
|
+
: never
|
|
302
304
|
): void;
|
|
303
305
|
|
|
304
306
|
/**
|
|
@@ -309,13 +311,13 @@ type NavigationHelpersCommon<
|
|
|
309
311
|
* @param options Object with `name` for the route to navigate to, and a `params` object.
|
|
310
312
|
*/
|
|
311
313
|
navigateDeprecated<RouteName extends keyof ParamList>(
|
|
312
|
-
options:
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
314
|
+
options: RouteName extends unknown
|
|
315
|
+
? {
|
|
316
|
+
name: RouteName;
|
|
317
|
+
params: ParamList[RouteName];
|
|
318
|
+
merge?: boolean;
|
|
319
|
+
}
|
|
320
|
+
: never
|
|
319
321
|
): void;
|
|
320
322
|
|
|
321
323
|
/**
|
|
@@ -325,7 +327,11 @@ type NavigationHelpersCommon<
|
|
|
325
327
|
* @param [params] Params object for the route.
|
|
326
328
|
*/
|
|
327
329
|
preload<RouteName extends keyof ParamList>(
|
|
328
|
-
...args:
|
|
330
|
+
...args: RouteName extends unknown
|
|
331
|
+
? undefined extends ParamList[RouteName]
|
|
332
|
+
? [screen: RouteName, params?: ParamList[RouteName]]
|
|
333
|
+
: [screen: RouteName, params: ParamList[RouteName]]
|
|
334
|
+
: never
|
|
329
335
|
): void;
|
|
330
336
|
|
|
331
337
|
/**
|
|
@@ -254,7 +254,7 @@ export function useNavigationBuilder<
|
|
|
254
254
|
ScreenOptions extends {},
|
|
255
255
|
EventMap extends Record<string, any>,
|
|
256
256
|
>(
|
|
257
|
-
createRouter: RouterFactory<State,
|
|
257
|
+
createRouter: RouterFactory<State, NavigationAction, RouterOptions>,
|
|
258
258
|
options: DefaultNavigatorOptions<
|
|
259
259
|
ParamListBase,
|
|
260
260
|
string | undefined,
|
|
@@ -277,6 +277,7 @@ export function useNavigationBuilder<
|
|
|
277
277
|
screenOptions,
|
|
278
278
|
screenLayout,
|
|
279
279
|
screenListeners,
|
|
280
|
+
UNSTABLE_router,
|
|
280
281
|
...rest
|
|
281
282
|
} = options;
|
|
282
283
|
|
|
@@ -298,7 +299,18 @@ export function useNavigationBuilder<
|
|
|
298
299
|
);
|
|
299
300
|
}
|
|
300
301
|
|
|
301
|
-
|
|
302
|
+
const original = createRouter(rest as unknown as RouterOptions);
|
|
303
|
+
|
|
304
|
+
if (UNSTABLE_router != null) {
|
|
305
|
+
const overrides = UNSTABLE_router(original);
|
|
306
|
+
|
|
307
|
+
return {
|
|
308
|
+
...original,
|
|
309
|
+
...overrides,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
return original;
|
|
302
314
|
});
|
|
303
315
|
|
|
304
316
|
const screens = routeConfigs.reduce<
|
|
@@ -488,26 +500,17 @@ export function useNavigationBuilder<
|
|
|
488
500
|
!isArrayEqual(state.routeNames, routeNames) ||
|
|
489
501
|
!isRecordEqual(routeKeyList, previousRouteKeyList)
|
|
490
502
|
) {
|
|
491
|
-
const navigatorStateForNextRouteNamesChange =
|
|
492
|
-
options.UNSTABLE_getStateForRouteNamesChange?.(state);
|
|
493
503
|
// When the list of route names change, the router should handle it to remove invalid routes
|
|
494
|
-
nextState =
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
routeGetIdList,
|
|
505
|
-
routeKeyChanges: Object.keys(routeKeyList).filter(
|
|
506
|
-
(name) =>
|
|
507
|
-
name in previousRouteKeyList &&
|
|
508
|
-
routeKeyList[name] !== previousRouteKeyList[name]
|
|
509
|
-
),
|
|
510
|
-
});
|
|
504
|
+
nextState = router.getStateForRouteNamesChange(state, {
|
|
505
|
+
routeNames,
|
|
506
|
+
routeParamList,
|
|
507
|
+
routeGetIdList,
|
|
508
|
+
routeKeyChanges: Object.keys(routeKeyList).filter(
|
|
509
|
+
(name) =>
|
|
510
|
+
name in previousRouteKeyList &&
|
|
511
|
+
routeKeyList[name] !== previousRouteKeyList[name]
|
|
512
|
+
),
|
|
513
|
+
});
|
|
511
514
|
}
|
|
512
515
|
|
|
513
516
|
const previousNestedParamsRef = React.useRef(route?.params);
|