Compare commits

..

15 Commits

Author SHA1 Message Date
Satyajit Sahoo
fe6d20c10e chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.18
 - @react-navigation/drawer@6.0.0-next.17
 - @react-navigation/elements@1.0.0-next.17
 - @react-navigation/material-bottom-tabs@6.0.0-next.14
 - @react-navigation/native-stack@6.0.0-next.7
 - @react-navigation/stack@6.0.0-next.25
2021-06-01 13:30:34 +02:00
Satyajit Sahoo
7d74bd73a7 fix: tweak android q animation 2021-06-01 04:21:51 +02:00
Satyajit Sahoo
b46c433f1e fix: tweak opacity animation for PlatformPressable 2021-06-01 03:17:16 +02:00
Satyajit Sahoo
7e71ee6c47 chore: revert yarn.lock 2021-06-01 03:14:25 +02:00
Satyajit Sahoo
1287a784e6 chore: fix mapping in server babel config 2021-05-31 20:42:07 +02:00
Satyajit Sahoo
56f7df5384 chore: fix running the example app on web 2021-05-31 20:12:05 +02:00
Satyajit Sahoo
5996bbbce2 chore: bump react-native-paper 2021-05-31 19:31:08 +02:00
Satyajit Sahoo
c3ba72df65 chore: publish
- @react-navigation/bottom-tabs@6.0.0-next.17
 - @react-navigation/core@6.0.0-next.13
 - @react-navigation/devtools@6.0.0-next.14
 - @react-navigation/drawer@6.0.0-next.16
 - @react-navigation/elements@1.0.0-next.16
 - flipper-plugin-react-navigation@1.1.4
 - @react-navigation/material-bottom-tabs@6.0.0-next.13
 - @react-navigation/material-top-tabs@6.0.0-next.14
 - @react-navigation/native-stack@6.0.0-next.6
 - @react-navigation/native@6.0.0-next.13
 - @react-navigation/stack@6.0.0-next.24
2021-05-29 20:35:14 +02:00
Satyajit Sahoo
be40244214 chore: remove unused dep from flipper plugin 2021-05-29 20:32:41 +02:00
Satyajit Sahoo
7388e6d9bc chore: add a LICENSE to flipper plugin 2021-05-29 20:27:59 +02:00
Satyajit Sahoo
00e70da0d4 chore: add repository entry to flipper plugin 2021-05-29 20:22:52 +02:00
Satyajit Sahoo
70f4fe2ffa fix: remove card shadow from default animation
closes #9569
2021-05-29 20:16:41 +02:00
Satyajit Sahoo
e639748b23 refactor: rename headerSearchBar to headerSearchBarOptions 2021-05-29 20:04:30 +02:00
Satyajit Sahoo
324ea7181d fix: validate property names in linking config 2021-05-29 20:03:10 +02:00
Satyajit Sahoo
9d3731c2df chore: add a README to Flipper plugin 2021-05-29 19:28:39 +02:00
44 changed files with 415 additions and 114 deletions

View File

@@ -32,7 +32,7 @@
"react-native-appearance": "~0.3.3",
"react-native-gesture-handler": "~1.10.2",
"react-native-pager-view": "~5.0.12",
"react-native-paper": "^4.9.0",
"react-native-paper": "^4.9.1",
"react-native-reanimated": "~2.1.0",
"react-native-safe-area-context": "~3.2.0",
"react-native-screens": "~3.0.0",

View File

