Commit Graph

42 Commits

Author SHA1 Message Date
Satyajit Sahoo
960f0a5281 refactor: make sure height set on header container is focused header height 2020-10-23 03:32:40 +02:00
Satyajit Sahoo
38e17aae93 fix: don't set statusbar height on nested header by default 2020-10-23 02:27:50 +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
fc95d7a256 fix: fix showing back button with headerMode=screen. fixes #8508 2020-06-25 11:42:19 +02:00
Satyajit Sahoo
f00091d7ab refactor: use ts-expect-errpr instead of ts-ignore 2020-06-24 20:07:32 +02:00
Satyajit Sahoo
a2d649faf1 feat: show back button in nested stack 2020-06-24 12:45:40 +02:00
Satyajit Sahoo
1aadc79fb8 refactor: enforce import type everywhere 2020-06-17 12:05:40 +02:00
Satyajit Sahoo
1ae07af796 fix: make sure the header is on top of the view 2020-06-08 11:17:53 +02:00
Satyajit Sahoo
e0e0f79793 feat: automatically hide header in nested stacks 2020-06-08 08:14:34 +02:00
Satyajit Sahoo
e653d55479 refactor: minor tweaks 2020-06-06 00:38:38 +02:00
Ashoat Tevosyan
78afbffe97 fix: relatively position float Header if !headerTransparent (#8285)
## Motivation

Right now `headerMode: float` renders an absolutely-positioned header. To offset the content appropriately, it then measures the height of the header and compensates with a margin. This approach unfortunately doesn't work well for animations.

Before             |  After
:-------------------------:|:-------------------------:
<img src="http://ashoat.com/jerky_absolute.gif" width="300" />  |  <img src="http://ashoat.com/smooth_relative.gif" width="300" />

## Approach

When rendering the header absolutely we want to render it above (after, in sibling order) the content. But when rendering it relatively we want to render it first (before, in sibling order).

The margin compensation code is no longer necessary so I removed it.

## Test plan

I used the `StackHeaderCustomization` example to make sure transitions between `headerTransparent` and `!headerTransparent` looked good. I added a custom (taller) header to test if height transitions looked good, and toggled `headerShown` to make sure that transitioned well too.

Would be open to any other suggestions of things to test!
2020-06-06 00:12:00 +02:00
Satyajit Sahoo
9d822b95a6 fix: fix type of style for various options 2020-05-26 17:33:50 +02:00
Satyajit Sahoo
6dd45fcff9 fix: don't ignore previous header heights on layout update 2020-05-21 12:54:12 +02:00
Satyajit Sahoo
0a19e94b23 fix: make sure the address bar hides when scrolling on web
This commit adds a check to detect if the screen content fills the available body, and if yes, then it adjusts the styles so that scrolling triggers a scroll on the body which hides the address bar in browser.

Tested on Safari in iOS and Chrome on Android.

This behaviour can be overriden by the user by specifying `cardStyle: { flex: 1 }`, which will keep both the header and the address bar always visible.
2020-04-30 21:53:17 +02:00
Satyajit Sahoo
1613915669 chore: mark screens and masked view as optional in stack
Needs e54819c4de to work.
2020-04-22 14:02:21 +02:00
Satyajit Sahoo
82edb2581b fix: hide inactive screens for stack on web (#8010) 2020-04-18 01:14:11 +02:00
Satyajit Sahoo
3df65e2819 fix: initialize height and width to zero if undefined
closes #6789
2020-03-19 19:03:23 +01:00
Satyajit Sahoo
49f6fed6d3 fix: fix blank page if stack was inside display: none before 2020-03-19 18:11:55 +01:00
Satyajit Sahoo
b1a65fc73e fix: don't use react-native-screens on web
seems `react-native-screens` doesn't handle active screens properly and shows a blank page instead on web when a number is specified in the `active` prop.

closes #7485
2020-03-19 17:28:35 +01:00
Michał Osadnik
70029d6c13 feat: add an option to change use a custom card overlay (#7809)
I find it sometimes useful to define overlay renderer on my own. Eg. I needed to replace the background with BlurView and with this API I find it quite easy

Co-authored-by: Satyajit Sahoo <satyajit.happy@gmail.com>
2020-03-16 14:28:10 +01:00
Satyajit Sahoo
c19da31240 refactor: enable screens only for last screen
This will avoid issues such as https://github.com/react-navigation/react-navigation/issues/6909
2020-02-24 11:37:25 +01:00
Satyajit Sahoo
86c39d2e0e refactor: move types and base router to routers package 2020-02-10 16:04:20 +01:00
Satyajit Sahoo
3d937d1e65 fix: dispatch pop early when screen is closed with gesture (#336)
fixes #267
2020-02-02 23:56:05 +01:00
Satyajit Sahoo
94d7b28c0b fix: disable screens when mode is modal on older expo versions 2020-02-01 17:21:18 +01:00
osdnk
a6f58677dc fix: make UNVERSIONED insufficient expo version 2020-01-27 18:01:35 +01:00
Michał Osadnik
9bfb295620 fix: screens integration on Android (#294) 2020-01-27 17:48:22 +01:00
Satyajit Sahoo
16c64e7298 fix: pass correct previous scene to header with headerMode: screen 2020-01-23 15:29:40 +01:00
Satyajit Sahoo
38520a97ff fix: position inactivscreensws offscreen by default 2020-01-18 23:13:36 +01:00
Satyajit Sahoo
43d2c456be fix: slide the header up to hide it for vertical animation 2020-01-18 04:13:37 +01:00
Michał Osadnik
d3f5c55dbf fix: remove clamping in extrapolation of progress of stack animation 2020-01-07 06:46:29 -05:00
Satyajit Sahoo
12d90833eb fix: expose the header height even if not floating 2020-01-05 15:10:05 +01:00
Satyajit Sahoo
a9e584c3b7 fix: compare with correct height when floating header height updates 2020-01-05 13:58:24 +01:00
Satyajit Sahoo
b201fd2071 feat: add headerStatusBarHeight option to stack 2020-01-05 02:30:09 +01:00
Satyajit Sahoo
572beae41b fix: use gesture direction when using next screen's animation 2020-01-03 21:27:48 +01:00
Satyajit Sahoo
59803f54d6 fix: improve gesture performance 2020-01-01 16:26:51 +01:00
Satyajit Sahoo
282f62c258 refactor: use animated instead of reanimated 2020-01-01 12:53:01 +01:00
Satyajit Sahoo
9fc1af02c2 refactor: remove extra prop 2019-12-16 15:43:38 +01:00
Satyajit Sahoo
c110570d4c fix: disable style interpolation for card when animation is disabled 2019-12-16 15:25:19 +01:00
Satyajit Sahoo
d57226fd8b refactor: remove cardTransparent in favor of cardStyle 2019-12-16 15:09:10 +01:00
Satyajit Sahoo
eef17a801e refactor: import from /native instead of /core 2019-12-11 17:44:21 +01:00
Satyajit Sahoo
b6c7d2b626 refactor: remove navigation prop uses from CardStack 2019-12-09 22:28:49 +01:00
Satyajit Sahoo
d618ab382e feat: export underlying views used to build navigators (#191)
Exporting the underlying views makes it easy to build custom navigators on top of our views. Libraries such as react-native-router-flux rely on such exports to build custom routing solutions while being able to take advantage of our work.

This can also be the solution to adding custom behaviour without us needing to add separate config to override the router.
2019-12-04 00:22:53 +01:00