Commit Graph

1560 Commits

Author SHA1 Message Date
Satyajit Sahoo
cda6397b89 refactor: don't use a boolean for drawer status
BREAKING CHANGE: Drawer status is now a union ('open', 'closed') instead of a boolean. This will let us implement more types of status in future.

Following this the following exports have been renamed as well:
- getIsDrawerOpenFromState -> getDrawerStatusFromState
- useIsDrawerOpen -> useDrawerStatus
2021-01-15 12:49:20 +01:00
Satyajit Sahoo
79a85a431c refactor: don't use absolute position for header
BREAKING CHANGE: We now use flexbox for header elements which could break some existing style code which relied on absolute positioning.
2021-01-15 12:06:59 +01:00
Satyajit Sahoo
22a8afac74 feat: don't hardcode header back test ID
BREAKING CHANGE: Now the back button test ID can be customized using headerBackTestID option
2021-01-15 11:35:29 +01:00
Satyajit Sahoo
4954d6aae3 fix: enable detachInactiveScreens by default on web for better a11y 2021-01-14 14:53:35 +01:00
Satyajit Sahoo
6c5e196459 chore: wrap example list in SafeAreaView 2021-01-14 14:42:33 +01:00
Satyajit Sahoo
e86ce7bcb7 chore: update Reactiflux instructions 2021-01-14 12:45:53 +01:00
youngjuning
6c3cccf877 feat: export TransitionPreset for custom TransitionPresets (#9173) 2021-01-14 12:39:15 +01:00
Dulmandakh
db6bdb0430 chore: set displayName for LinkingContext (#9202)
Co-authored-by: Satyajit Sahoo <satyajit.happy@gmail.com>
2021-01-14 12:30:46 +01:00
Dulmandakh
c9d31bafdb chore: set displayName for ThemeContext (#9201)
Co-authored-by: Satyajit Sahoo <satyajit.happy@gmail.com>
2021-01-14 12:30:36 +01:00
Satyajit Sahoo
52dd4e7ac9 fix: support sync getInitialURL in native useLinking 2021-01-14 03:34:41 +01:00
Satyajit Sahoo
15b8bb3458 feat: add a way to specify an unique ID for screens
With this, the user will be able to specify a `getId` function for their screens which returns an unique ID to use for the screen:

```js
<Stack.Screen
  name="Profile"
  component={ProfileScreen}
  getId={({ params }) => params.userId}
/>
```

This is an alternative to the `key` option in `navigate` with several advantages:

- Often users specify a key that's dependent on data already in params, such as `userId`. So it's much easier to specify it one place rather than at every call site.
- Users won't need to deal with generating a unique key for routes manually.
- This will work with other actions such as `push`, and not just navigate.
- With this, it'll be possible to have multiple instances of the screen even if you use `navigate`, which may be desirable in many cases (such as profile screens).
2021-01-14 03:33:44 +01:00
Satyajit Sahoo
802db004ae chore: upgrade dependencies 2021-01-08 13:59:24 +01:00
Satyajit Sahoo
b376e9c5ed fix: fix typo for default prop in drawer 2020-12-10 01:49:27 +01:00
Satyajit Sahoo
03ba1f2930 fix: fix default screen options not being respected 2020-12-04 00:34:16 +01:00
Satyajit Sahoo
69d333f6c2 fix: fix initial metrics on server 2020-12-03 02:19:54 +01:00
Satyajit Sahoo
068a9a456c feat: move lazy to options for bottom-tabs and drawer
BREAKING CHANGE: The lazy prop now can be configured per screen instead of for the whole navigator. To keep previous behavior, you can specify it in screenOptions
2020-12-03 02:05:13 +01:00
Satyajit Sahoo
65d8b487f8 chore: upgrade to typescript 4.1 2020-12-03 01:56:28 +01:00
Satyajit Sahoo
12b893d7ca fix: drop usage of Dimensions in favor of metrics from safe-area-context 2020-12-03 01:40:00 +01:00
Satyajit Sahoo
73aad00f19 chore: fix listing packages in metro config 2020-12-03 01:00:28 +01:00
Satyajit Sahoo
f137a84a80 chore: tweak comment for getParent 2020-12-02 21:15:29 +01:00
Satyajit Sahoo
8bdc6c6b9b fix: default to backBehavior: firstRoute for TabRouter
BREAKING CHANGE: Returning to first route after pressing back seems more common in apps. This commit changes the default for tab and drawer navigators to follow this common practice. To preserve previous behavior, you can pass backBehavior=history to tab and drawer navigators.
2020-12-02 21:06:32 +01:00
Satyajit Sahoo
7c1cd261bf feat: add a new backBehavior: firstRoute for TabRouter 2020-12-02 20:35:09 +01:00
Satyajit Sahoo
c361795d97 fix: print an error when passing a second argument to useFocusEffect 2020-12-02 20:27:34 +01:00
Satyajit Sahoo
5a9a1edae7 feat: stop exporting useLinking hook
BREAKING CHANGE: we have added linking prop for the same use case which is easier to use. so no need to export useLinking anymore.
2020-11-29 17:59:17 +01:00
Satyajit Sahoo
33b474ef64 chore: fix typo in workflow 2020-11-29 17:56:21 +01:00
Satyajit Sahoo
ca50b172f9 chore: bump github scripts 2020-11-29 17:56:13 +01:00
Satyajit Sahoo
d72a7bdea2 chore: add a label for first pull request 2020-11-29 17:56:01 +01:00
Satyajit Sahoo
a93e1d85f0 chore: only count repro from user's github repos 2020-11-29 17:55:51 +01:00
Satyajit Sahoo
14ac256af3 fix: force dismiss keyboard if there was no gesture
closes #9078
2020-11-21 05:28:25 +01:00
Satyajit Sahoo
b82a9126bb fix: fix incorrect state change events in independent nested container
fixes #9080
2020-11-20 18:10:35 +01:00
Satyajit Sahoo
b0416957bc chore: only match repo links for GitHub in action 2020-11-20 17:20:18 +01:00
Satyajit Sahoo
15e5678037 refactor: move drawerContentOptions to options
BREAKING CHANGE:  This commit moves options from `drawerContentOptions` to regular `options` in order to reduce confusion between the two, as well as to make it more flexible to configure the drawer on a per screen basis.
2020-11-19 03:57:48 +01:00
Satyajit Sahoo
852f2f0f19 chore: remove compat package 2020-11-17 20:36:06 +01:00
Satyajit Sahoo
c85f2ff47a feat: add an option to specify default options for the navigator 2020-11-17 20:25:49 +01:00
Satyajit Sahoo
6f326cf0c5 feat: add a slide animation for modals on Android 2020-11-16 18:09:58 +01:00
Satyajit Sahoo
422dfc55dd chore: fix typo in github workflow 2020-11-16 15:36:30 +01:00
Satyajit Sahoo
2f66e5e773 chore: add action to check for repro 2020-11-16 15:36:20 +01:00
Satyajit Sahoo
f7ff1adee7 refactor: move tabBarOptions to options for bottom tabs
BREAKING CHANGE: This commit moves options from `tabBarOptions` to regular `options` in order to reduce confusion between the two, as well as to make it more flexible to configure the tab bar based on a per screen basis.
2020-11-13 21:23:18 +01:00
Satyajit Sahoo
ddf27bf41a refactor: don't use deprecated APIs from react-native-safe-area-context
BREAKING CHANGE: We now require newer versions of safe area context library.
2020-11-13 08:06:14 +01:00
Satyajit Sahoo
a97a43aa1d refactor: drop support for tabBarVisible option
BREAKING CHANGE: We need to add support for specifying style for tab bar in options to support the use cases which need this.
2020-11-13 07:23:59 +01:00
Satyajit Sahoo
376db8be5e chore: remove peer dep on masked view to make it optional 2020-11-13 07:12:33 +01:00
Satyajit Sahoo
227f133536 fix: drop dangerously prefix from getState and getParent
BREAKING CHANGE
2020-11-13 04:48:14 +01:00
Jesse Katsumata
8773dcb80f chore: replace community maskedview (#9058)
replaced `@react-native-community/masked-view` with `@react-native-masked-view/masked-view` due to namespace change.
2020-11-12 06:21:11 +01:00
Satyajit Sahoo
3ec1a862b2 refactor: default to sliding drawer on iOS 2020-11-12 04:00:11 +01:00
Satyajit Sahoo
5648e1a7b3 refactor: drop drawerOpen and drawerClose events
BREAKING CHANGE: drawer's status can be queried through the isDrawerOpen hook. no need for the events
2020-11-12 03:58:52 +01:00
Satyajit Sahoo
21a11543bf fix: add missing helper types in descriptors 2020-11-12 03:54:41 +01:00
Satyajit Sahoo
4cad132c2c refactor: simplify props for stack and drawer headers
BREAKING CHANGE: Previously, the stack header accepted scene and previous scene which contained things such as descriptor, navigation prop, progress etc. The commit simplifies them to pass `route`, `navigation`, `options` and `progress` directly to the header. Similaryly, the `previous` argument now contains `options`, `route` and `progress`.
2020-11-12 02:47:51 +01:00
Satyajit Sahoo
d5c091cbcf refactor: add route prop to the descriptor 2020-11-12 02:46:25 +01:00
Satyajit Sahoo
8a63f193bf feat: use modal presentation style for modals on iOS by default 2020-11-12 01:39:42 +01:00
Satyajit Sahoo
0c55803b32 fix: drop support for headerMode='none'
BREAKING CHANGE: The header can be hidden with `headerShown: false` already. Using both `headerMode='none'` and `headerShown` together causes confusion. So it's time to drop the unnecessary `headerMode` prop.
2020-11-12 00:58:25 +01:00