Commit Graph

661 Commits

Author SHA1 Message Date
Brent Vatne
f263aaf8fc Pop to top on TabNavigator when tapping already focused tab icon (#3589)
* Pop to top when tapping the tab icon for an already focused tab

* Dispatch popToTop with key to scope the action properly

* Add test for POP_TO_TOP with key
2018-02-25 16:33:20 -08:00
Vojtech Novak
54d0884929 remove support for deprecated navigation actions (#3595)
* remove support for deprecated navigation actions

* remove deprecated action from flow definitions
2018-02-24 21:08:14 +01:00
Johan Ruokangas
5129c56a45 Fix RFC link (#3594) 2018-02-24 13:50:31 +02:00
Matt Hamil
db1aad3d44 Updated README (#3567)
Changed wording in the Web Support section of README to reflect priority for previous 1.0 release.
2018-02-22 23:52:09 -06:00
Brent Vatne
2f8bc09a15 First crack at publish from circle (#3574)
* First crack at publish from circle

* s/publish/deploy

* Update snapshots

* Try installing with yarn

* Nice one

* Shhh

* Comment some things out and add a webhook

* Add proper webhook url and add back build steps
2018-02-22 16:39:41 -08:00
Brent Vatne
f3ceef1e4b Fix colors for card and header border on iOS 2018-02-22 12:58:33 -08:00
Brent Vatne
7cc8feaf05 Several improvements to StackNavigation Header (#3568)
* Refactor to remove unused variables, styles, and outer Animated view

* Style cleanup

* Proof of concept blur background

* Clean it up and add flow interface

* Update snapshots
2018-02-21 18:29:43 -08:00
Brent Vatne
f291eca0a8 Release 1.1.2 2018-02-20 16:00:44 -08:00
Ron Arts
5e7cd58ae7 Bump react-native-safe-area-view dep to 0.7.0 for react-native-web support (#3553) 2018-02-21 00:44:20 +01:00
Mike Grabowski
a2713ac71a Improve Header performance a bit (#3556)
* Improve `Header` performance a bit

I have been investigating `<Header />` component performance once again today with `render` cycles in particular. I have observed that during `push` phase, a typical Header in NavigationPlayground re-renders 3 times on iOS and 2 times on Android.

The first time is obvious on both platforms since that's when we add a new scene to an array. Second on iOS was also self-explanatory - we measure title width and other layout parameters in order to provide a better animation.

What got me thinking was the last render cycle that didn't have a clear origin. After digging around I've found it is caused by a `scenes` array changing when transition finishes. What is surprising, it's just the reference to the object that changes, the content (items inside) stay the same.

I have found out that this is caused by `Transitioner` looping through an array of scenes attempting to remove stale scenes. Since scene becomes stale when you `pop` from it, this is obviously a noop when `pushing` a new route. That, obviously, causes an extra render cycle since `filter` produces same, but with a different pointer, object.

* Update Transitioner.js

* Update Transitioner.js
2018-02-21 00:44:10 +01:00
Brent Vatne
27fc4ac448 Release 1.1.1 2018-02-19 18:18:38 -08:00
Brent Vatne
c873c3fb24 Release 1.1.0 2018-02-19 18:15:37 -08:00
Brent Vatne
34870d4546 Fix TabRouter to support shorthand route config 2018-02-19 18:00:13 -08:00
Brent Vatne
08be3966d2 Release 1.1.0-rc.5 2018-02-19 14:46:39 -08:00
Brent Vatne
8d386cf523 Fix regression in modular back button 2018-02-19 14:46:25 -08:00
Ron Arts
78c2f7f55b Fix react-native-web support for #3526 (#3546)
* MaskedViewIOS use broke react-native-web support, this fixes it.

* Fallback more gracefully.

* Actually return the value ...
2018-02-19 13:48:12 +01:00
Marcin Raburski
e7cc0a53b9 getComponentForState made more generic (#2498) 2018-02-19 12:14:13 +00:00
Matthieu Lemoine
b677a7c31f Pass prevTransitionsProps to transitionConfig (#3304)
* Pass prevTransitionsProps to transitionConfig

* Remove flow type
2018-02-19 11:29:46 +01:00
Brent Vatne
216442edf7 Release 1.1.0-rc.4 2018-02-17 12:50:26 -08:00
Brent Vatne
f570ecea75 Move the back button handler subscription to the NavigationContainer constructor (#3542)
* Move the back button handler subscription to the constructor to fix precedence
- See 07d92947a1/src/Navigation.js (L190-L193)

* Return the boolean result of dispatch in global back handler
2018-02-17 12:50:04 -08:00
Brent Vatne
31a21efdae Cleanup around StackRouter (#3487)
* Make StackRouter a bit easier to read, update and add some comments, add an explicit test around stack and navigate

* Address feedback for clarity
2018-02-17 11:14:03 -08:00
Brent Vatne
1d1e2104af Release 1.1.0-rc.3 2018-02-17 09:42:45 -08:00
Brent Vatne
17101a42ff Fix headerLeft on first screen regression 2018-02-17 09:40:59 -08:00
Brent Vatne
eeae9630f9 Update snapshots 2018-02-16 18:14:07 -08:00
Brent Vatne
51d396d8ef Remove withNavigationFocus example until it's fixed 2018-02-16 18:10:33 -08:00
Brent Vatne
05afdea066 Bump version 2018-02-16 18:09:40 -08:00
Brent Vatne
a4d758ad93 Do not use hide views when swipe or animations are enabled. Improve withNavigationFocus example 2018-02-16 18:05:39 -08:00
Brent Vatne
a12185e66d Properly thread through childNavigation 2018-02-16 17:26:01 -08:00
Brent Vatne
cd173dd0cc Release 1.1.0-rc.0 2018-02-16 17:07:28 -08:00
Brent Vatne
b2444e6c61 Revert "Revert "Add getParam navigation helper (#3510)" (#3532)"
This reverts commit 5febb81a1c.
2018-02-16 17:06:16 -08:00
Brent Vatne
f9d0777608 Add back support for lazy tabs and use removeClippedSubviews (#3538)
* Lazy initialization of tabs and move contents off-screen when not active

* Make subview clipping and lazy both configurable

* Record snapshots again

* Update type definition

* Remove unused log
2018-02-16 16:59:19 -08:00
Sébastien Lorber
1b6391d83f add withNavigationFocus HOC (#3512)
* add withNavigationFocus HOC

See:
- https://github.com/react-navigation/react-navigation/issues/51#issuecomment-276003658
- https://github.com/react-navigation/react-navigation/issues/51#issuecomment-278761705
- https://github.com/react-navigation/react-navigation/pull/3345#issuecomment-360260067

* typos

* remove unused import

* Add withNavigationFocus export

* add example TabsWithNavigationFocus

* add example TabsWithNavigationFocus

* withNavigationFocus: get navigation from context or props

* subs => subscriptions

* fix flow issues
2018-02-17 01:57:33 +01:00
Brent Vatne
3a22378821 Update snapshots 2018-02-16 12:45:57 -08:00
Brent Vatne
26771dea63 Several small changes related to header style commit 2018-02-16 12:42:44 -08:00
Brent Vatne
6bb609ebea Header transition presets with support for standard iOS transition style (#3526)
Header transition presets with approximate support for UIKit transition style
2018-02-16 12:41:59 -08:00
Brent Vatne
7845377174 Revert "Add getParam navigation helper (#3510)" (#3532)
This reverts commit 50dcb37cd7.
2018-02-15 13:24:40 -08:00
Peter Piekarczyk
ecdcf19424 Add getParam navigation helper (#3510)
* add getParam helper

* passing tests

* check for existence of param instead of just or

* fix spacing

* use in instead of checking for null

* add test for null
2018-02-15 10:14:08 -08:00
Ron Arts
d9c637182e The Linking and BackHandler components are now both supported by react-native-web (#3494)
so there's no need to supply dummy replacements.
2018-02-13 21:23:26 +01:00
Sébastien Lorber
3cf67baeeb fix doc link (#3513) 2018-02-13 19:30:20 +01:00
Ashoat Tevosyan
b033e5d960 Run Prettier on Flow libdef on precommit (#3495) 2018-02-12 17:45:50 -05:00
Brent Vatne
3a31758f2d Better orientation layout on playground 2018-02-12 11:53:23 -08:00
Brent Vatne
6ef6a05b85 Slightly improved margins on the iOS header back button 2018-02-09 21:19:02 -08:00
Brent Vatne
bba1023ece Use the correct iOS back icon 2018-02-09 20:08:56 -08:00
Brent Vatne
2c6ce1426a Make Router({ RouteName: Component }) a valid way to configure a router (#3486)
* Make Router({routeName: Component}) a valid way to instantiate a route

* Update App.js in NavigationPlayground

* Fix route config flow type
2018-02-09 18:20:01 -08:00
Kazato Sugimoto
9bf6a4cd1b Decode URI encoded string of deep link (#3455) 2018-02-10 09:26:20 +09:00
Brent Vatne
aa7f00540b Update snapshots for TabView/TabNavigator 2018-02-09 14:22:11 -08:00
Maxime Florent Fankam
0915c0572a Allow swipeEnabled be a function (#3378)
* Allow swipeEnabled be a function with state param
2018-02-09 23:04:17 +01:00
Brent Vatne
1f0c099e19 Number of lines in label for TabBarBottom is always 1 2018-02-09 13:51:04 -08:00
Brent Vatne
28abefd244 Make it possible to go back to menu from key example and improve banner on menu screen (#3479)
* Make it possible to go back to menu from key example and improve banner on menu screen

* Fix NavigationPlayground flow error
2018-02-08 19:10:54 -08:00
Brent Vatne
cc344933e8 Bump to patch version 1.0.3 2018-02-08 18:24:20 -08:00