* Navigation actions should be string literals to work properly with Flow
* Update StackRouter/TabRouter tests with eslint ignore rule
* Use `expect.objectContaining` so we don't rely on keys
This Init{index} pattern guarantees that the same keys will always be re-used when doing a RESET.
This behaviour doesn’t match how the rest of the router works and causes bugs.
Namely if you are on `{ routeName: ‘Dashboard’, params: { user: ‘A’ } }` and use RESET to `{ routeName: ‘Dashboard’, params: { user: ‘B’ } }` when the user switches, it will act like a `setParams` action instead of a `RESET` action and the Dashboard will not be re-mounted.
to allow composition of the Header component when using a custom header
component, styling is probably one of the options you want to have.
For example, I need to dynamicly change the height of the header based
on scroll position, and without this change I have to inherit from the
Header component and copy the render function, instead of composing the
Header component in my own component.
* add headerBackTitleStyle screen option
since the title is customizable, the back title should too.
* add documentation for `headerBackTitleStyle`
* make absence of headerBackTitle not affect return value
* merge styles so current scene can override
If there's no last scene, return the `headerBackTitleStyle` from the
current scene.
Otherwise return the `headerTitleStyle` from the last scene, and the
`headerBackTitleStyle` from the current scene, with the latter having
precedence.
* take headerBackTitleStyle from current scene
also the title style of the last scene is no longer taken into account
* Implement getPathAndParamsForState for StackRouter
* Add test to make sure `params` is correct in getPathAndParamsForState of StackRouter
* chore: fix flow
* Fix Modal Gestures
* Update StackNavigator.md for gesturesEnabled to include modals again
* Remove modal gesture todo
* Gesture response distance top, side => vertical, horizontal
* Force the back button to be recognized as such by screen readers.
* Update HeaderBackButton.js
* Update HeaderBackButton.js
* Update HeaderBackButton.js
* Format remaining issues
Centered titles are generally specific to iOS, left alignment of the title appears more common in platforms outside Android and iOS.
This also fits better with the rest of the conditionals that test for iOS instead of Android.
`screenProps` were not being passed to `CardStack` and consequently not
available for the navigationOptions function in components using
`StackNavigator`.
* Initial commit
* Remove HybridExample (#985)
* Remove HybridExample
* Remove last mention of HelloHybrid
* Remove console log
* Fix flow and example
* Fix routers api docs
* Keep options in single place
* chore
* Fix styling
* Organise miscs
* Better flow type for screen options
* Flow test website and add more types to options
* navigationOptions instead of prevOptions makes more sense
* Fixes
* Fix up docs
* Fix
* Update route decl
* Provide error when removed API is used
* Remove lock
* Add validators
* Make StacksOverTabs config valid again
* Do not return
* Fix redbox