@react-navigation/core 8.0.0-alpha.3 → 8.0.0-alpha.4
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.
|
@@ -128,10 +128,22 @@ export function createComponentForStaticNavigation(tree, displayName) {
|
|
|
128
128
|
}));
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
const NavigatorComponent = (
|
|
131
|
+
const NavigatorComponent = ({
|
|
132
|
+
children: _,
|
|
133
|
+
...props
|
|
134
|
+
}) => {
|
|
132
135
|
const children = items.map(item => item());
|
|
136
|
+
const screenOptions = typeof props.screenOptions === 'function' || typeof rest.screenOptions === 'function' ? options => ({
|
|
137
|
+
...(typeof rest.screenOptions === 'function' ? rest.screenOptions(options) : rest.screenOptions),
|
|
138
|
+
...(typeof props.screenOptions === 'function' ? props.screenOptions(options) : props.screenOptions)
|
|
139
|
+
}) : {
|
|
140
|
+
...rest.screenOptions,
|
|
141
|
+
...props.screenOptions
|
|
142
|
+
};
|
|
133
143
|
return /*#__PURE__*/_jsx(Navigator, {
|
|
134
144
|
...rest,
|
|
145
|
+
...props,
|
|
146
|
+
screenOptions: screenOptions,
|
|
135
147
|
children: children
|
|
136
148
|
});
|
|
137
149
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","createComponentForStaticNavigation","Error","element","shouldRender","tree","Navigator","Group","config","groups","items","key","push","group","groupItems","navigationKey","NavigatorComponent","
|
|
1
|
+
{"version":3,"names":["React","isValidElementType","useRoute","jsx","_jsx","MemoizedScreen","memo","component","route","children","createElement","displayName","getItemsFromScreens","Screen","screens","Object","entries","map","name","item","props","useIf","isNavigator","screen","if","_if","rest","createComponentForStaticNavigation","Error","element","shouldRender","tree","Navigator","Group","config","groups","items","key","push","group","groupItems","navigationKey","NavigatorComponent","_","screenOptions","options","createPathConfigForStaticNavigation","auto","initialScreenHasPath","initialScreenConfig","createPathConfigForTree","t","o","skipInitialDetection","createPathConfigForScreens","groupLinking","initialRouteName","fromEntries","sort","a","b","screenConfig","groupPath","path","normalizePath","replace","linking","assign","parse","stringify","skipInitialDetectionInChild","undefined","toLowerCase","filter","keys","length","forEach"],"sourceRoot":"../../src","sources":["StaticNavigation.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,8 +12,8 @@ type ParamsForScreenComponent<T> = T extends (...args: any[]) => any ? HasArgume
|
|
|
12
12
|
};
|
|
13
13
|
}> ? Params : undefined;
|
|
14
14
|
type ParamsForScreen<T> = T extends {
|
|
15
|
-
screen:
|
|
16
|
-
} ? NavigatorScreenParams<StaticParamList<T['screen']>> | undefined : T extends
|
|
15
|
+
screen: StaticNavigationBase;
|
|
16
|
+
} ? NavigatorScreenParams<StaticParamList<T['screen']>> | undefined : T extends StaticNavigationBase ? NavigatorScreenParams<StaticParamList<T>> | undefined : T extends {
|
|
17
17
|
screen: React.ComponentType<any>;
|
|
18
18
|
} ? ParamsForScreenComponent<T['screen']> : ParamsForScreenComponent<T>;
|
|
19
19
|
type ParamsForLinking<Linking> = Linking extends {
|
|
@@ -27,7 +27,7 @@ type ParamsForLinking<Linking> = Linking extends {
|
|
|
27
27
|
*/
|
|
28
28
|
type ParamsForConfig<Linking, Screen> = undefined extends Linking ? ParamsForScreen<Screen> : Linking extends ValidPathPattern | {
|
|
29
29
|
path: ValidPathPattern;
|
|
30
|
-
} ? Screen extends
|
|
30
|
+
} ? Screen extends StaticNavigationBase ? FlatType<ParamsForLinking<Linking>> & ParamsForScreen<Screen> : undefined extends ParamsForScreen<Screen> ? FlatType<ParamsForLinking<Linking>> : FlatType<ParamsForLinking<Linking> & ParamsForScreen<Screen>> : ParamsForScreen<Screen>;
|
|
31
31
|
type ParamListForScreens<Screens> = {
|
|
32
32
|
[Key in KeysOf<Screens>]: Screens[Key] extends StaticScreenConfig<infer Linking, infer Screen, any, any, any, any> ? ParamsForConfig<Linking, Screen> : ParamsForScreen<Screens[Key]>;
|
|
33
33
|
};
|
|
@@ -286,11 +286,13 @@ export type StaticScreenProps<T extends Record<string, unknown> | undefined> = {
|
|
|
286
286
|
export type StaticParamList<T extends {
|
|
287
287
|
readonly config: any;
|
|
288
288
|
}> = FlatType<ParamListForScreens<T['config']['screens']> & ParamListForGroups<T['config']['groups']>>;
|
|
289
|
-
|
|
289
|
+
type StaticNavigationBase = {
|
|
290
|
+
config: StaticConfig<NavigatorTypeBagBase>;
|
|
291
|
+
};
|
|
292
|
+
export type StaticNavigation<NavigatorProps, GroupProps, ScreenProps> = StaticNavigationBase & {
|
|
290
293
|
Navigator: React.ComponentType<NavigatorProps>;
|
|
291
294
|
Group: React.ComponentType<GroupProps>;
|
|
292
295
|
Screen: React.ComponentType<ScreenProps>;
|
|
293
|
-
config: StaticConfig<NavigatorTypeBagBase>;
|
|
294
296
|
};
|
|
295
297
|
/**
|
|
296
298
|
* Create a component that renders a navigator based on the static configuration.
|
|
@@ -299,7 +301,7 @@ export type StaticNavigation<NavigatorProps, GroupProps, ScreenProps> = {
|
|
|
299
301
|
* @param displayName Name of the component to be displayed in React DevTools.
|
|
300
302
|
* @returns A component which renders the navigator.
|
|
301
303
|
*/
|
|
302
|
-
export declare function createComponentForStaticNavigation
|
|
304
|
+
export declare function createComponentForStaticNavigation<T extends StaticNavigation<any, any, any>>(tree: T, displayName: string): React.ComponentType<Omit<React.ComponentProps<T['Navigator']>, 'children'>>;
|
|
303
305
|
type LinkingForGroup = Pick<PathConfig<any>, 'path' | 'stringify' | 'parse'> | string;
|
|
304
306
|
type TreeForPathConfig = {
|
|
305
307
|
config: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,KAAK,EACN,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EACV,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,KAAK,EACN,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,EACN,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAChE,YAAY,CAAC,CAAC,CAAC,SAAS,IAAI,GAC1B,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,GAChE,MAAM,GACN,SAAS,GACX,SAAS,GACX,CAAC,SAAS,KAAK,CAAC,aAAa,CAAC;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC,GAChE,MAAM,GACN,SAAS,CAAC;AAEhB,KAAK,eAAe,CAAC,CAAC,IAEpB,CAAC,SAAS;IAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"StaticNavigation.d.ts","sourceRoot":"","sources":["../../../src/StaticNavigation.tsx"],"names":[],"mappings":"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"}
|
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": "8.0.0-alpha.
|
|
4
|
+
"version": "8.0.0-alpha.4",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
7
7
|
"react-native",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"clean": "del lib"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@react-navigation/routers": "^8.0.0-alpha.
|
|
43
|
+
"@react-navigation/routers": "^8.0.0-alpha.2",
|
|
44
44
|
"escape-string-regexp": "^4.0.0",
|
|
45
45
|
"fast-deep-equal": "^3.1.3",
|
|
46
46
|
"nanoid": "^3.3.11",
|
|
@@ -83,5 +83,5 @@
|
|
|
83
83
|
]
|
|
84
84
|
]
|
|
85
85
|
},
|
|
86
|
-
"gitHead": "
|
|
86
|
+
"gitHead": "faad2ee23945a5a27090cfb837a35d1db25147ab"
|
|
87
87
|
}
|
package/src/StaticNavigation.tsx
CHANGED
|
@@ -44,10 +44,10 @@ type ParamsForScreenComponent<T> = T extends (...args: any[]) => any
|
|
|
44
44
|
|
|
45
45
|
type ParamsForScreen<T> =
|
|
46
46
|
// Nested navigator in screen property
|
|
47
|
-
T extends { screen:
|
|
47
|
+
T extends { screen: StaticNavigationBase }
|
|
48
48
|
? NavigatorScreenParams<StaticParamList<T['screen']>> | undefined
|
|
49
49
|
: // Direct nested navigator
|
|
50
|
-
T extends
|
|
50
|
+
T extends StaticNavigationBase
|
|
51
51
|
? NavigatorScreenParams<StaticParamList<T>> | undefined
|
|
52
52
|
: T extends {
|
|
53
53
|
screen: React.ComponentType<any>;
|
|
@@ -75,7 +75,7 @@ type ParamsForConfig<Linking, Screen> = undefined extends Linking
|
|
|
75
75
|
: // Only infer params from linking if it's a pattern (i.e., contains ':')
|
|
76
76
|
// This avoids inferring non-literals like 'string'
|
|
77
77
|
Linking extends ValidPathPattern | { path: ValidPathPattern }
|
|
78
|
-
? Screen extends
|
|
78
|
+
? Screen extends StaticNavigationBase
|
|
79
79
|
? FlatType<ParamsForLinking<Linking>> & ParamsForScreen<Screen>
|
|
80
80
|
: // Don't combine if `undefined`, otherwise it'll result in `never`
|
|
81
81
|
undefined extends ParamsForScreen<Screen>
|
|
@@ -503,13 +503,17 @@ export type StaticParamList<
|
|
|
503
503
|
ParamListForGroups<T['config']['groups']>
|
|
504
504
|
>;
|
|
505
505
|
|
|
506
|
-
|
|
507
|
-
Navigator: React.ComponentType<NavigatorProps>;
|
|
508
|
-
Group: React.ComponentType<GroupProps>;
|
|
509
|
-
Screen: React.ComponentType<ScreenProps>;
|
|
506
|
+
type StaticNavigationBase = {
|
|
510
507
|
config: StaticConfig<NavigatorTypeBagBase>;
|
|
511
508
|
};
|
|
512
509
|
|
|
510
|
+
export type StaticNavigation<NavigatorProps, GroupProps, ScreenProps> =
|
|
511
|
+
StaticNavigationBase & {
|
|
512
|
+
Navigator: React.ComponentType<NavigatorProps>;
|
|
513
|
+
Group: React.ComponentType<GroupProps>;
|
|
514
|
+
Screen: React.ComponentType<ScreenProps>;
|
|
515
|
+
};
|
|
516
|
+
|
|
513
517
|
const MemoizedScreen = React.memo(
|
|
514
518
|
<T extends React.ComponentType<any>>({ component }: { component: T }) => {
|
|
515
519
|
const route = useRoute();
|
|
@@ -589,10 +593,12 @@ const getItemsFromScreens = (
|
|
|
589
593
|
* @param displayName Name of the component to be displayed in React DevTools.
|
|
590
594
|
* @returns A component which renders the navigator.
|
|
591
595
|
*/
|
|
592
|
-
export function createComponentForStaticNavigation
|
|
593
|
-
|
|
596
|
+
export function createComponentForStaticNavigation<
|
|
597
|
+
T extends StaticNavigation<any, any, any>,
|
|
598
|
+
>(
|
|
599
|
+
tree: T,
|
|
594
600
|
displayName: string
|
|
595
|
-
): React.ComponentType<
|
|
601
|
+
): React.ComponentType<Omit<React.ComponentProps<T['Navigator']>, 'children'>> {
|
|
596
602
|
const { Navigator, Group, Screen, config } = tree;
|
|
597
603
|
const { screens, groups, ...rest } = config;
|
|
598
604
|
|
|
@@ -637,10 +643,27 @@ export function createComponentForStaticNavigation(
|
|
|
637
643
|
}
|
|
638
644
|
}
|
|
639
645
|
|
|
640
|
-
const NavigatorComponent = () => {
|
|
646
|
+
const NavigatorComponent = ({ children: _, ...props }: typeof rest) => {
|
|
641
647
|
const children = items.map((item) => item());
|
|
642
648
|
|
|
643
|
-
|
|
649
|
+
const screenOptions =
|
|
650
|
+
typeof props.screenOptions === 'function' ||
|
|
651
|
+
typeof rest.screenOptions === 'function'
|
|
652
|
+
? (options: unknown) => ({
|
|
653
|
+
...(typeof rest.screenOptions === 'function'
|
|
654
|
+
? rest.screenOptions(options)
|
|
655
|
+
: rest.screenOptions),
|
|
656
|
+
...(typeof props.screenOptions === 'function'
|
|
657
|
+
? props.screenOptions(options)
|
|
658
|
+
: props.screenOptions),
|
|
659
|
+
})
|
|
660
|
+
: { ...rest.screenOptions, ...props.screenOptions };
|
|
661
|
+
|
|
662
|
+
return (
|
|
663
|
+
<Navigator {...rest} {...props} screenOptions={screenOptions}>
|
|
664
|
+
{children}
|
|
665
|
+
</Navigator>
|
|
666
|
+
);
|
|
644
667
|
};
|
|
645
668
|
|
|
646
669
|
NavigatorComponent.displayName = displayName;
|