diff --git a/packages/bottom-tabs/package.json b/packages/bottom-tabs/package.json index 4e13ffba..adea738c 100644 --- a/packages/bottom-tabs/package.json +++ b/packages/bottom-tabs/package.json @@ -38,7 +38,7 @@ "dependencies": { "@react-navigation/elements": "^1.0.0-next.8", "color": "^3.1.3", - "warn-once": "^0.0.1" + "warn-once": "^0.1.0" }, "devDependencies": { "@react-navigation/native": "^6.0.0-next.6", diff --git a/packages/drawer/package.json b/packages/drawer/package.json index e73eed59..75469070 100644 --- a/packages/drawer/package.json +++ b/packages/drawer/package.json @@ -43,7 +43,7 @@ "dependencies": { "@react-navigation/elements": "^1.0.0-next.8", "color": "^3.1.3", - "warn-once": "^0.0.1" + "warn-once": "^0.1.0" }, "devDependencies": { "@react-navigation/native": "^6.0.0-next.6", diff --git a/packages/material-top-tabs/package.json b/packages/material-top-tabs/package.json index fbdba9eb..e389030e 100644 --- a/packages/material-top-tabs/package.json +++ b/packages/material-top-tabs/package.json @@ -42,7 +42,7 @@ }, "dependencies": { "color": "^3.1.3", - "warn-once": "^0.0.1" + "warn-once": "^0.1.0" }, "devDependencies": { "@react-navigation/native": "^6.0.0-next.6", diff --git a/packages/stack/package.json b/packages/stack/package.json index e2cf0497..4d8d6d12 100644 --- a/packages/stack/package.json +++ b/packages/stack/package.json @@ -43,7 +43,7 @@ "@react-navigation/elements": "^1.0.0-next.8", "color": "^3.1.3", "react-native-iphone-x-helper": "^1.3.0", - "warn-once": "^0.0.1" + "warn-once": "^0.1.0" }, "devDependencies": { "@react-navigation/native": "^6.0.0-next.6", diff --git a/packages/stack/src/navigators/createStackNavigator.tsx b/packages/stack/src/navigators/createStackNavigator.tsx index 2aee928f..b1257cfc 100644 --- a/packages/stack/src/navigators/createStackNavigator.tsx +++ b/packages/stack/src/navigators/createStackNavigator.tsx @@ -30,16 +30,24 @@ function StackNavigator({ screenOptions, ...rest }: Props) { + // @ts-expect-error: mode is deprecated + const mode = rest.mode as 'card' | 'modal' | undefined; + // @ts-expect-error: headerMode='none' is deprecated const headerMode = rest.headerMode as StackHeaderMode | 'none' | undefined; + warnOnce( + mode != null, + `Stack Navigator: 'mode="${mode}"' is deprecated. Use 'animationPresentation: "${mode}"' in 'screenOptions' instead.` + ); + warnOnce( headerMode === 'none', `Stack Navigator: 'headerMode="none"' is deprecated. Use 'headerShown: false' in 'screenOptions' instead.` ); warnOnce( - headerMode && headerMode !== 'none', + headerMode != null && headerMode !== 'none', `Stack Navigator: 'headerMode' is moved to 'options'. Moved it to 'screenOptions' to keep current behavior.` ); @@ -54,6 +62,7 @@ function StackNavigator({ children, screenOptions, defaultScreenOptions: () => ({ + animationPresentation: mode, headerShown: headerMode ? headerMode !== 'none' : true, headerMode: headerMode && headerMode !== 'none' ? headerMode : undefined, }), diff --git a/yarn.lock b/yarn.lock index b0719f14..0d938d37 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18225,10 +18225,10 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warn-once@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.0.1.tgz#71eda54c88f240c4461e5c7a84cac2263caf3a4e" - integrity sha512-Sh/kR0dQ9Tlr70E2zuR8mZ0yxmN9kGMNfvlwWWRi7frSox2uRC7U659Le8jBIqvjykSbvo9JX9ttsqw4vZPLmA== +warn-once@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/warn-once/-/warn-once-0.1.0.tgz#4f58d89b84f968d0389176aa99e0cf0f14ffd4c8" + integrity sha512-recZTSvuaH/On5ZU5ywq66y99lImWqzP93+AiUo9LUwG8gXHW+LJjhOd6REJHm7qb0niYqrEQJvbHSQfuJtTqA== watchpack-chokidar2@^2.0.1: version "2.0.1"