Skip to content

Commit 833bfa6

Browse files
committed
fix: position drawer offscreen by default on web
1 parent 52e5ec6 commit 833bfa6

File tree

1 file changed

+12
-5
lines changed
  • packages/react-native-drawer-layout/src/views

1 file changed

+12
-5
lines changed

packages/react-native-drawer-layout/src/views/Drawer.tsx

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,10 @@ export function Drawer({
6565
const translateX =
6666
// The drawer stays in place at open position when `drawerType` is `back`
6767
open || drawerType === 'back'
68-
? 0
69-
: drawerPosition === 'left'
70-
? -drawerWidth
71-
: drawerWidth;
68+
? drawerPosition === 'left'
69+
? drawerWidth
70+
: -drawerWidth
71+
: 0;
7272

7373
const drawerAnimatedStyle =
7474
drawerType !== 'permanent'
@@ -106,7 +106,14 @@ export function Drawer({
106106
position: drawerType === 'permanent' ? 'relative' : 'absolute',
107107
zIndex: drawerType === 'back' ? -1 : 1,
108108
},
109-
drawerPosition === 'right' ? { right: 0 } : { left: 0 },
109+
drawerType !== 'permanent'
110+
? // Position drawer off-screen by default in closed state
111+
// And add a translation only when drawer is open
112+
// So changing position in closed state won't trigger a visible transition
113+
drawerPosition === 'right'
114+
? { right: -drawerWidth }
115+
: { left: -drawerWidth }
116+
: null,
110117
drawerAnimatedStyle,
111118
drawerStyle,
112119
]}

0 commit comments

Comments
 (0)