Commit Graph

915 Commits

Author SHA1 Message Date
Satyajit Sahoo
1e813dfb5b chore: publish
- @react-navigation/bottom-tabs@5.7.3
 - @react-navigation/compat@5.2.4
 - @react-navigation/core@5.12.2
 - @react-navigation/devtools@5.1.4
 - @react-navigation/drawer@5.8.7
 - @react-navigation/material-bottom-tabs@5.2.15
 - @react-navigation/material-top-tabs@5.2.15
 - @react-navigation/native@5.7.2
 - @react-navigation/routers@5.4.10
 - @react-navigation/stack@5.8.0
2020-07-28 14:08:02 +02:00
Simon Arm-Riding
ce4eb7e927 fix: add accessibilityState property (#8548)
React Native 0.62 removes the deprecated `accessibilityStates` property and replaces it with an `accessibilityState` object instead. This PR adds the new property where needed, but leaves the old one in place for backwards compatibility. Without the change, the selected tab in BottomTabNavigator isn't announced properly in VoiceOver.
2020-07-28 11:28:42 +02:00
Madd.is
baea77e332 fix: pass label position flag to label rendering in BottomTabBar (#8557)
In the process of upgrading from v4, I noticed a regression. 
In the past, the function form of `tabBarLabel` did get an `orientation: 'landscape' | 'portrait'`, this is no longer the case.
However, when using a custom Text rendering, we need to apply a margin to the text in horizontal mode.

Since the orientation/horizontal state is decided based on internal heuristics, It is a huge pain with a high bug potential when reimplementing that detection myself.
2020-07-28 11:27:30 +02:00
Martin Treurnicht
15f9b9573e feat: emit gesture navigation events from stack view (#8524)
Allows you to subscribe to gesture navigation events, we have a custom keyboard that we want to hide and show when gesture is being used to navigate (same as native keyboard)
2020-07-28 11:26:45 +02:00
Satyajit Sahoo
b70e3fe618 fix: make sure history is correct after rehydration 2020-07-28 11:20:17 +02:00
Tomasz Krzyżowski
1aa8219021 fix: make sure index is correct when rehydrating state for tabs (#8638)
If the state being rehydrated contained multiple `routes` and had an `index`, we incorrectly kept the same index even if the index of the focused route changed in the state after rehydration. This commit ensures that we also adjust the index appropriately according to the new index of the focused route.
2020-07-28 11:13:01 +02:00
Andrei Barabas
486c3defd2 feat: allow style overrides for HeaderBackButton (#8626) 2020-07-28 11:09:23 +02:00
Satyajit Sahoo
0d6a43f663 chore: publish
- @react-navigation/compat@5.2.3
2020-07-22 03:07:54 +02:00
Satyajit Sahoo
5e358b3aad fix: fix false warning due to change in Object.assign in metro preset
#8584
2020-07-22 03:06:55 +02:00
Satyajit Sahoo
7c2b28ae1e chore: publish
- @react-navigation/bottom-tabs@5.7.2
 - @react-navigation/compat@5.2.1
 - @react-navigation/core@5.12.1
 - @react-navigation/devtools@5.1.3
 - @react-navigation/drawer@5.8.6
 - @react-navigation/material-bottom-tabs@5.2.14
 - @react-navigation/material-top-tabs@5.2.14
 - @react-navigation/native@5.7.1
 - @react-navigation/stack@5.7.1
2020-07-19 14:55:27 +02:00
Satyajit Sahoo
af8b27414c fix: make sure new state events are emitted when new navigators mount 2020-07-19 14:52:43 +02:00
Satyajit Sahoo
b2a99c2a88 chore: publish
- @react-navigation/bottom-tabs@5.7.1
2020-07-14 14:05:18 +02:00
Satyajit Sahoo
2f74541811 fix: don't render badge on bottom tabs if not visible. closes #8577 2020-07-14 14:03:16 +02:00
Satyajit Sahoo
513482425a chore: publish
- @react-navigation/bottom-tabs@5.7.0
 - @react-navigation/compat@5.2.0
 - @react-navigation/core@5.12.0
 - @react-navigation/devtools@5.1.2
 - @react-navigation/drawer@5.8.5
 - @react-navigation/material-bottom-tabs@5.2.13
 - @react-navigation/material-top-tabs@5.2.13
 - @react-navigation/native@5.7.0
 - @react-navigation/routers@5.4.9
 - @react-navigation/stack@5.7.0
2020-07-10 22:40:45 +02:00
Satyajit Sahoo
f4180295bf feat: add a getComponent prop to lazily specify components 2020-07-10 22:33:13 +02:00
Satyajit Sahoo
c665c027a6 fix: tweak border color to match iOS default 2020-07-10 21:54:29 +02:00
Satyajit Sahoo
849e04ab6a fix: fix bottom tab bar to match iOS defaults 2020-07-10 21:54:29 +02:00
Satyajit Sahoo
374b081b1c fix: only remove non-existed routes from tab history. closes #8567 2020-07-10 21:54:29 +02:00
Satyajit Sahoo
96c7b688ce feat: add support for badges to bottom tab bar 2020-07-10 21:54:29 +02:00
Satyajit Sahoo
e63580edbe fix: improve the warning message for non-serializable values 2020-07-10 15:32:18 +02:00
Satyajit Sahoo
eea9860323 refactor: change format to formatter for documentTitle option 2020-07-10 13:07:47 +02:00
Satyajit Sahoo
13c9d1e281 feat: add a hook to update document title 2020-07-10 13:00:45 +02:00
osdnk
8f5286ef50 fix: ensure correct document title after going back on Chrome 2020-07-10 11:45:03 +02:00
Satyajit Sahoo
a255e350f9 fix: fix options event being emitted incorrectly (#8559) 2020-07-09 15:47:27 +02:00
Satyajit Sahoo
7a74bdb24e test: add test for merging params on navigation 2020-07-09 11:48:48 +02:00
Satyajit Sahoo
7c3a0a0f23 fix: mark some types as read-only 2020-07-09 11:07:14 +02:00
Satyajit Sahoo
6925e92dc3 feat: add a beforeRemove event
A lot of times, we want to prompt before leaving a screen if we have unsaved changes. Currently, we need to handle multiple cases to prevent this:

- Disable swipe gestures
- Override the back button in header
- Override the hardware back button on Android

This PR adds a new event which is emitted before a screen gets removed, and the developer has a chance to ask the user before closing the screen.

Example:

```js
React.useEffect(
  () =>
    navigation.addListener('beforeRemove', (e) => {
      if (!hasUnsavedChanges) {
        return;
      }

      e.preventDefault();

      Alert.alert(
        'Discard changes?',
        'You have unsaved changes. Are you sure to discard them and leave the screen?',
        [
          { text: "Don't leave", style: 'cancel', onPress: () => {} },
          {
            text: 'Discard',
            style: 'destructive',
            onPress: () => navigation.dispatch(e.data.action),
          },
        ]
      );
    }),
  [navigation, hasUnsavedChanges]
);
```
2020-07-02 14:32:31 +02:00
Satyajit Sahoo
1801a13323 fix: avoid error setting warning for devtools migration. closes #8534 2020-07-02 14:14:56 +02:00
Satyajit Sahoo
9671c76c51 fix: fix bubbling actions to correct target when specified 2020-07-01 21:37:38 +02:00
Satyajit Sahoo
ec840692ec refactor: make state getter hook more generic 2020-07-01 20:41:20 +02:00
Satyajit Sahoo
1cae93331d refactor: consolidate action and focus listeners 2020-07-01 20:10:38 +02:00
Satyajit Sahoo
9ba2f84d18 test: add basic unit tests for all navigators 2020-06-30 16:14:52 +02:00
Satyajit Sahoo
2477db47a0 chore: publish
- @react-navigation/bottom-tabs@5.6.1
 - @react-navigation/compat@5.1.28
 - @react-navigation/core@5.11.1
 - @react-navigation/devtools@5.1.1
 - @react-navigation/drawer@5.8.4
 - @react-navigation/material-bottom-tabs@5.2.12
 - @react-navigation/material-top-tabs@5.2.12
 - @react-navigation/native@5.6.1
 - @react-navigation/stack@5.6.2
2020-06-25 17:31:40 +02:00
Satyajit Sahoo
d1210a861b fix: fix error with type definitions. closes #8511 2020-06-25 17:27:48 +02:00
Satyajit Sahoo
c4d2a8a828 chore: publish
- @react-navigation/stack@5.6.1
2020-06-25 11:45:59 +02:00
Satyajit Sahoo
fc95d7a256 fix: fix showing back button with headerMode=screen. fixes #8508 2020-06-25 11:42:19 +02:00
Satyajit Sahoo
978b197446 chore: publish
- @react-navigation/bottom-tabs@5.6.0
 - @react-navigation/compat@5.1.27
 - @react-navigation/core@5.11.0
 - @react-navigation/devtools@5.1.0
 - @react-navigation/drawer@5.8.3
 - @react-navigation/material-bottom-tabs@5.2.11
 - @react-navigation/material-top-tabs@5.2.11
 - @react-navigation/native@5.6.0
 - @react-navigation/routers@5.4.8
 - @react-navigation/stack@5.6.0
2020-06-24 22:29:01 +02:00
Satyajit Sahoo
c65f9ef1a9 fix: make sure we don't miss dimensions updates 2020-06-24 22:09:00 +02:00
Satyajit Sahoo
d85d27c432 fix: fix forward with history API. closes #8409 2020-06-24 21:50:30 +02:00
Satyajit Sahoo
f00091d7ab refactor: use ts-expect-errpr instead of ts-ignore 2020-06-24 20:07:32 +02:00
Satyajit Sahoo
67cd44d24b refactor: handle unhandled action in container 2020-06-24 17:09:06 +02:00
Satyajit Sahoo
a021cfb8af feat: rework linking configuration to be more strict (#8502)
The PR changes a few things about linking configuration:

- Moves the configuration for screens to a screens property so that it's possible to specify other options like `initialRouteName` for the navigator at root
- The nesting in the configuration needs to strictly match the shape of the navigation tree, it can't just rely on URL's shape anymore
- If a screen is not specified in the configuration, it won't be parsed to/from the URL (this is essential to handle unmatched screens)
- Treat `path: ''` and no specified path in the same way, unless `exact` is specified
- Disallow specifying unmatched screen with old format
- Add support for `initialRouteName` at top level
- Automatically adapt old configuration to new format
2020-06-24 16:54:24 +02:00
Satyajit Sahoo
a2d649faf1 feat: show back button in nested stack 2020-06-24 12:45:40 +02:00
Attila Szabo
1024a86a07 docs: updated description for drawer (#8497)
Co-authored-by: Satyajit Sahoo <satyajit.happy@gmail.com>
2020-06-23 22:21:10 +02:00
Satyajit Sahoo
37bbbbe869 fix: workaround keyboard dismissing on focus
closes #8414, closes #8478
2020-06-23 19:17:03 +02:00
Satyajit Sahoo
8177c45d14 feat: add an onReady callback to the container (#8491) 2020-06-22 14:03:57 +02:00
Satyajit Sahoo
16128199ed fix: remove broken showIcon option from bottom-tabs 2020-06-22 12:05:05 +02:00
Satyajit Sahoo
ea5affd914 fix: use interpolateNode in drawer to support Reanimated 2 2020-06-22 11:45:52 +02:00
Satyajit Sahoo
d2444887be fix: more improvements to types 2020-06-22 11:45:52 +02:00
Wojciech Lewicki
962456beb6 fix: fix screen disappearing on Android (#8473)
Added `collapsable={false}` to the View in order for the Android to render screens properly. This issue is most probably similar to 9c06a92d09 but fixes it on Android since the View seems to be removed from a native view hierarchy due to not drawing anything. To see the bug go to https://github.com/software-mansion/react-native-screens/issues/544.
2020-06-19 19:38:32 +02:00