@@ -7,14 +7,9 @@ const alias = Object.fromEntries(
fs
.readdirSync(packages)
.filter((name) => !name.startsWith('.'))
.map((name) => [
`@react-navigation/${name}`,
path.resolve(
packages,
name,
require(`../../packages/${name}/package.json`).source
),
])
.map((name) => [name, require(`../../packages/${name}/package.json`)])
.filter(([, pak]) => pak.source != null)
.map(([name, pak]) => [pak.name, path.resolve(packages, name, pak.source)])
);
module.exports = {

View File

@@ -8,8 +8,6 @@ const packages = path.resolve(__dirname, '..', 'packages');
module.exports = async function (env, argv) {
const config = await createExpoWebpackConfigAsync(env, argv);
config.context = path.resolve(__dirname, '..');
config.module.rules.push({
test: /\.(js|ts|tsx)$/,
include: /(packages|example)\/.+/,
@@ -19,19 +17,25 @@ module.exports = async function (env, argv) {
Object.assign(config.resolve.alias, {
'react': path.resolve(node_modules, 'react'),
'react-native': path.resolve(node_modules, 'react-native-web'),
'react-native-web': path.resolve(node_modules, 'react-native-web'),
'react-native': path.resolve(__dirname, 'node_modules', 'react-native-web'),
'react-native-web': path.resolve(
__dirname,
'node_modules',
'react-native-web'
),
'@expo/vector-icons': path.resolve(node_modules, '@expo/vector-icons'),
});
fs.readdirSync(packages)
.filter((name) => !name.startsWith('.'))
.forEach((name) => {
config.resolve.alias[`@react-navigation/${name}`] = path.resolve(
packages,
name,
require(`../packages/${name}/package.json`).source
);
const pak = require(`../packages/${name}/package.json`);
if (pak.source == null) {
return;
}
config.resolve.alias[pak.name] = path.resolve(packages, name, pak.source);
});
return config;

View File

@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.18](https://github.com/react-navigation/react-navigation/compare/@react-navigation/bottom-tabs@6.0.0-next.17...@react-navigation/bottom-tabs@6.0.0-next.18) (2021-06-01)
**Note:** Version bump only for package @react-navigation/bottom-tabs
# [6.0.0-next.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/bottom-tabs@6.0.0-next.16...@react-navigation/bottom-tabs@6.0.0-next.17) (2021-05-29)
**Note:** Version bump only for package @react-navigation/bottom-tabs
# [6.0.0-next.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/bottom-tabs@6.0.0-next.15...@react-navigation/bottom-tabs@6.0.0-next.16) (2021-05-29)
**Note:** Version bump only for package @react-navigation/bottom-tabs

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/bottom-tabs",
"description": "Bottom tab navigator following iOS design guidelines",
"version": "6.0.0-next.16",
"version": "6.0.0-next.18",
"keywords": [
"react-native-component",
"react-component",
@@ -36,12 +36,12 @@
"clean": "del lib"
},
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.15",
"@react-navigation/elements": "^1.0.0-next.17",
"color": "^3.1.3",
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/color": "^3.0.1",
"@types/react": "^16.9.53",

View File

@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/core@6.0.0-next.12...@react-navigation/core@6.0.0-next.13) (2021-05-29)
### Bug Fixes
* validate property names in linking config ([324ea71](https://github.com/react-navigation/react-navigation/commit/324ea7181db6b743f512854be267cc9d65975b6f))
# [6.0.0-next.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/core@6.0.0-next.11...@react-navigation/core@6.0.0-next.12) (2021-05-29)

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/core",
"description": "Core utilities for building navigators",
"version": "6.0.0-next.12",
"version": "6.0.0-next.13",
"keywords": [
"react",
"react-native",

View File

@@ -2420,3 +2420,57 @@ it('correctly applies initialRouteName for config with similar route names v2',
getStateFromPath<object>(getPathFromState<object>(state, config), config)
).toEqual(state);
});
it('throws when invalid properties are specified in the config', () => {
expect(() =>
getStateFromPath<object>('', {
Foo: 'foo',
Bar: {
path: 'bar',
},
} as any)
).toThrowErrorMatchingInlineSnapshot(`
"Found invalid properties in the configuration:
- Foo
- Bar
Did you forget to specify them under a 'screens' property?
You can only specify the following properties:
- initialRouteName
- screens
See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration."
`);
expect(() =>
getStateFromPath<object>('', {
screens: {
Foo: 'foo',
Bar: {
path: 'bar',
},
Baz: {
Qux: {
path: 'qux',
},
},
},
} as any)
).toThrowErrorMatchingInlineSnapshot(`
"Found invalid properties in the configuration:
- Qux
Did you forget to specify them under a 'screens' property?
You can only specify the following properties:
- initialRouteName
- screens
- path
- exact
- stringify
- parse
See https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration."
`);
});

View File

@@ -7,6 +7,7 @@ import * as queryString from 'query-string';
import fromEntries from './fromEntries';
import type { PathConfig, PathConfigMap } from './types';
import validatePathConfig from './validatePathConfig';
type Options<ParamList> = {
initialRouteName?: string;
@@ -75,6 +76,10 @@ export default function getPathFromState<ParamList extends {}>(
);
}
if (options) {
validatePathConfig(options);
}
// Create a normalized configs object which will be easier to use
const configs: Record<string, ConfigItem> = options?.screens
? createNormalizedConfigs(options?.screens)

View File

@@ -8,6 +8,7 @@ import * as queryString from 'query-string';
import findFocusedRoute from './findFocusedRoute';
import type { PathConfigMap } from './types';
import validatePathConfig from './validatePathConfig';
type Options<ParamList extends {}> = {
initialRouteName?: string;
@@ -65,6 +66,10 @@ export default function getStateFromPath<ParamList extends {}>(
path: string,
options?: Options<ParamList>
): ResultState | undefined {
if (options) {
validatePathConfig(options);
}
let initialRoutes: InitialRouteConfig[] = [];
if (options?.initialRouteName) {

View File

@@ -19,4 +19,5 @@ export { default as useNavigationBuilder } from './useNavigationBuilder';
export { default as useNavigationContainerRef } from './useNavigationContainerRef';
export { default as useNavigationState } from './useNavigationState';
export { default as useRoute } from './useRoute';
export { default as validatePathConfig } from './validatePathConfig';
export * from '@react-navigation/routers';

View File

@@ -0,0 +1,32 @@
const formatToList = (items: string[]) =>
items.map((key) => `- ${key}`).join('\n');
export default function validatePathConfig(config: any, root = true) {
const validKeys = ['initialRouteName', 'screens'];
if (!root) {
validKeys.push('path', 'exact', 'stringify', 'parse');
}
const invalidKeys = Object.keys(config).filter(
(key) => !validKeys.includes(key)
);
if (invalidKeys.length) {
throw new Error(
`Found invalid properties in the configuration:\n${formatToList(
invalidKeys
)}\n\nDid you forget to specify them under a 'screens' property?\n\nYou can only specify the following properties:\n${formatToList(
validKeys
)}\n\nSee https://reactnavigation.org/docs/configuring-links for more details on how to specify a linking configuration.`
);
}
if (config.screens) {
Object.entries(config.screens).forEach(([_, value]) => {
if (typeof value !== 'string') {
validatePathConfig(value, false);
}
});
}
}

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/devtools@6.0.0-next.13...@react-navigation/devtools@6.0.0-next.14) (2021-05-29)
**Note:** Version bump only for package @react-navigation/devtools
# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/devtools@6.0.0-next.12...@react-navigation/devtools@6.0.0-next.13) (2021-05-29)

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/devtools",
"description": "Developer tools for React Navigation",
"version": "6.0.0-next.13",
"version": "6.0.0-next.14",
"keywords": [
"react",
"react-native",
@@ -40,7 +40,7 @@
"nanoid": "^3.1.22"
},
"devDependencies": {
"@react-navigation/core": "^6.0.0-next.12",
"@react-navigation/core": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/deep-equal": "^1.0.1",
"@types/react": "^16.9.53",

View File

@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/drawer@6.0.0-next.16...@react-navigation/drawer@6.0.0-next.17) (2021-06-01)
**Note:** Version bump only for package @react-navigation/drawer
# [6.0.0-next.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/drawer@6.0.0-next.15...@react-navigation/drawer@6.0.0-next.16) (2021-05-29)
**Note:** Version bump only for package @react-navigation/drawer
# [6.0.0-next.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/drawer@6.0.0-next.14...@react-navigation/drawer@6.0.0-next.15) (2021-05-29)
**Note:** Version bump only for package @react-navigation/drawer

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/drawer",
"description": "Drawer navigator component with animated transitions and gesturess",
"version": "6.0.0-next.15",
"version": "6.0.0-next.17",
"keywords": [
"react-native-component",
"react-component",
@@ -41,12 +41,12 @@
"clean": "del lib"
},
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.15",
"@react-navigation/elements": "^1.0.0-next.17",
"color": "^3.1.3",
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/react": "^16.9.53",
"@types/react-native": "~0.64.4",

View File

@@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [1.0.0-next.17](https://github.com/react-navigation/react-navigation/compare/@react-navigation/elements@1.0.0-next.16...@react-navigation/elements@1.0.0-next.17) (2021-06-01)
### Bug Fixes
* tweak opacity animation for PlatformPressable ([b46c433](https://github.com/react-navigation/react-navigation/commit/b46c433f1e012fc3215ec32ac787c7c018963505))
# [1.0.0-next.16](https://github.com/react-navigation/react-navigation/compare/@react-navigation/elements@1.0.0-next.15...@react-navigation/elements@1.0.0-next.16) (2021-05-29)
**Note:** Version bump only for package @react-navigation/elements
# [1.0.0-next.15](https://github.com/react-navigation/react-navigation/compare/@react-navigation/elements@1.0.0-next.14...@react-navigation/elements@1.0.0-next.15) (2021-05-29)
**Note:** Version bump only for package @react-navigation/elements

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/elements",
"description": "UI Components for React Navigation",
"version": "1.0.0-next.15",
"version": "1.0.0-next.17",
"keywords": [
"react-native",
"react-navigation",
@@ -38,7 +38,7 @@
},
"devDependencies": {
"@react-native-masked-view/masked-view": "^0.2.3",
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/react": "^16.9.53",
"@types/react-native": "~0.64.4",

View File

@@ -53,7 +53,7 @@ export default function PlatformPressable({
};
const handlePressIn = (e: GestureResponderEvent) => {
animateTo(pressOpacity, 150);
animateTo(pressOpacity, 0);
onPressIn?.(e);
};

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.1.4](https://github.com/react-navigation/react-navigation/compare/flipper-plugin-react-navigation@1.1.3...flipper-plugin-react-navigation@1.1.4) (2021-05-29)
**Note:** Version bump only for package flipper-plugin-react-navigation
## [1.1.3](https://github.com/react-navigation/react-navigation/compare/flipper-plugin-react-navigation@1.1.2...flipper-plugin-react-navigation@1.1.3) (2021-05-29)
**Note:** Version bump only for package flipper-plugin-react-navigation

View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2017 React Navigation Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,5 @@
# `flipper-plugin-react-navigation`
Flipper plugin with developer tools for React Navigation.
Installation instructions and documentation can be found on the [React Navigation website](https://reactnavigation.org/docs/6.x/devtools).

View File

@@ -1,17 +1,23 @@
{
"$schema": "https://fbflipper.com/schemas/plugin-package/v2.json",
"name": "flipper-plugin-react-navigation",
"id": "react-navigation",
"version": "1.1.3",
"pluginType": "client",
"description": "Developer tools for React Navigation",
"version": "1.1.4",
"main": "dist/bundle.js",
"flipperBundlerEntry": "src/index.tsx",
"license": "MIT",
"keywords": [
"flipper-plugin"
],
"repository": {
"type": "git",
"url": "https://github.com/react-navigation/react-navigation.git",
"directory": "packages/flipper-plugin-react-navigation"
},
"id": "react-navigation",
"pluginType": "client",
"icon": "directions",
"title": "React Navigation",
"flipperBundlerEntry": "src/index.tsx",
"scripts": {
"lint": "flipper-pkg lint",
"prepack": "flipper-pkg lint && flipper-pkg bundle",
@@ -28,7 +34,7 @@
"@ant-design/icons": "^4.6.2",
"@babel/preset-react": "^7.12.13",
"@babel/preset-typescript": "^7.13.0",
"@react-navigation/core": "^6.0.0-next.12",
"@react-navigation/core": "^6.0.0-next.13",
"@types/react": "^17.0.3",
"@types/react-dom": "^17.0.2",
"antd": "^4.14.0",
@@ -37,8 +43,5 @@
"flipper-plugin": "^0.90.2",
"react": "^17.0.1",
"react-dom": "^17.0.1"
},
"dependencies": {
"shortid": "^2.2.16"
}
}

View File

@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/material-bottom-tabs@6.0.0-next.13...@react-navigation/material-bottom-tabs@6.0.0-next.14) (2021-06-01)
**Note:** Version bump only for package @react-navigation/material-bottom-tabs
# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/material-bottom-tabs@6.0.0-next.12...@react-navigation/material-bottom-tabs@6.0.0-next.13) (2021-05-29)
**Note:** Version bump only for package @react-navigation/material-bottom-tabs
# [6.0.0-next.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/material-bottom-tabs@6.0.0-next.11...@react-navigation/material-bottom-tabs@6.0.0-next.12) (2021-05-29)
**Note:** Version bump only for package @react-navigation/material-bottom-tabs

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/material-bottom-tabs",
"description": "Integration for bottom navigation component from react-native-paper",
"version": "6.0.0-next.12",
"version": "6.0.0-next.14",
"keywords": [
"react-native-component",
"react-component",
@@ -41,10 +41,10 @@
"clean": "del lib"
},
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.15"
"@react-navigation/elements": "^1.0.0-next.17"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/react": "^16.9.53",
"@types/react-native": "~0.64.4",
@@ -53,7 +53,7 @@
"react": "~16.13.1",
"react-native": "~0.63.4",
"react-native-builder-bob": "^0.18.1",
"react-native-paper": "^4.9.0",
"react-native-paper": "^4.9.1",
"react-native-safe-area-context": "~3.2.0",
"react-native-vector-icons": "^8.1.0",
"typescript": "^4.2.3"

View File

@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.14](https://github.com/react-navigation/react-navigation/compare/@react-navigation/material-top-tabs@6.0.0-next.13...@react-navigation/material-top-tabs@6.0.0-next.14) (2021-05-29)
**Note:** Version bump only for package @react-navigation/material-top-tabs
# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/material-top-tabs@6.0.0-next.12...@react-navigation/material-top-tabs@6.0.0-next.13) (2021-05-29)
**Note:** Version bump only for package @react-navigation/material-top-tabs

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/material-top-tabs",
"description": "Integration for the animated tab view component from react-native-tab-view",
"version": "6.0.0-next.13",
"version": "6.0.0-next.14",
"keywords": [
"react-native-component",
"react-component",
@@ -45,7 +45,7 @@
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/react": "^16.9.53",
"@types/react-native": "~0.64.4",

View File

@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.7](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native-stack@6.0.0-next.6...@react-navigation/native-stack@6.0.0-next.7) (2021-06-01)
**Note:** Version bump only for package @react-navigation/native-stack
# [6.0.0-next.6](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native-stack@6.0.0-next.5...@react-navigation/native-stack@6.0.0-next.6) (2021-05-29)
**Note:** Version bump only for package @react-navigation/native-stack
# [6.0.0-next.5](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native-stack@6.0.0-next.4...@react-navigation/native-stack@6.0.0-next.5) (2021-05-29)
**Note:** Version bump only for package @react-navigation/native-stack

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/native-stack",
"description": "Native stack navigator using react-native-screens",
"version": "6.0.0-next.5",
"version": "6.0.0-next.7",
"keywords": [
"react-native-component",
"react-component",
@@ -41,11 +41,11 @@
"clean": "del lib"
},
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.15",
"@react-navigation/elements": "^1.0.0-next.17",
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/react": "^16.9.53",
"@types/react-native": "~0.64.4",

View File

@@ -234,7 +234,7 @@ export type NativeStackNavigationOptions = {
*
* @platform ios
*/
headerSearchBar?: SearchBarProps;
headerSearchBarOptions?: SearchBarProps;
/**
* Sets the status bar animation (similar to the `StatusBar` component).
* Requires setting `View controller-based status bar appearance -> YES` (or removing the config) in your `Info.plist` file.

View File

@@ -0,0 +1,33 @@
import * as React from 'react';
import { Platform, View, ViewProps } from 'react-native';
// @ts-ignore Getting private component
import AppContainer from 'react-native/Libraries/ReactNative/AppContainer';
import type { StackPresentationTypes } from 'react-native-screens';
type ContainerProps = ViewProps & {
stackPresentation: StackPresentationTypes;
children: React.ReactNode;
};
let Container = (View as unknown) as React.ComponentType<ContainerProps>;
if (process.env.NODE_ENV !== 'production') {
const DebugContainer = (props: ContainerProps) => {
const { stackPresentation, ...rest } = props;
if (Platform.OS === 'ios' && stackPresentation !== 'push') {
// This is necessary for LogBox
return (
<AppContainer>
<View {...rest} />
</AppContainer>
);
}
return <View {...rest} />;
};
Container = DebugContainer;
}
export default Container;

View File

@@ -0,0 +1,14 @@
import * as React from 'react';
import { View, ViewProps } from 'react-native';
import type { StackPresentationTypes } from 'react-native-screens';
type ContainerProps = ViewProps & {
stackPresentation: StackPresentationTypes;
children: React.ReactNode;
};
export default function Container(props: ContainerProps) {
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const { stackPresentation: _, ...rest } = props;
return <View {...rest} />;
}

View File

@@ -0,0 +1,13 @@
// @ts-ignore: No declaration available
import ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';
export function processFonts(
fontFamilies: (string | undefined)[]
): (string | undefined)[] {
// @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;
if (typeof fontFamilyProcessor === 'function') {
return fontFamilies.map(fontFamilyProcessor);
}
return fontFamilies;
}

View File

@@ -1,13 +1,5 @@
// @ts-ignore: No declaration available
import ReactNativeStyleAttributes from 'react-native/Libraries/Components/View/ReactNativeStyleAttributes';
export function processFonts(
fontFamilies: (string | undefined)[]
_: (string | undefined)[]
): (string | undefined)[] {
// @ts-ignore: React Native types are incorrect here and don't consider fontFamily a style value
const fontFamilyProcessor = ReactNativeStyleAttributes.fontFamily?.process;
if (typeof fontFamilyProcessor === 'function') {
return fontFamilies.map(fontFamilyProcessor);
}
return fontFamilies;
throw new Error('Not supported on Web');
}

View File

@@ -42,7 +42,7 @@ export default function HeaderConfig({
headerTranslucent,
route,
orientation,
headerSearchBar,
headerSearchBarOptions,
statusBarAnimation,
statusBarHidden,
statusBarStyle,
@@ -84,7 +84,11 @@ export default function HeaderConfig({
? headerTitle({ tintColor, children: titleText })
: null;
if (Platform.OS === 'ios' && headerSearchBar != null && SearchBar == null) {
if (
Platform.OS === 'ios' &&
headerSearchBarOptions != null &&
SearchBar == null
) {
throw new Error(
`The current version of 'react-native-screens' doesn't support SearchBar in the header. Please update to the latest version to use this option.`
);
@@ -179,9 +183,9 @@ export default function HeaderConfig({
{headerRightElement}
</ScreenStackHeaderRightView>
) : null}
{Platform.OS === 'ios' && headerSearchBar != null ? (
{Platform.OS === 'ios' && headerSearchBarOptions != null ? (
<ScreenStackHeaderSearchBarView>
<SearchBar {...headerSearchBar} />
<SearchBar {...headerSearchBarOptions} />
</ScreenStackHeaderSearchBarView>
) : null}
</ScreenStackHeaderConfig>

View File

@@ -7,9 +7,7 @@ import {
useTheme,
} from '@react-navigation/native';
import * as React from 'react';
import { Platform, StyleSheet, View, ViewProps } from 'react-native';
// @ts-ignore Getting private component
import AppContainer from 'react-native/Libraries/ReactNative/AppContainer';
import { Platform, StyleSheet } from 'react-native';
import {
Screen,
ScreenStack,
@@ -22,33 +20,11 @@ import type {
NativeStackNavigationHelpers,
NativeStackNavigationOptions,
} from '../types';
import DebugContainer from './DebugContainer';
import HeaderConfig from './HeaderConfig';
const isAndroid = Platform.OS === 'android';
type ContainerProps = ViewProps & { stackPresentation: StackPresentationTypes };
let Container = (View as unknown) as React.ComponentType<ContainerProps>;
if (process.env.NODE_ENV !== 'production') {
const DebugContainer = (props: ContainerProps) => {
const { stackPresentation, ...rest } = props;
if (Platform.OS === 'ios' && stackPresentation !== 'push') {
// This is necessary for LogBox
return (
<AppContainer>
<View {...rest} />
</AppContainer>
);
}
return <View {...rest} />;
};
Container = DebugContainer;
}
const MaybeNestedStack = ({
options,
route,
@@ -81,7 +57,7 @@ const MaybeNestedStack = ({
}, [headerShown, presentation, route.name]);
const content = (
<Container
<DebugContainer
style={[
styles.container,
presentation !== 'transparentModal' &&
@@ -93,7 +69,7 @@ const MaybeNestedStack = ({
stackPresentation={presentation === 'card' ? 'push' : presentation}
>
{children}
</Container>
</DebugContainer>
);
if (isHeaderInModal) {

View File

@@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.13](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.12...@react-navigation/native@6.0.0-next.13) (2021-05-29)
### Bug Fixes
* validate property names in linking config ([324ea71](https://github.com/react-navigation/react-navigation/commit/324ea7181db6b743f512854be267cc9d65975b6f))
# [6.0.0-next.12](https://github.com/react-navigation/react-navigation/compare/@react-navigation/native@6.0.0-next.11...@react-navigation/native@6.0.0-next.12) (2021-05-29)

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/native",
"description": "React Native integration for React Navigation",
"version": "6.0.0-next.12",
"version": "6.0.0-next.13",
"keywords": [
"react-native",
"react-navigation",
@@ -37,7 +37,7 @@
"clean": "del lib"
},
"dependencies": {
"@react-navigation/core": "^6.0.0-next.12",
"@react-navigation/core": "^6.0.0-next.13",
"escape-string-regexp": "^4.0.0",
"nanoid": "^3.1.22"
},

View File

@@ -6,6 +6,7 @@ import {
NavigationContainerProps,
NavigationContainerRef,
ParamListBase,
validatePathConfig,
} from '@react-navigation/core';
import * as React from 'react';
@@ -62,6 +63,10 @@ function NavigationContainerInner(
) {
const isLinkingEnabled = linking ? linking.enabled !== false : false;
if (linking?.config) {
validatePathConfig(linking.config);
}
const refContainer = React.useRef<NavigationContainerRef<ParamListBase>>(
null
);

View File

@@ -3,6 +3,28 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
# [6.0.0-next.25](https://github.com/react-navigation/react-navigation/compare/@react-navigation/stack@6.0.0-next.24...@react-navigation/stack@6.0.0-next.25) (2021-06-01)
### Bug Fixes
* tweak android q animation ([7d74bd7](https://github.com/react-navigation/react-navigation/commit/7d74bd73a7333f0b1373a05c9f06e981556feed2))
# [6.0.0-next.24](https://github.com/react-navigation/react-navigation/compare/@react-navigation/stack@6.0.0-next.23...@react-navigation/stack@6.0.0-next.24) (2021-05-29)
### Bug Fixes
* remove card shadow from default animation ([70f4fe2](https://github.com/react-navigation/react-navigation/commit/70f4fe2ffaa219a2a72e0ae25b7d5d007948c2a4)), closes [#9569](https://github.com/react-navigation/react-navigation/issues/9569)
# [6.0.0-next.23](https://github.com/react-navigation/react-navigation/compare/@react-navigation/stack@6.0.0-next.22...@react-navigation/stack@6.0.0-next.23) (2021-05-29)
**Note:** Version bump only for package @react-navigation/stack

View File

@@ -1,7 +1,7 @@
{
"name": "@react-navigation/stack",
"description": "Stack navigator component for iOS and Android with animated transitions and gestures",
"version": "6.0.0-next.23",
"version": "6.0.0-next.25",
"keywords": [
"react-native-component",
"react-component",
@@ -40,13 +40,13 @@
"clean": "del lib"
},
"dependencies": {
"@react-navigation/elements": "^1.0.0-next.15",
"@react-navigation/elements": "^1.0.0-next.17",
"color": "^3.1.3",
"react-native-iphone-x-helper": "^1.3.0",
"warn-once": "^0.1.0"
},
"devDependencies": {
"@react-navigation/native": "^6.0.0-next.12",
"@react-navigation/native": "^6.0.0-next.13",
"@testing-library/react-native": "^7.2.0",
"@types/color": "^3.0.1",
"@types/react": "^16.9.53",

View File

@@ -302,12 +302,12 @@ export function forScaleFromCenterAndroid({
closing,
current.progress.interpolate({
inputRange: [0, 1],
outputRange: [0.9, 1],
outputRange: [0.925, 1],
extrapolate: 'clamp',
}),
progress.interpolate({
inputRange: [0, 1, 2],
outputRange: [0.85, 1, 1.1],
outputRange: [0.85, 1, 1.075],
})
);

View File

@@ -92,7 +92,7 @@ const hasOpacityStyle = (style: any) => {
export default class Card extends React.Component<Props> {
static defaultProps = {
shadowEnabled: true,
shadowEnabled: false,
gestureEnabled: true,
gestureVelocityImpact: GESTURE_VELOCITY_IMPACT,
overlay: ({

View File

@@ -15534,11 +15534,6 @@ nan@^2.12.1:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
nanoid@^2.1.0:
version "2.1.11"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
nanoid@^3.1.22:
version "3.1.22"
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844"
@@ -18370,10 +18365,10 @@ react-native-pager-view@~5.0.12:
resolved "https://registry.yarnpkg.com/react-native-pager-view/-/react-native-pager-view-5.0.12.tgz#5106735d944e7f876b006377ab6a18859bf7730c"
integrity sha512-QmHUnQeP2qcxDofEOnKRmoUue0RaT55lhNJDfcQ1/SNuxif4Q2UyvDfqeItm1+toaE5tVnXqoreZh82FqUqnvw==
react-native-paper@^4.9.0:
version "4.9.0"
resolved "https://registry.yarnpkg.com/react-native-paper/-/react-native-paper-4.9.0.tgz#af67ae6fd92c13d8cf5e37700ad2b37aac85b2ed"
integrity sha512-1+7V5wJgNcEdTE+sckGF+ABImLQbWdYFGTEqkVsqdsd1mKxRSVeHJXqeQAZwiFJAZJiHzxL403rKPNdi8ZpGng==
react-native-paper@^4.9.1:
version "4.9.1"
resolved "https://registry.yarnpkg.com/react-native-paper/-/react-native-paper-4.9.1.tgz#9b2aadcb1bd48ff6825641df60821e20e0cc8276"
integrity sha512-vGgNvQE/GlNSjwJw+1LW0yoULTh7enxln16bYfOoI9Xiz1NOKxhfyQN0/LlZn7JFhRdbXW+3+6yMBJ50Emt+ng==
dependencies:
"@callstack/react-theme-provider" "^3.0.6"
color "^3.1.2"
@@ -19812,13 +19807,6 @@ shellwords@^0.1.1:
resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
shortid@^2.2.16:
version "2.2.16"
resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608"
integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==
dependencies:
nanoid "^2.1.0"
side-channel@^1.0.3, side-channel@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"