mirror of
https://github.com/zhigang1992/react-navigation.git
synced 2026-02-16 22:35:19 +08:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ac04aad700 | ||
|
|
b7fb44850d | ||
|
|
d3040e52b3 | ||
|
|
9e36d3e4c9 | ||
|
|
e64d1f6b57 | ||
|
|
77aa514874 | ||
|
|
2733fab3ee |
@@ -16,25 +16,25 @@ jobs:
|
||||
- run: yarn # install root deps
|
||||
- run: ./scripts/test.sh # run tests
|
||||
- setup_remote_docker
|
||||
- deploy:
|
||||
command: |
|
||||
set -x
|
||||
VER="17.03.0-ce"
|
||||
curl -L -o /tmp/docker-$VER.tgz https://get.docker.com/builds/Linux/x86_64/docker-$VER.tgz
|
||||
tar -xz -C /tmp -f /tmp/docker-$VER.tgz
|
||||
mv /tmp/docker/* /usr/bin
|
||||
|
||||
yarn global add exp
|
||||
set +x
|
||||
exp login -u "$EXPO_USERNAME" -p "$EXPO_PASSWORD"
|
||||
set -x
|
||||
cd examples/NavigationPlayground && yarn && exp publish --release-channel "${CIRCLE_SHA1}"
|
||||
# - deploy:
|
||||
# command: |
|
||||
# set -x
|
||||
# VER="17.03.0-ce"
|
||||
# curl -L -o /tmp/docker-$VER.tgz https://get.docker.com/builds/Linux/x86_64/docker-$VER.tgz
|
||||
# tar -xz -C /tmp -f /tmp/docker-$VER.tgz
|
||||
# mv /tmp/docker/* /usr/bin
|
||||
#
|
||||
# yarn global add exp
|
||||
# set +x
|
||||
# exp login -u "$EXPO_USERNAME" -p "$EXPO_PASSWORD"
|
||||
# set -x
|
||||
# cd examples/NavigationPlayground && yarn && exp publish --release-channel "${CIRCLE_SHA1}"
|
||||
- save_cache:
|
||||
key: v3-react-navigation-{{ .Branch }}-{{ checksum "package.json" }}
|
||||
paths:
|
||||
- ~/.cache/yarn
|
||||
- ~/react-navigation/examples/NavigationPlayground/node_modules
|
||||
- ~/react-navigation/examples/ReduxExample/node_modules
|
||||
notify:
|
||||
webhooks:
|
||||
- url: https://react-navigation-ci.now.sh
|
||||
# notify:
|
||||
# webhooks:
|
||||
# - url: https://react-navigation-ci.now.sh
|
||||
|
||||
41
CHANGELOG.md
41
CHANGELOG.md
@@ -7,6 +7,40 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [3.3.2] - [2019-02-25](https://github.com/react-navigation/react-navigation/releases/tag/3.3.2)
|
||||
|
||||
## Fixed
|
||||
|
||||
- Updated Flow types (https://github.com/react-navigation/react-navigation/commit/d3040e52b39bc8e91ffc1354d9c5f8c096baf597)
|
||||
|
||||
## [3.3.1] - [2019-02-25](https://github.com/react-navigation/react-navigation/releases/tag/3.3.1)
|
||||
|
||||
## Fixed
|
||||
|
||||
- SafeAreaView bottom inset on iPhone XR and XS fixed. (https://github.com/react-navigation/react-navigation/issues/5625)
|
||||
|
||||
## [3.3.0] - [2019-02-16](https://github.com/react-navigation/react-navigation/releases/tag/3.3.0)
|
||||
|
||||
## Added
|
||||
|
||||
- Pass through `drawerOpenProgress` to drawer content component (https://github.com/react-navigation/react-navigation-drawer/pull/40)
|
||||
|
||||
## [3.2.3] - [2019-02-09](https://github.com/react-navigation/react-navigation/releases/tag/3.2.3)
|
||||
|
||||
## Fixed
|
||||
|
||||
- `await` the result of `onTransitionStart` before starting the transition (https://github.com/react-navigation/react-navigation-stack/pull/79)
|
||||
|
||||
## [3.2.2]
|
||||
|
||||
- Oops, I skipped it. Nothing here.
|
||||
|
||||
## [3.2.1] - [2019-02-09](https://github.com/react-navigation/react-navigation/releases/tag/3.2.1)
|
||||
|
||||
## Fixed
|
||||
|
||||
- Remove accidental console.log
|
||||
|
||||
## [3.2.0] - [2019-02-08](https://github.com/react-navigation/react-navigation/releases/tag/3.2.0)
|
||||
|
||||
## Added
|
||||
@@ -121,7 +155,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||
|
||||
- [2.x](https://github.com/react-navigation/react-navigation/blob/2.x/CHANGELOG.md)
|
||||
|
||||
[Unreleased]: https://github.com/react-navigation/react-navigation/compare/3.2.0...HEAD
|
||||
[Unreleased]: https://github.com/react-navigation/react-navigation/compare/3.3.2...HEAD
|
||||
[3.3.2]: https://github.com/react-navigation/react-navigation/compare/3.3.1...3.3.2
|
||||
[3.3.1]: https://github.com/react-navigation/react-navigation/compare/3.3.0...3.3.1
|
||||
[3.3.0]: https://github.com/react-navigation/react-navigation/compare/3.2.3...3.3.0
|
||||
[3.2.3]: https://github.com/react-navigation/react-navigation/compare/3.2.1...3.2.3
|
||||
[3.2.1]: https://github.com/react-navigation/react-navigation/compare/3.2.0...3.2.1
|
||||
[3.2.0]: https://github.com/react-navigation/react-navigation/compare/3.1.5...3.2.0
|
||||
[3.1.5]: https://github.com/react-navigation/react-navigation/compare/3.1.4...3.1.5
|
||||
[3.1.4]: https://github.com/react-navigation/react-navigation/compare/3.1.3...3.1.4
|
||||
|
||||
@@ -656,10 +656,10 @@
|
||||
pouchdb-collections "^1.0.1"
|
||||
tiny-queue "^0.2.1"
|
||||
|
||||
"@react-navigation/core@3.1.0":
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.1.0.tgz#2ab34a8d913564d4454dbdf5d68b6b4c70302099"
|
||||
integrity sha512-VeS2npscdcz8n7rchIEEURfg4vS9IaaItOh8o5lHLByeNHKBASfWfu5KEoAFmX9XnrUSxvG98VjptQxyCLjtYA==
|
||||
"@react-navigation/core@3.1.1":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.1.1.tgz#badf449ac7d2ae65b0f5aa1bf63a87e7888458d3"
|
||||
integrity sha512-vVPUIpCWO3VKVvE5zYDDR/lOy5hHvRm60rQAHTF19vmt3Jqnbs3qqgYovfUAnTBm0crGLcuIwzOuprRIhC4bfQ==
|
||||
dependencies:
|
||||
create-react-context "0.2.2"
|
||||
hoist-non-react-statics "^3.0.1"
|
||||
@@ -5691,7 +5691,7 @@ react-native-iphone-x-helper@^1.0.2:
|
||||
resolved "https://registry.yarnpkg.com/react-native-iphone-x-helper/-/react-native-iphone-x-helper-1.2.0.tgz#9f8a376eb00bc712115abff4420318a0063fa796"
|
||||
integrity sha512-xIeTo4s77wwKgBZLVRIZC9tM9/PkXS46Ul76NXmvmixEb3ZwqGdQesR3zRiLMOoIdfOURB6N9bba9po7+x9Bag==
|
||||
|
||||
"react-native-maps@github:expo/react-native-maps#v0.22.1-exp.0":
|
||||
react-native-maps@expo/react-native-maps#v0.22.1-exp.0:
|
||||
version "0.22.1"
|
||||
resolved "https://codeload.github.com/expo/react-native-maps/tar.gz/e6f98ff7272e5d0a7fe974a41f28593af2d77bb2"
|
||||
|
||||
@@ -5845,10 +5845,10 @@ react-navigation-material-bottom-tabs@1.0.0:
|
||||
prop-types "^15.6.0"
|
||||
react-navigation-tabs "1.0.0"
|
||||
|
||||
react-navigation-stack@1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.0.9.tgz#cbdcc224f709202ea62b3f2a2d84561cd199493a"
|
||||
integrity sha512-N1h0Kkz8WmSHbBbPHEpVh+ss/1NwWoWk6v2L68kxbpTcEH986t5mz0abp4KHY8pb0nHGbY0jkn5IYiOJBfN0tQ==
|
||||
react-navigation-stack@1.0.10:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.0.10.tgz#cf1f4f222bddbfae134cfb28362bafd42a64c485"
|
||||
integrity sha512-p+1oJ6lQYzblidOopIX0Tt+0ZvzaTyoPrBU9erMI04LEoa37BovYpWd1NXBIkV5+wfRt/o5R2x+RZ3LUeWpjeA==
|
||||
|
||||
react-navigation-tabs@1.0.0:
|
||||
version "1.0.0"
|
||||
@@ -5871,12 +5871,12 @@ react-navigation-tabs@1.0.2:
|
||||
react-native-tab-view "^1.0.0"
|
||||
|
||||
react-navigation@../..:
|
||||
version "3.2.0"
|
||||
version "3.2.2"
|
||||
dependencies:
|
||||
"@react-navigation/core" "3.1.0"
|
||||
"@react-navigation/core" "3.1.1"
|
||||
"@react-navigation/native" "3.1.4"
|
||||
react-navigation-drawer "1.1.0"
|
||||
react-navigation-stack "1.0.9"
|
||||
react-navigation-stack "1.0.10"
|
||||
react-navigation-tabs "1.0.2"
|
||||
|
||||
react-proxy@^1.1.7:
|
||||
|
||||
125
flow/react-navigation.js
vendored
125
flow/react-navigation.js
vendored
@@ -44,18 +44,68 @@ declare module 'react-navigation' {
|
||||
};
|
||||
declare type ImageSource = ImageURISource | number | Array<ImageURISource>;
|
||||
|
||||
// This one is too large to copy. Actual definition is in
|
||||
// react-native/Libraries/Animated/src/nodes/AnimatedValue.js
|
||||
declare type AnimatedValue = Object;
|
||||
|
||||
declare type HeaderForceInset = {
|
||||
horizontal?: string,
|
||||
vertical?: string,
|
||||
left?: string,
|
||||
right?: string,
|
||||
top?: string,
|
||||
bottom?: string,
|
||||
// This is copied from
|
||||
// react-native/Libraries/Animated/src/nodes/AnimatedInterpolation.js
|
||||
declare type ExtrapolateType = 'extend' | 'identity' | 'clamp';
|
||||
declare type InterpolationConfigType = {
|
||||
inputRange: Array<number>,
|
||||
outputRange: Array<number> | Array<string>,
|
||||
easing?: (input: number) => number,
|
||||
extrapolate?: ExtrapolateType,
|
||||
extrapolateLeft?: ExtrapolateType,
|
||||
extrapolateRight?: ExtrapolateType,
|
||||
};
|
||||
declare class AnimatedInterpolation {
|
||||
interpolate(config: InterpolationConfigType): AnimatedInterpolation;
|
||||
}
|
||||
|
||||
// This is copied from
|
||||
// react-native/Libraries/Animated/src/animations/Animation.js
|
||||
declare type EndResult = { finished: boolean };
|
||||
declare type EndCallback = (result: EndResult) => void;
|
||||
declare class Animation {
|
||||
start(
|
||||
fromValue: number,
|
||||
onUpdate: (value: number) => void,
|
||||
onEnd: ?EndCallback,
|
||||
previousAnimation: ?Animation,
|
||||
animatedValue: AnimatedValue
|
||||
): void;
|
||||
stop(): void;
|
||||
}
|
||||
|
||||
// This is vaguely copied from
|
||||
// react-native/Libraries/Animated/src/nodes/AnimatedTracking.js
|
||||
declare class AnimatedTracking {
|
||||
constructor(
|
||||
value: AnimatedValue,
|
||||
parent: any,
|
||||
animationClass: any,
|
||||
animationConfig: Object,
|
||||
callback?: ?EndCallback
|
||||
): void;
|
||||
update(): void;
|
||||
}
|
||||
|
||||
// This is vaguely copied from
|
||||
// react-native/Libraries/Animated/src/nodes/AnimatedValue.js
|
||||
declare type ValueListenerCallback = (state: { value: number }) => void;
|
||||
declare class AnimatedValue {
|
||||
constructor(value: number): void;
|
||||
setValue(value: number): void;
|
||||
setOffset(offset: number): void;
|
||||
flattenOffset(): void;
|
||||
extractOffset(): void;
|
||||
addListener(callback: ValueListenerCallback): string;
|
||||
removeListener(id: string): void;
|
||||
removeAllListeners(): void;
|
||||
stopAnimation(callback?: ?(value: number) => void): void;
|
||||
resetAnimation(callback?: ?(value: number) => void): void;
|
||||
interpolate(config: InterpolationConfigType): AnimatedInterpolation;
|
||||
animate(animation: Animation, callback: ?EndCallback): void;
|
||||
stopTracking(): void;
|
||||
track(tracking: AnimatedTracking): void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Next, all the type declarations
|
||||
@@ -385,7 +435,7 @@ declare module 'react-navigation' {
|
||||
headerPressColorAndroid?: string,
|
||||
headerRight?: React$Node,
|
||||
headerStyle?: ViewStyleProp,
|
||||
headerForceInset?: HeaderForceInset,
|
||||
headerForceInset?: _SafeAreaViewInsets,
|
||||
headerBackground?: React$Node | React$ElementType,
|
||||
gesturesEnabled?: boolean,
|
||||
gestureResponseDistance?: { vertical?: number, horizontal?: number },
|
||||
@@ -892,10 +942,6 @@ declare module 'react-navigation' {
|
||||
navigatorConfig?: NavigatorConfig
|
||||
): NavigationNavigator<S, O, *>;
|
||||
|
||||
declare export function StackNavigator(
|
||||
routeConfigMap: NavigationRouteConfigMap,
|
||||
stackConfig?: StackNavigatorConfig
|
||||
): NavigationNavigator<*, *, *>;
|
||||
declare export function createStackNavigator(
|
||||
routeConfigMap: NavigationRouteConfigMap,
|
||||
stackConfig?: StackNavigatorConfig
|
||||
@@ -920,14 +966,6 @@ declare module 'react-navigation' {
|
||||
removeClippedSubviews?: boolean,
|
||||
containerOptions?: void,
|
||||
|};
|
||||
declare export function TabNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
config?: _TabNavigatorConfig
|
||||
): NavigationNavigator<*, *, *>;
|
||||
declare export function createTabNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
config?: _TabNavigatorConfig
|
||||
): NavigationNavigator<*, *, *>;
|
||||
/* TODO: fix the config for each of these tab navigator types */
|
||||
declare export function createBottomTabNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
@@ -940,10 +978,6 @@ declare module 'react-navigation' {
|
||||
declare type _SwitchNavigatorConfig = {|
|
||||
...NavigationSwitchRouterConfig,
|
||||
|};
|
||||
declare export function SwitchNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
config?: _SwitchNavigatorConfig
|
||||
): NavigationNavigator<*, *, *>;
|
||||
declare export function createSwitchNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
config?: _SwitchNavigatorConfig
|
||||
@@ -965,10 +999,6 @@ declare module 'react-navigation' {
|
||||
..._DrawerViewConfig,
|
||||
containerConfig?: void,
|
||||
}>;
|
||||
declare export function DrawerNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
config?: _DrawerNavigatorConfig
|
||||
): NavigationNavigator<*, *, *>;
|
||||
declare export function createDrawerNavigator(
|
||||
routeConfigs: NavigationRouteConfigMap,
|
||||
config?: _DrawerNavigatorConfig
|
||||
@@ -1049,15 +1079,16 @@ declare module 'react-navigation' {
|
||||
declare export var Card: React$ComponentType<_CardProps>;
|
||||
|
||||
declare type _SafeAreaViewForceInsetValue = 'always' | 'never' | number;
|
||||
declare type _SafeAreaViewInsets = $Shape<{
|
||||
top: _SafeAreaViewForceInsetValue,
|
||||
bottom: _SafeAreaViewForceInsetValue,
|
||||
left: _SafeAreaViewForceInsetValue,
|
||||
right: _SafeAreaViewForceInsetValue,
|
||||
vertical: _SafeAreaViewForceInsetValue,
|
||||
horizontal: _SafeAreaViewForceInsetValue,
|
||||
}>;
|
||||
declare type _SafeAreaViewProps = {
|
||||
forceInset?: {
|
||||
top?: _SafeAreaViewForceInsetValue,
|
||||
bottom?: _SafeAreaViewForceInsetValue,
|
||||
left?: _SafeAreaViewForceInsetValue,
|
||||
right?: _SafeAreaViewForceInsetValue,
|
||||
vertical?: _SafeAreaViewForceInsetValue,
|
||||
horizontal?: _SafeAreaViewForceInsetValue,
|
||||
},
|
||||
forceInset?: _SafeAreaViewInsets,
|
||||
children?: React$Node,
|
||||
style?: AnimatedViewStyleProp,
|
||||
};
|
||||
@@ -1208,7 +1239,10 @@ declare module 'react-navigation' {
|
||||
};
|
||||
declare export var TabBarBottom: React$ComponentType<_TabBarBottomProps>;
|
||||
|
||||
declare export function withNavigation<Props: {}, ComponentType: React$ComponentType<Props>>(
|
||||
declare export function withNavigation<
|
||||
Props: {},
|
||||
ComponentType: React$ComponentType<Props>
|
||||
>(
|
||||
Component: ComponentType
|
||||
): React$ComponentType<
|
||||
$Diff<
|
||||
@@ -1218,9 +1252,14 @@ declare module 'react-navigation' {
|
||||
}
|
||||
>
|
||||
>;
|
||||
declare export function withNavigationFocus<Props: {}, ComponentType: React$ComponentType<Props>>(
|
||||
declare export function withNavigationFocus<
|
||||
Props: {},
|
||||
ComponentType: React$ComponentType<Props>
|
||||
>(
|
||||
Component: ComponentType
|
||||
): React$ComponentType<$Diff<React$ElementConfig<ComponentType>, { isFocused: boolean | void }>>;
|
||||
): React$ComponentType<
|
||||
$Diff<React$ElementConfig<ComponentType>, { isFocused: boolean | void }>
|
||||
>;
|
||||
|
||||
declare export function getNavigation<State: NavigationState, Options: {}>(
|
||||
router: NavigationRouter<State, Options>,
|
||||
|
||||
10
package.json
10
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "react-navigation",
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.2",
|
||||
"description": "Routing and navigation for your React Native apps",
|
||||
"main": "src/react-navigation.js",
|
||||
"repository": {
|
||||
@@ -34,10 +34,10 @@
|
||||
"react-native": "*"
|
||||
},
|
||||
"dependencies": {
|
||||
"@react-navigation/core": "3.1.0",
|
||||
"@react-navigation/native": "3.1.4",
|
||||
"react-navigation-drawer": "1.1.0",
|
||||
"react-navigation-stack": "1.0.9",
|
||||
"@react-navigation/core": "3.1.1",
|
||||
"@react-navigation/native": "3.1.5",
|
||||
"react-navigation-drawer": "1.2.0",
|
||||
"react-navigation-stack": "1.0.10",
|
||||
"react-navigation-tabs": "1.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
||||
24
yarn.lock
24
yarn.lock
@@ -46,10 +46,10 @@
|
||||
universal-user-agent "^2.0.0"
|
||||
url-template "^2.0.8"
|
||||
|
||||
"@react-navigation/core@3.1.0":
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.1.0.tgz#2ab34a8d913564d4454dbdf5d68b6b4c70302099"
|
||||
integrity sha512-VeS2npscdcz8n7rchIEEURfg4vS9IaaItOh8o5lHLByeNHKBASfWfu5KEoAFmX9XnrUSxvG98VjptQxyCLjtYA==
|
||||
"@react-navigation/core@3.1.1":
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.1.1.tgz#badf449ac7d2ae65b0f5aa1bf63a87e7888458d3"
|
||||
integrity sha512-vVPUIpCWO3VKVvE5zYDDR/lOy5hHvRm60rQAHTF19vmt3Jqnbs3qqgYovfUAnTBm0crGLcuIwzOuprRIhC4bfQ==
|
||||
dependencies:
|
||||
create-react-context "0.2.2"
|
||||
hoist-non-react-statics "^3.0.1"
|
||||
@@ -6812,17 +6812,17 @@ react-native@^0.52.0:
|
||||
xmldoc "^0.4.0"
|
||||
yargs "^9.0.0"
|
||||
|
||||
react-navigation-drawer@1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.1.0.tgz#e39dbf493c77890c90f8ed4d83d06c87af65abf0"
|
||||
integrity sha512-OtO8g+t0pufbL0aiyZ9y2+j7cWIu9+agiaJfOiE2vPDOqGimpVfEYEuWj0xodKVRrEC4xrb8flqoxMxpE0wjdg==
|
||||
react-navigation-drawer@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.2.0.tgz#475dccb00bc0e5dd56aa65a46f71ed66545f7a6b"
|
||||
integrity sha512-78idNMJpOGzn0jHej69yTIiqJWdCVdMy2sBtppcdnT+DHeZXQDamTuGurjluf/2WyNB2xAXipIk4N4NnvqRfvw==
|
||||
dependencies:
|
||||
react-native-tab-view "^1.2.0"
|
||||
|
||||
react-navigation-stack@1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.0.9.tgz#cbdcc224f709202ea62b3f2a2d84561cd199493a"
|
||||
integrity sha512-N1h0Kkz8WmSHbBbPHEpVh+ss/1NwWoWk6v2L68kxbpTcEH986t5mz0abp4KHY8pb0nHGbY0jkn5IYiOJBfN0tQ==
|
||||
react-navigation-stack@1.0.10:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.0.10.tgz#cf1f4f222bddbfae134cfb28362bafd42a64c485"
|
||||
integrity sha512-p+1oJ6lQYzblidOopIX0Tt+0ZvzaTyoPrBU9erMI04LEoa37BovYpWd1NXBIkV5+wfRt/o5R2x+RZ3LUeWpjeA==
|
||||
|
||||
react-navigation-tabs@1.0.2:
|
||||
version "1.0.2"
|
||||
|
||||
Reference in New Issue
Block a user