@react-navigation/drawer 6.5.4 → 6.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/index.js +0 -14
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/navigators/createDrawerNavigator.js +0 -15
- package/lib/commonjs/navigators/createDrawerNavigator.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/utils/DrawerGestureContext.js +0 -5
- package/lib/commonjs/utils/DrawerGestureContext.js.map +1 -1
- package/lib/commonjs/utils/DrawerPositionContext.js +0 -5
- package/lib/commonjs/utils/DrawerPositionContext.js.map +1 -1
- package/lib/commonjs/utils/DrawerProgressContext.js +0 -5
- package/lib/commonjs/utils/DrawerProgressContext.js.map +1 -1
- package/lib/commonjs/utils/DrawerStatusContext.js +0 -4
- package/lib/commonjs/utils/DrawerStatusContext.js.map +1 -1
- package/lib/commonjs/utils/getDrawerStatusFromState.js +1 -5
- package/lib/commonjs/utils/getDrawerStatusFromState.js.map +1 -1
- package/lib/commonjs/utils/useDrawerProgress.js +0 -8
- package/lib/commonjs/utils/useDrawerProgress.js.map +1 -1
- package/lib/commonjs/utils/useDrawerStatus.js +0 -8
- package/lib/commonjs/utils/useDrawerStatus.js.map +1 -1
- package/lib/commonjs/views/DrawerContent.js +0 -8
- package/lib/commonjs/views/DrawerContent.js.map +1 -1
- package/lib/commonjs/views/DrawerContentScrollView.js +0 -12
- package/lib/commonjs/views/DrawerContentScrollView.js.map +1 -1
- package/lib/commonjs/views/DrawerItem.js +8 -21
- package/lib/commonjs/views/DrawerItem.js.map +1 -1
- package/lib/commonjs/views/DrawerItemList.js +2 -11
- package/lib/commonjs/views/DrawerItemList.js.map +1 -1
- package/lib/commonjs/views/DrawerToggleButton.js +0 -9
- package/lib/commonjs/views/DrawerToggleButton.js.map +1 -1
- package/lib/commonjs/views/DrawerView.js +9 -52
- package/lib/commonjs/views/DrawerView.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.android.js +0 -2
- package/lib/commonjs/views/GestureHandler.android.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.ios.js +0 -2
- package/lib/commonjs/views/GestureHandler.ios.js.map +1 -1
- package/lib/commonjs/views/GestureHandler.js +0 -6
- package/lib/commonjs/views/GestureHandler.js.map +1 -1
- package/lib/commonjs/views/GestureHandlerNative.js +0 -7
- package/lib/commonjs/views/GestureHandlerNative.js.map +1 -1
- package/lib/commonjs/views/ScreenFallback.js +2 -18
- package/lib/commonjs/views/ScreenFallback.js.map +1 -1
- package/lib/commonjs/views/legacy/Drawer.js +62 -105
- package/lib/commonjs/views/legacy/Drawer.js.map +1 -1
- package/lib/commonjs/views/legacy/Overlay.js +3 -13
- package/lib/commonjs/views/legacy/Overlay.js.map +1 -1
- package/lib/commonjs/views/modern/Drawer.js +20 -41
- package/lib/commonjs/views/modern/Drawer.js.map +1 -1
- package/lib/commonjs/views/modern/Overlay.js +4 -12
- package/lib/commonjs/views/modern/Overlay.js.map +1 -1
- package/lib/module/index.js +3 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/navigators/createDrawerNavigator.js +0 -7
- package/lib/module/navigators/createDrawerNavigator.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/DrawerGestureContext.js.map +1 -1
- package/lib/module/utils/DrawerPositionContext.js.map +1 -1
- package/lib/module/utils/DrawerProgressContext.js.map +1 -1
- package/lib/module/utils/DrawerStatusContext.js.map +1 -1
- package/lib/module/utils/getDrawerStatusFromState.js +1 -4
- package/lib/module/utils/getDrawerStatusFromState.js.map +1 -1
- package/lib/module/utils/useDrawerProgress.js +0 -2
- package/lib/module/utils/useDrawerProgress.js.map +1 -1
- package/lib/module/utils/useDrawerStatus.js +1 -3
- package/lib/module/utils/useDrawerStatus.js.map +1 -1
- package/lib/module/views/DrawerContent.js +0 -1
- package/lib/module/views/DrawerContent.js.map +1 -1
- package/lib/module/views/DrawerContentScrollView.js +0 -3
- package/lib/module/views/DrawerContentScrollView.js.map +1 -1
- package/lib/module/views/DrawerItem.js +8 -10
- package/lib/module/views/DrawerItem.js.map +1 -1
- package/lib/module/views/DrawerItemList.js +2 -5
- package/lib/module/views/DrawerItemList.js.map +1 -1
- package/lib/module/views/DrawerToggleButton.js +0 -1
- package/lib/module/views/DrawerToggleButton.js.map +1 -1
- package/lib/module/views/DrawerView.js +9 -35
- package/lib/module/views/DrawerView.js.map +1 -1
- package/lib/module/views/GestureHandler.android.js.map +1 -1
- package/lib/module/views/GestureHandler.ios.js.map +1 -1
- package/lib/module/views/GestureHandler.js +0 -2
- package/lib/module/views/GestureHandler.js.map +1 -1
- package/lib/module/views/GestureHandlerNative.js.map +1 -1
- package/lib/module/views/ScreenFallback.js +2 -10
- package/lib/module/views/ScreenFallback.js.map +1 -1
- package/lib/module/views/legacy/Drawer.js +62 -90
- package/lib/module/views/legacy/Drawer.js.map +1 -1
- package/lib/module/views/legacy/Overlay.js +3 -3
- package/lib/module/views/legacy/Overlay.js.map +1 -1
- package/lib/module/views/modern/Drawer.js +20 -27
- package/lib/module/views/modern/Drawer.js.map +1 -1
- package/lib/module/views/modern/Overlay.js +4 -3
- package/lib/module/views/modern/Overlay.js.map +1 -1
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/navigators/createDrawerNavigator.d.ts +1 -0
- package/lib/typescript/src/navigators/createDrawerNavigator.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +1 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/lib/typescript/src/utils/DrawerGestureContext.d.ts +1 -0
- package/lib/typescript/src/utils/DrawerGestureContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/DrawerPositionContext.d.ts +1 -0
- package/lib/typescript/src/utils/DrawerPositionContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/DrawerProgressContext.d.ts +1 -0
- package/lib/typescript/src/utils/DrawerProgressContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/DrawerStatusContext.d.ts +1 -0
- package/lib/typescript/src/utils/DrawerStatusContext.d.ts.map +1 -0
- package/lib/typescript/src/utils/getDrawerStatusFromState.d.ts +1 -0
- package/lib/typescript/src/utils/getDrawerStatusFromState.d.ts.map +1 -0
- package/lib/typescript/src/utils/useDrawerProgress.d.ts +1 -0
- package/lib/typescript/src/utils/useDrawerProgress.d.ts.map +1 -0
- package/lib/typescript/src/utils/useDrawerStatus.d.ts +1 -0
- package/lib/typescript/src/utils/useDrawerStatus.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerContent.d.ts +1 -0
- package/lib/typescript/src/views/DrawerContent.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerContentScrollView.d.ts +1 -0
- package/lib/typescript/src/views/DrawerContentScrollView.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerItem.d.ts +1 -0
- package/lib/typescript/src/views/DrawerItem.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerItemList.d.ts +1 -0
- package/lib/typescript/src/views/DrawerItemList.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerToggleButton.d.ts +1 -0
- package/lib/typescript/src/views/DrawerToggleButton.d.ts.map +1 -0
- package/lib/typescript/src/views/DrawerView.d.ts +1 -0
- package/lib/typescript/src/views/DrawerView.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandler.android.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.android.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandler.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandler.ios.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandler.ios.d.ts.map +1 -0
- package/lib/typescript/src/views/GestureHandlerNative.d.ts +1 -0
- package/lib/typescript/src/views/GestureHandlerNative.d.ts.map +1 -0
- package/lib/typescript/src/views/ScreenFallback.d.ts +1 -0
- package/lib/typescript/src/views/ScreenFallback.d.ts.map +1 -0
- package/lib/typescript/src/views/legacy/Drawer.d.ts +1 -0
- package/lib/typescript/src/views/legacy/Drawer.d.ts.map +1 -0
- package/lib/typescript/src/views/legacy/Overlay.d.ts +1 -0
- package/lib/typescript/src/views/legacy/Overlay.d.ts.map +1 -0
- package/lib/typescript/src/views/modern/Drawer.d.ts +1 -0
- package/lib/typescript/src/views/modern/Drawer.d.ts.map +1 -0
- package/lib/typescript/src/views/modern/Overlay.d.ts +1 -0
- package/lib/typescript/src/views/modern/Overlay.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/views/modern/Overlay.tsx +1 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
|
-
function
|
|
4
|
-
|
|
2
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
3
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
4
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
5
5
|
import * as React from 'react';
|
|
6
6
|
import { I18nManager, InteractionManager, Keyboard, Platform, StatusBar, StyleSheet, View } from 'react-native';
|
|
7
7
|
import Animated from 'react-native-reanimated';
|
|
@@ -56,20 +56,17 @@ const ANIMATED_ONE = new Animated.Value(1);
|
|
|
56
56
|
export default class DrawerView extends React.Component {
|
|
57
57
|
constructor() {
|
|
58
58
|
super(...arguments);
|
|
59
|
-
|
|
60
59
|
_defineProperty(this, "handleEndInteraction", () => {
|
|
61
60
|
if (this.interactionHandle !== undefined) {
|
|
62
61
|
InteractionManager.clearInteractionHandle(this.interactionHandle);
|
|
63
62
|
this.interactionHandle = undefined;
|
|
64
63
|
}
|
|
65
64
|
});
|
|
66
|
-
|
|
67
65
|
_defineProperty(this, "handleStartInteraction", () => {
|
|
68
66
|
if (this.interactionHandle === undefined) {
|
|
69
67
|
this.interactionHandle = InteractionManager.createInteractionHandle();
|
|
70
68
|
}
|
|
71
69
|
});
|
|
72
|
-
|
|
73
70
|
_defineProperty(this, "getDrawerWidth", () => {
|
|
74
71
|
const {
|
|
75
72
|
drawerStyle,
|
|
@@ -78,69 +75,43 @@ export default class DrawerView extends React.Component {
|
|
|
78
75
|
const {
|
|
79
76
|
width = DEFAULT_DRAWER_WIDTH
|
|
80
77
|
} = StyleSheet.flatten(drawerStyle) || {};
|
|
81
|
-
|
|
82
78
|
if (typeof width === 'string' && width.endsWith('%')) {
|
|
83
79
|
// Try to calculate width if a percentage is given
|
|
84
80
|
const percentage = Number(width.replace(/%$/, ''));
|
|
85
|
-
|
|
86
81
|
if (Number.isFinite(percentage)) {
|
|
87
82
|
return dimensions.width * (percentage / 100);
|
|
88
83
|
}
|
|
89
84
|
}
|
|
90
|
-
|
|
91
85
|
return typeof width === 'number' ? width : 0;
|
|
92
86
|
});
|
|
93
|
-
|
|
94
87
|
_defineProperty(this, "clock", new Clock());
|
|
95
|
-
|
|
96
88
|
_defineProperty(this, "interactionHandle", void 0);
|
|
97
|
-
|
|
98
89
|
_defineProperty(this, "isDrawerTypeFront", new Value(this.props.drawerType === 'front' ? TRUE : FALSE));
|
|
99
|
-
|
|
100
90
|
_defineProperty(this, "isOpen", new Value(this.props.open ? TRUE : FALSE));
|
|
101
|
-
|
|
102
91
|
_defineProperty(this, "nextIsOpen", new Value(UNSET));
|
|
103
|
-
|
|
104
92
|
_defineProperty(this, "isSwiping", new Value(FALSE));
|
|
105
|
-
|
|
106
93
|
_defineProperty(this, "initialDrawerWidth", this.getDrawerWidth());
|
|
107
|
-
|
|
108
94
|
_defineProperty(this, "gestureState", new Value(GestureState.UNDETERMINED));
|
|
109
|
-
|
|
110
95
|
_defineProperty(this, "touchX", new Value(0));
|
|
111
|
-
|
|
112
96
|
_defineProperty(this, "velocityX", new Value(0));
|
|
113
|
-
|
|
114
97
|
_defineProperty(this, "gestureX", new Value(0));
|
|
115
|
-
|
|
116
98
|
_defineProperty(this, "offsetX", new Value(0));
|
|
117
|
-
|
|
118
99
|
_defineProperty(this, "position", new Value(this.props.open ? this.initialDrawerWidth * (this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT) : 0));
|
|
119
|
-
|
|
120
100
|
_defineProperty(this, "containerWidth", new Value(this.props.dimensions.width));
|
|
121
|
-
|
|
122
101
|
_defineProperty(this, "drawerWidth", new Value(this.initialDrawerWidth));
|
|
123
|
-
|
|
124
102
|
_defineProperty(this, "drawerOpacity", new Value(this.props.drawerType === 'permanent' ? 1 : 0));
|
|
125
|
-
|
|
126
103
|
_defineProperty(this, "drawerPosition", new Value(this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT));
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
|
|
104
|
+
_defineProperty(this, "touchDistanceFromDrawer", cond(this.isDrawerTypeFront, cond(eq(this.drawerPosition, DIRECTION_LEFT), max(
|
|
105
|
+
// Distance of touch start from left screen edge - Drawer width
|
|
106
|
+
sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
|
|
107
|
+
// Distance of drawer from left screen edge - Touch start point
|
|
130
108
|
sub(sub(this.containerWidth, this.drawerWidth), sub(this.touchX, this.gestureX)), DIRECTION_RIGHT), 0)), 0));
|
|
131
|
-
|
|
132
109
|
_defineProperty(this, "swipeDistanceThreshold", new Value(this.props.swipeDistanceThreshold));
|
|
133
|
-
|
|
134
110
|
_defineProperty(this, "swipeVelocityThreshold", new Value(this.props.swipeVelocityThreshold));
|
|
135
|
-
|
|
136
111
|
_defineProperty(this, "currentOpenValue", this.props.open);
|
|
137
|
-
|
|
138
112
|
_defineProperty(this, "pendingOpenValue", void 0);
|
|
139
|
-
|
|
140
113
|
_defineProperty(this, "isStatusBarHidden", false);
|
|
141
|
-
|
|
142
114
|
_defineProperty(this, "manuallyTriggerSpring", new Value(FALSE));
|
|
143
|
-
|
|
144
115
|
_defineProperty(this, "transitionTo", isOpen => {
|
|
145
116
|
const toValue = new Value(0);
|
|
146
117
|
const frameTime = new Value(0);
|
|
@@ -150,17 +121,20 @@ export default class DrawerView extends React.Component {
|
|
|
150
121
|
finished: new Value(FALSE),
|
|
151
122
|
velocity: new Value(0)
|
|
152
123
|
};
|
|
153
|
-
return block([cond(clockRunning(this.clock), NOOP, [
|
|
124
|
+
return block([cond(clockRunning(this.clock), NOOP, [
|
|
125
|
+
// Animation wasn't running before
|
|
154
126
|
// Set the initial values and start the clock
|
|
155
|
-
set(toValue, multiply(isOpen, this.drawerWidth, this.drawerPosition)), set(frameTime, 0), set(state.time, 0), set(state.finished, FALSE), set(state.velocity, this.velocityX), set(this.isOpen, isOpen), startClock(this.clock), call([], this.handleStartInteraction), set(this.manuallyTriggerSpring, FALSE)]), spring(this.clock, state, {
|
|
127
|
+
set(toValue, multiply(isOpen, this.drawerWidth, this.drawerPosition)), set(frameTime, 0), set(state.time, 0), set(state.finished, FALSE), set(state.velocity, this.velocityX), set(this.isOpen, isOpen), startClock(this.clock), call([], this.handleStartInteraction), set(this.manuallyTriggerSpring, FALSE)]), spring(this.clock, state, {
|
|
128
|
+
...SPRING_CONFIG,
|
|
156
129
|
toValue
|
|
157
|
-
}), cond(state.finished, [
|
|
158
|
-
|
|
130
|
+
}), cond(state.finished, [
|
|
131
|
+
// Reset gesture and velocity from previous gesture
|
|
132
|
+
set(this.touchX, 0), set(this.gestureX, 0), set(this.velocityX, 0), set(this.offsetX, 0),
|
|
133
|
+
// When the animation finishes, stop the clock
|
|
159
134
|
stopClock(this.clock), call([this.isOpen], _ref => {
|
|
160
135
|
let [value] = _ref;
|
|
161
136
|
const open = Boolean(value);
|
|
162
137
|
this.handleEndInteraction();
|
|
163
|
-
|
|
164
138
|
if (open !== this.props.open) {
|
|
165
139
|
// Sync drawer's state after animation finished
|
|
166
140
|
// This shouldn't be necessary, but there seems to be an issue on iOS
|
|
@@ -168,12 +142,12 @@ export default class DrawerView extends React.Component {
|
|
|
168
142
|
}
|
|
169
143
|
})])]);
|
|
170
144
|
});
|
|
171
|
-
|
|
172
145
|
_defineProperty(this, "dragX", block([onChange(this.isOpen, call([this.isOpen], _ref2 => {
|
|
173
146
|
let [value] = _ref2;
|
|
174
147
|
const open = Boolean(value);
|
|
175
|
-
this.currentOpenValue = open;
|
|
148
|
+
this.currentOpenValue = open;
|
|
176
149
|
|
|
150
|
+
// Without this check, the drawer can go to an infinite update <-> animate loop for sync updates
|
|
177
151
|
if (open !== this.props.open) {
|
|
178
152
|
// If the mode changed, update state
|
|
179
153
|
if (open) {
|
|
@@ -181,17 +155,21 @@ export default class DrawerView extends React.Component {
|
|
|
181
155
|
} else {
|
|
182
156
|
this.props.onClose();
|
|
183
157
|
}
|
|
158
|
+
this.pendingOpenValue = open;
|
|
184
159
|
|
|
185
|
-
|
|
160
|
+
// Force componentDidUpdate to fire, whether user does a setState or not
|
|
186
161
|
// This allows us to detect when the user drops the update and revert back
|
|
187
162
|
// It's necessary to make sure that the state stays in sync
|
|
188
|
-
|
|
189
163
|
this.forceUpdate();
|
|
190
164
|
}
|
|
191
|
-
})), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
165
|
+
})), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
|
|
166
|
+
// Stop any running animations
|
|
167
|
+
cond(clockRunning(this.clock), stopClock(this.clock)),
|
|
168
|
+
// Update the open value to trigger the transition
|
|
169
|
+
set(this.isOpen, this.nextIsOpen), set(this.gestureX, 0), set(this.nextIsOpen, UNSET)])),
|
|
170
|
+
// This block must be after the this.isOpen listener since we check for current value
|
|
171
|
+
onChange(this.isSwiping,
|
|
172
|
+
// Listen to updates for this value only when it changes
|
|
195
173
|
// Without `onChange`, this will fire even if the value didn't change
|
|
196
174
|
// We don't want to call the listeners if the value didn't change
|
|
197
175
|
call([this.isSwiping], _ref3 => {
|
|
@@ -199,29 +177,31 @@ export default class DrawerView extends React.Component {
|
|
|
199
177
|
const {
|
|
200
178
|
keyboardDismissMode
|
|
201
179
|
} = this.props;
|
|
202
|
-
|
|
203
180
|
if (value === TRUE) {
|
|
204
181
|
if (keyboardDismissMode === 'on-drag') {
|
|
205
182
|
Keyboard.dismiss();
|
|
206
183
|
}
|
|
207
|
-
|
|
208
184
|
this.toggleStatusBar(true);
|
|
209
185
|
} else {
|
|
210
186
|
this.toggleStatusBar(this.currentOpenValue);
|
|
211
187
|
}
|
|
212
|
-
})), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
|
|
213
|
-
|
|
214
|
-
set(this.
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
188
|
+
})), onChange(this.gestureState, cond(eq(this.gestureState, GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
|
|
189
|
+
// We weren't dragging before, set it to true
|
|
190
|
+
set(this.isSwiping, TRUE),
|
|
191
|
+
// Also update the drag offset to the last position
|
|
192
|
+
set(this.offsetX, this.position)]),
|
|
193
|
+
// Update position with previous offset + gesture distance
|
|
194
|
+
set(this.position, add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)),
|
|
195
|
+
// Stop animations while we're dragging
|
|
196
|
+
stopClock(this.clock)], [set(this.isSwiping, FALSE), set(this.touchX, 0), this.transitionTo(cond(this.manuallyTriggerSpring, this.isOpen, cond(or(and(greaterThan(abs(this.gestureX), SWIPE_DISTANCE_MINIMUM), greaterThan(abs(this.velocityX), this.swipeVelocityThreshold)), greaterThan(abs(this.gestureX), this.swipeDistanceThreshold)), cond(eq(this.drawerPosition, DIRECTION_LEFT),
|
|
197
|
+
// If swiped to right, open the drawer, otherwise close it
|
|
198
|
+
greaterThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0),
|
|
199
|
+
// If swiped to left, open the drawer, otherwise close it
|
|
218
200
|
lessThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0)), this.isOpen)))]), this.position]));
|
|
219
|
-
|
|
220
201
|
_defineProperty(this, "translateX", cond(eq(this.drawerPosition, DIRECTION_RIGHT), min(max(multiply(this.drawerWidth, -1), this.dragX), 0), max(min(this.drawerWidth, this.dragX), 0)));
|
|
221
|
-
|
|
222
|
-
|
|
202
|
+
_defineProperty(this, "progress", cond(
|
|
203
|
+
// Check if the drawer width is available to avoid division by zero
|
|
223
204
|
eq(this.drawerWidth, 0), 0, abs(divide(this.translateX, this.drawerWidth))));
|
|
224
|
-
|
|
225
205
|
_defineProperty(this, "handleGestureEvent", event([{
|
|
226
206
|
nativeEvent: {
|
|
227
207
|
x: this.touchX,
|
|
@@ -229,46 +209,41 @@ export default class DrawerView extends React.Component {
|
|
|
229
209
|
velocityX: this.velocityX
|
|
230
210
|
}
|
|
231
211
|
}]));
|
|
232
|
-
|
|
233
212
|
_defineProperty(this, "handleGestureStateChange", event([{
|
|
234
213
|
nativeEvent: {
|
|
235
214
|
state: s => set(this.gestureState, s)
|
|
236
215
|
}
|
|
237
216
|
}]));
|
|
238
|
-
|
|
239
217
|
_defineProperty(this, "handleContainerLayout", e => this.containerWidth.setValue(e.nativeEvent.layout.width));
|
|
240
|
-
|
|
241
218
|
_defineProperty(this, "handleDrawerLayout", e => {
|
|
242
219
|
this.drawerWidth.setValue(e.nativeEvent.layout.width);
|
|
243
|
-
this.toggleDrawer(this.props.open);
|
|
220
|
+
this.toggleDrawer(this.props.open);
|
|
221
|
+
|
|
222
|
+
// Until layout is available, drawer is hidden with opacity: 0 by default
|
|
244
223
|
// Show it in the next frame when layout is available
|
|
245
224
|
// If we don't delay it until the next frame, there's a visible flicker
|
|
246
|
-
|
|
247
225
|
requestAnimationFrame(() => requestAnimationFrame(() => this.drawerOpacity.setValue(1)));
|
|
248
226
|
});
|
|
249
|
-
|
|
250
227
|
_defineProperty(this, "toggleDrawer", open => {
|
|
251
228
|
if (this.currentOpenValue !== open) {
|
|
252
|
-
this.nextIsOpen.setValue(open ? TRUE : FALSE);
|
|
253
|
-
// However, there's a race condition on Android, so we need to set a bit earlier
|
|
229
|
+
this.nextIsOpen.setValue(open ? TRUE : FALSE);
|
|
254
230
|
|
|
231
|
+
// This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen
|
|
232
|
+
// However, there's a race condition on Android, so we need to set a bit earlier
|
|
255
233
|
this.currentOpenValue = open;
|
|
256
234
|
}
|
|
257
235
|
});
|
|
258
|
-
|
|
259
236
|
_defineProperty(this, "toggleStatusBar", hidden => {
|
|
260
237
|
const {
|
|
261
238
|
hideStatusBarOnOpen: hideStatusBar,
|
|
262
239
|
statusBarAnimation
|
|
263
240
|
} = this.props;
|
|
264
|
-
|
|
265
241
|
if (hideStatusBar && this.isStatusBarHidden !== hidden) {
|
|
266
242
|
this.isStatusBarHidden = hidden;
|
|
267
243
|
StatusBar.setHidden(hidden, statusBarAnimation);
|
|
268
244
|
}
|
|
269
245
|
});
|
|
270
246
|
}
|
|
271
|
-
|
|
272
247
|
componentDidUpdate(prevProps) {
|
|
273
248
|
const {
|
|
274
249
|
open,
|
|
@@ -278,40 +253,32 @@ export default class DrawerView extends React.Component {
|
|
|
278
253
|
swipeVelocityThreshold,
|
|
279
254
|
hideStatusBarOnOpen: hideStatusBar
|
|
280
255
|
} = this.props;
|
|
281
|
-
|
|
282
|
-
|
|
256
|
+
if (
|
|
257
|
+
// If we're not in the middle of a transition, sync the drawer's open state
|
|
283
258
|
typeof this.pendingOpenValue !== 'boolean' || open !== this.pendingOpenValue) {
|
|
284
259
|
this.toggleDrawer(open);
|
|
285
260
|
}
|
|
286
|
-
|
|
287
261
|
this.pendingOpenValue = undefined;
|
|
288
|
-
|
|
289
262
|
if (open !== prevProps.open && hideStatusBar) {
|
|
290
263
|
this.toggleStatusBar(open);
|
|
291
264
|
}
|
|
292
|
-
|
|
293
265
|
if (prevProps.drawerPosition !== drawerPosition) {
|
|
294
266
|
this.drawerPosition.setValue(drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
|
|
295
267
|
}
|
|
296
|
-
|
|
297
268
|
if (prevProps.drawerType !== drawerType) {
|
|
298
269
|
this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);
|
|
299
270
|
}
|
|
300
|
-
|
|
301
271
|
if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {
|
|
302
272
|
this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);
|
|
303
273
|
}
|
|
304
|
-
|
|
305
274
|
if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {
|
|
306
275
|
this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);
|
|
307
276
|
}
|
|
308
277
|
}
|
|
309
|
-
|
|
310
278
|
componentWillUnmount() {
|
|
311
279
|
this.toggleStatusBar(false);
|
|
312
280
|
this.handleEndInteraction();
|
|
313
281
|
}
|
|
314
|
-
|
|
315
282
|
render() {
|
|
316
283
|
const {
|
|
317
284
|
open,
|
|
@@ -329,10 +296,12 @@ export default class DrawerView extends React.Component {
|
|
|
329
296
|
const isRight = drawerPosition === 'right';
|
|
330
297
|
const contentTranslateX = drawerType === 'front' ? ANIMATED_ZERO : this.translateX;
|
|
331
298
|
const drawerTranslateX = drawerType === 'back' ? I18nManager.getConstants().isRTL ? multiply(sub(this.containerWidth, this.drawerWidth), isRight ? 1 : -1) : ANIMATED_ZERO : this.translateX;
|
|
332
|
-
const offset = drawerType === 'back' ? 0 : I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1);
|
|
333
|
-
// https://github.com/software-mansion/react-native-gesture-handler/issues/569
|
|
299
|
+
const offset = drawerType === 'back' ? 0 : I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1);
|
|
334
300
|
|
|
335
|
-
|
|
301
|
+
// FIXME: Currently hitSlop is broken when on Android when drawer is on right
|
|
302
|
+
// https://github.com/software-mansion/react-native-gesture-handler/issues/569
|
|
303
|
+
const hitSlop = isRight ?
|
|
304
|
+
// Extend hitSlop to the side of the screen when drawer is closed
|
|
336
305
|
// This lets the user drag the drawer from the side of the screen
|
|
337
306
|
{
|
|
338
307
|
right: 0,
|
|
@@ -358,7 +327,8 @@ export default class DrawerView extends React.Component {
|
|
|
358
327
|
}]
|
|
359
328
|
}, /*#__PURE__*/React.createElement(Animated.View, {
|
|
360
329
|
style: [styles.content, {
|
|
361
|
-
transform: drawerType === 'permanent' ?
|
|
330
|
+
transform: drawerType === 'permanent' ?
|
|
331
|
+
// Reanimated needs the property to be present, but it results in Browser bug
|
|
362
332
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
363
333
|
[] : [{
|
|
364
334
|
translateX: contentTranslateX
|
|
@@ -368,7 +338,8 @@ export default class DrawerView extends React.Component {
|
|
|
368
338
|
accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
|
|
369
339
|
importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
|
|
370
340
|
style: styles.content
|
|
371
|
-
}, renderSceneContent()),
|
|
341
|
+
}, renderSceneContent()),
|
|
342
|
+
// Disable overlay if sidebar is permanent
|
|
372
343
|
drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(Overlay, {
|
|
373
344
|
progress: progress,
|
|
374
345
|
onPress: () => this.toggleDrawer(false),
|
|
@@ -386,13 +357,15 @@ export default class DrawerView extends React.Component {
|
|
|
386
357
|
removeClippedSubviews: Platform.OS !== 'ios',
|
|
387
358
|
onLayout: this.handleDrawerLayout,
|
|
388
359
|
style: [styles.container, {
|
|
389
|
-
transform: drawerType === 'permanent' ?
|
|
360
|
+
transform: drawerType === 'permanent' ?
|
|
361
|
+
// Reanimated needs the property to be present, but it results in Browser bug
|
|
390
362
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
391
363
|
[] : [{
|
|
392
364
|
translateX: drawerTranslateX
|
|
393
365
|
}],
|
|
394
366
|
opacity: this.drawerOpacity
|
|
395
|
-
}, drawerType === 'permanent' ?
|
|
367
|
+
}, drawerType === 'permanent' ?
|
|
368
|
+
// Without this, the `left`/`right` values don't get reset
|
|
396
369
|
isRight ? {
|
|
397
370
|
right: 0
|
|
398
371
|
} : {
|
|
@@ -406,7 +379,6 @@ export default class DrawerView extends React.Component {
|
|
|
406
379
|
}], drawerStyle]
|
|
407
380
|
}, renderDrawerContent()))));
|
|
408
381
|
}
|
|
409
|
-
|
|
410
382
|
}
|
|
411
383
|
const styles = StyleSheet.create({
|
|
412
384
|
container: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","DrawerProgressContext","GestureState","PanGestureHandler","Overlay","Clock","Value","onChange","clockRunning","startClock","stopClock","spring","abs","add","and","block","call","cond","divide","eq","event","greaterThan","lessThan","max","min","multiply","neq","or","set","sub","TRUE","FALSE","NOOP","UNSET","DIRECTION_LEFT","DIRECTION_RIGHT","SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","ANIMATED_ZERO","ANIMATED_ONE","DrawerView","Component","interactionHandle","undefined","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","UNDETERMINED","initialDrawerWidth","drawerPosition","isDrawerTypeFront","touchX","gestureX","drawerWidth","containerWidth","swipeDistanceThreshold","swipeVelocityThreshold","isOpen","toValue","frameTime","state","position","time","finished","velocity","clock","velocityX","handleStartInteraction","manuallyTriggerSpring","offsetX","value","Boolean","handleEndInteraction","toggleDrawer","currentOpenValue","onOpen","onClose","pendingOpenValue","forceUpdate","nextIsOpen","isSwiping","keyboardDismissMode","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","OS","handleDrawerLayout","container","opacity","nonPermanent","zIndex","create","backgroundColor","maxWidth","top","bottom","flex","select","web","default","overflow"],"sources":["Drawer.tsx"],"sourcesContent":["import * as React from 'react';\nimport {\n I18nManager,\n InteractionManager,\n Keyboard,\n LayoutChangeEvent,\n Platform,\n StatusBar,\n StyleSheet,\n View,\n} from 'react-native';\nimport Animated from 'react-native-reanimated';\n\nimport type { DrawerProps } from '../../types';\nimport DrawerProgressContext from '../../utils/DrawerProgressContext';\nimport { GestureState, PanGestureHandler } from '../GestureHandler';\nimport Overlay from './Overlay';\n\nconst {\n Clock,\n Value,\n onChange,\n clockRunning,\n startClock,\n stopClock,\n spring,\n abs,\n add,\n and,\n block,\n call,\n cond,\n divide,\n eq,\n event,\n greaterThan,\n lessThan,\n max,\n min,\n multiply,\n neq,\n or,\n set,\n sub,\n} = Animated;\n\nconst TRUE = 1;\nconst FALSE = 0;\nconst NOOP = 0;\nconst UNSET = -1;\n\nconst DIRECTION_LEFT = 1;\nconst DIRECTION_RIGHT = -1;\n\nconst SWIPE_DISTANCE_MINIMUM = 5;\n\nconst DEFAULT_DRAWER_WIDTH = '80%';\n\nconst SPRING_CONFIG = {\n stiffness: 1000,\n damping: 500,\n mass: 3,\n overshootClamping: true,\n restDisplacementThreshold: 0.01,\n restSpeedThreshold: 0.01,\n};\n\nconst ANIMATED_ZERO = new Animated.Value(0);\nconst ANIMATED_ONE = new Animated.Value(1);\n\ntype Binary = 0 | 1;\n\nexport default class DrawerView extends React.Component<DrawerProps> {\n componentDidUpdate(prevProps: DrawerProps) {\n const {\n open,\n drawerPosition,\n drawerType,\n swipeDistanceThreshold,\n swipeVelocityThreshold,\n hideStatusBarOnOpen: hideStatusBar,\n } = this.props;\n\n if (\n // If we're not in the middle of a transition, sync the drawer's open state\n typeof this.pendingOpenValue !== 'boolean' ||\n open !== this.pendingOpenValue\n ) {\n this.toggleDrawer(open);\n }\n\n this.pendingOpenValue = undefined;\n\n if (open !== prevProps.open && hideStatusBar) {\n this.toggleStatusBar(open);\n }\n\n if (prevProps.drawerPosition !== drawerPosition) {\n this.drawerPosition.setValue(\n drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT\n );\n }\n\n if (prevProps.drawerType !== drawerType) {\n this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);\n }\n\n if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {\n this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);\n }\n\n if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {\n this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);\n }\n }\n\n componentWillUnmount() {\n this.toggleStatusBar(false);\n this.handleEndInteraction();\n }\n\n private handleEndInteraction = () => {\n if (this.interactionHandle !== undefined) {\n InteractionManager.clearInteractionHandle(this.interactionHandle);\n this.interactionHandle = undefined;\n }\n };\n\n private handleStartInteraction = () => {\n if (this.interactionHandle === undefined) {\n this.interactionHandle = InteractionManager.createInteractionHandle();\n }\n };\n\n private getDrawerWidth = (): number => {\n const { drawerStyle, dimensions } = this.props;\n const { width = DEFAULT_DRAWER_WIDTH } =\n StyleSheet.flatten(drawerStyle) || {};\n\n if (typeof width === 'string' && width.endsWith('%')) {\n // Try to calculate width if a percentage is given\n const percentage = Number(width.replace(/%$/, ''));\n\n if (Number.isFinite(percentage)) {\n return dimensions.width * (percentage / 100);\n }\n }\n\n return typeof width === 'number' ? width : 0;\n };\n\n private clock = new Clock();\n private interactionHandle: number | undefined;\n\n private isDrawerTypeFront = new Value<Binary>(\n this.props.drawerType === 'front' ? TRUE : FALSE\n );\n\n private isOpen = new Value<Binary>(this.props.open ? TRUE : FALSE);\n private nextIsOpen = new Value<Binary | -1>(UNSET);\n private isSwiping = new Value<Binary>(FALSE);\n\n private initialDrawerWidth = this.getDrawerWidth();\n\n private gestureState = new Value<number>(GestureState.UNDETERMINED);\n private touchX = new Value<number>(0);\n private velocityX = new Value<number>(0);\n private gestureX = new Value<number>(0);\n private offsetX = new Value<number>(0);\n private position = new Value<number>(\n this.props.open\n ? this.initialDrawerWidth *\n (this.props.drawerPosition === 'right'\n ? DIRECTION_RIGHT\n : DIRECTION_LEFT)\n : 0\n );\n\n private containerWidth = new Value<number>(this.props.dimensions.width);\n private drawerWidth = new Value<number>(this.initialDrawerWidth);\n private drawerOpacity = new Value<number>(\n this.props.drawerType === 'permanent' ? 1 : 0\n );\n private drawerPosition = new Value<number>(\n this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT\n );\n\n // Comment stolen from react-native-gesture-handler/DrawerLayout\n //\n // While closing the drawer when user starts gesture outside of its area (in greyed\n // out part of the window), we want the drawer to follow only once finger reaches the\n // edge of the drawer.\n // E.g. on the diagram below drawer is illustrate by X signs and the greyed out area by\n // dots. The touch gesture starts at '*' and moves left, touch path is indicated by\n // an arrow pointing left\n // 1) +---------------+ 2) +---------------+ 3) +---------------+ 4) +---------------+\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|.<-*..| |XXXXXXXX|<--*..| |XXXXX|<-----*..|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // |XXXXXXXX|......| |XXXXXXXX|......| |XXXXXXXX|......| |XXXXX|.........|\n // +---------------+ +---------------+ +---------------+ +---------------+\n //\n // For the above to work properly we define animated value that will keep start position\n // of the gesture. Then we use that value to calculate how much we need to subtract from\n // the dragX. If the gesture started on the greyed out area we take the distance from the\n // edge of the drawer to the start position. Otherwise we don't subtract at all and the\n // drawer be pulled back as soon as you start the pan.\n //\n // This is used only when drawerType is \"front\"\n private touchDistanceFromDrawer = cond(\n this.isDrawerTypeFront,\n cond(\n eq(this.drawerPosition, DIRECTION_LEFT),\n max(\n // Distance of touch start from left screen edge - Drawer width\n sub(sub(this.touchX, this.gestureX), this.drawerWidth),\n 0\n ),\n min(\n multiply(\n // Distance of drawer from left screen edge - Touch start point\n sub(\n sub(this.containerWidth, this.drawerWidth),\n sub(this.touchX, this.gestureX)\n ),\n DIRECTION_RIGHT\n ),\n 0\n )\n ),\n 0\n );\n\n private swipeDistanceThreshold = new Value<number>(\n this.props.swipeDistanceThreshold\n );\n private swipeVelocityThreshold = new Value<number>(\n this.props.swipeVelocityThreshold\n );\n\n private currentOpenValue: boolean = this.props.open;\n private pendingOpenValue: boolean | undefined;\n\n private isStatusBarHidden: boolean = false;\n\n private manuallyTriggerSpring = new Value<Binary>(FALSE);\n\n private transitionTo = (isOpen: number | Animated.Node<number>) => {\n const toValue = new Value(0);\n const frameTime = new Value(0);\n\n const state = {\n position: this.position,\n time: new Value(0),\n finished: new Value(FALSE),\n velocity: new Value(0),\n };\n\n return block([\n cond(clockRunning(this.clock), NOOP, [\n // Animation wasn't running before\n // Set the initial values and start the clock\n set(toValue, multiply(isOpen, this.drawerWidth, this.drawerPosition)),\n set(frameTime, 0),\n set(state.time, 0),\n set(state.finished, FALSE),\n set(state.velocity, this.velocityX),\n set(this.isOpen, isOpen),\n startClock(this.clock),\n call([], this.handleStartInteraction),\n set(this.manuallyTriggerSpring, FALSE),\n ]),\n spring(this.clock, state, { ...SPRING_CONFIG, toValue }),\n cond(state.finished, [\n // Reset gesture and velocity from previous gesture\n set(this.touchX, 0),\n set(this.gestureX, 0),\n set(this.velocityX, 0),\n set(this.offsetX, 0),\n // When the animation finishes, stop the clock\n stopClock(this.clock),\n call([this.isOpen], ([value]: readonly Binary[]) => {\n const open = Boolean(value);\n this.handleEndInteraction();\n\n if (open !== this.props.open) {\n // Sync drawer's state after animation finished\n // This shouldn't be necessary, but there seems to be an issue on iOS\n this.toggleDrawer(this.props.open);\n }\n }),\n ]),\n ]);\n };\n\n private dragX = block([\n onChange(\n this.isOpen,\n call([this.isOpen], ([value]: readonly Binary[]) => {\n const open = Boolean(value);\n\n this.currentOpenValue = open;\n\n // Without this check, the drawer can go to an infinite update <-> animate loop for sync updates\n if (open !== this.props.open) {\n // If the mode changed, update state\n if (open) {\n this.props.onOpen();\n } else {\n this.props.onClose();\n }\n\n this.pendingOpenValue = open;\n\n // Force componentDidUpdate to fire, whether user does a setState or not\n // This allows us to detect when the user drops the update and revert back\n // It's necessary to make sure that the state stays in sync\n this.forceUpdate();\n }\n })\n ),\n onChange(\n this.nextIsOpen,\n cond(neq(this.nextIsOpen, UNSET), [\n // Stop any running animations\n cond(clockRunning(this.clock), stopClock(this.clock)),\n // Update the open value to trigger the transition\n set(this.isOpen, this.nextIsOpen),\n set(this.gestureX, 0),\n set(this.nextIsOpen, UNSET),\n ])\n ),\n // This block must be after the this.isOpen listener since we check for current value\n onChange(\n this.isSwiping,\n // Listen to updates for this value only when it changes\n // Without `onChange`, this will fire even if the value didn't change\n // We don't want to call the listeners if the value didn't change\n call([this.isSwiping], ([value]: readonly Binary[]) => {\n const { keyboardDismissMode } = this.props;\n\n if (value === TRUE) {\n if (keyboardDismissMode === 'on-drag') {\n Keyboard.dismiss();\n }\n\n this.toggleStatusBar(true);\n } else {\n this.toggleStatusBar(this.currentOpenValue);\n }\n })\n ),\n onChange(\n this.gestureState,\n cond(\n eq(this.gestureState, GestureState.ACTIVE),\n call([], this.handleStartInteraction)\n )\n ),\n cond(\n eq(this.gestureState, GestureState.ACTIVE),\n [\n cond(this.isSwiping, NOOP, [\n // We weren't dragging before, set it to true\n set(this.isSwiping, TRUE),\n // Also update the drag offset to the last position\n set(this.offsetX, this.position),\n ]),\n // Update position with previous offset + gesture distance\n set(\n this.position,\n add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)\n ),\n // Stop animations while we're dragging\n stopClock(this.clock),\n ],\n [\n set(this.isSwiping, FALSE),\n set(this.touchX, 0),\n this.transitionTo(\n cond(\n this.manuallyTriggerSpring,\n this.isOpen,\n cond(\n or(\n and(\n greaterThan(abs(this.gestureX), SWIPE_DISTANCE_MINIMUM),\n greaterThan(abs(this.velocityX), this.swipeVelocityThreshold)\n ),\n greaterThan(abs(this.gestureX), this.swipeDistanceThreshold)\n ),\n cond(\n eq(this.drawerPosition, DIRECTION_LEFT),\n // If swiped to right, open the drawer, otherwise close it\n greaterThan(\n cond(eq(this.velocityX, 0), this.gestureX, this.velocityX),\n 0\n ),\n // If swiped to left, open the drawer, otherwise close it\n lessThan(\n cond(eq(this.velocityX, 0), this.gestureX, this.velocityX),\n 0\n )\n ),\n this.isOpen\n )\n )\n ),\n ]\n ),\n this.position,\n ]);\n\n private translateX = cond(\n eq(this.drawerPosition, DIRECTION_RIGHT),\n min(max(multiply(this.drawerWidth, -1), this.dragX), 0),\n max(min(this.drawerWidth, this.dragX), 0)\n );\n\n private progress = cond(\n // Check if the drawer width is available to avoid division by zero\n eq(this.drawerWidth, 0),\n 0,\n abs(divide(this.translateX, this.drawerWidth))\n );\n\n private handleGestureEvent = event([\n {\n nativeEvent: {\n x: this.touchX,\n translationX: this.gestureX,\n velocityX: this.velocityX,\n },\n },\n ]);\n\n private handleGestureStateChange = event([\n {\n nativeEvent: {\n state: (s: Animated.Value<number>) => set(this.gestureState, s),\n },\n },\n ]);\n\n private handleContainerLayout = (e: LayoutChangeEvent) =>\n this.containerWidth.setValue(e.nativeEvent.layout.width);\n\n private handleDrawerLayout = (e: LayoutChangeEvent) => {\n this.drawerWidth.setValue(e.nativeEvent.layout.width);\n this.toggleDrawer(this.props.open);\n\n // Until layout is available, drawer is hidden with opacity: 0 by default\n // Show it in the next frame when layout is available\n // If we don't delay it until the next frame, there's a visible flicker\n requestAnimationFrame(() =>\n requestAnimationFrame(() => this.drawerOpacity.setValue(1))\n );\n };\n\n private toggleDrawer = (open: boolean) => {\n if (this.currentOpenValue !== open) {\n this.nextIsOpen.setValue(open ? TRUE : FALSE);\n\n // This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen\n // However, there's a race condition on Android, so we need to set a bit earlier\n this.currentOpenValue = open;\n }\n };\n\n private toggleStatusBar = (hidden: boolean) => {\n const { hideStatusBarOnOpen: hideStatusBar, statusBarAnimation } =\n this.props;\n\n if (hideStatusBar && this.isStatusBarHidden !== hidden) {\n this.isStatusBarHidden = hidden;\n StatusBar.setHidden(hidden, statusBarAnimation);\n }\n };\n\n render() {\n const {\n open,\n swipeEnabled,\n drawerPosition,\n drawerType,\n swipeEdgeWidth,\n drawerStyle,\n overlayStyle,\n renderDrawerContent,\n renderSceneContent,\n gestureHandlerProps,\n } = this.props;\n\n const isOpen = drawerType === 'permanent' ? true : open;\n const isRight = drawerPosition === 'right';\n\n const contentTranslateX =\n drawerType === 'front' ? ANIMATED_ZERO : this.translateX;\n\n const drawerTranslateX =\n drawerType === 'back'\n ? I18nManager.getConstants().isRTL\n ? multiply(\n sub(this.containerWidth, this.drawerWidth),\n isRight ? 1 : -1\n )\n : ANIMATED_ZERO\n : this.translateX;\n\n const offset =\n drawerType === 'back'\n ? 0\n : I18nManager.getConstants().isRTL\n ? '100%'\n : multiply(this.drawerWidth, -1);\n\n // FIXME: Currently hitSlop is broken when on Android when drawer is on right\n // https://github.com/software-mansion/react-native-gesture-handler/issues/569\n const hitSlop = isRight\n ? // Extend hitSlop to the side of the screen when drawer is closed\n // This lets the user drag the drawer from the side of the screen\n { right: 0, width: isOpen ? undefined : swipeEdgeWidth }\n : { left: 0, width: isOpen ? undefined : swipeEdgeWidth };\n\n const progress = drawerType === 'permanent' ? ANIMATED_ONE : this.progress;\n\n return (\n <DrawerProgressContext.Provider value={progress}>\n <PanGestureHandler\n activeOffsetX={[-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM]}\n failOffsetY={[-SWIPE_DISTANCE_MINIMUM, SWIPE_DISTANCE_MINIMUM]}\n onGestureEvent={this.handleGestureEvent}\n onHandlerStateChange={this.handleGestureStateChange}\n hitSlop={hitSlop}\n enabled={drawerType !== 'permanent' && swipeEnabled}\n {...gestureHandlerProps}\n >\n <Animated.View\n onLayout={this.handleContainerLayout}\n style={[\n styles.main,\n {\n flexDirection:\n drawerType === 'permanent' && !isRight\n ? 'row-reverse'\n : 'row',\n },\n ]}\n >\n <Animated.View\n style={[\n styles.content,\n {\n transform:\n drawerType === 'permanent'\n ? // Reanimated needs the property to be present, but it results in Browser bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=20574\n []\n : [{ translateX: contentTranslateX }],\n },\n ]}\n >\n <View\n accessibilityElementsHidden={\n isOpen && drawerType !== 'permanent'\n }\n importantForAccessibility={\n isOpen && drawerType !== 'permanent'\n ? 'no-hide-descendants'\n : 'auto'\n }\n style={styles.content}\n >\n {renderSceneContent()}\n </View>\n {\n // Disable overlay if sidebar is permanent\n drawerType === 'permanent' ? null : (\n <Overlay\n progress={progress}\n onPress={() => this.toggleDrawer(false)}\n style={overlayStyle as any}\n accessibilityElementsHidden={!isOpen}\n importantForAccessibility={\n isOpen ? 'auto' : 'no-hide-descendants'\n }\n />\n )\n }\n </Animated.View>\n <Animated.Code\n // This is needed to make sure that container width updates with `setValue`\n // Without this, it won't update when not used in styles\n exec={this.containerWidth}\n />\n {drawerType === 'permanent' ? null : (\n <Animated.Code\n exec={block([\n onChange(this.manuallyTriggerSpring, [\n cond(eq(this.manuallyTriggerSpring, TRUE), [\n set(this.nextIsOpen, FALSE),\n call([], () => (this.currentOpenValue = false)),\n ]),\n ]),\n ])}\n />\n )}\n <Animated.View\n accessibilityViewIsModal={isOpen && drawerType !== 'permanent'}\n removeClippedSubviews={Platform.OS !== 'ios'}\n onLayout={this.handleDrawerLayout}\n style={[\n styles.container,\n {\n transform:\n drawerType === 'permanent'\n ? // Reanimated needs the property to be present, but it results in Browser bug\n // https://bugs.chromium.org/p/chromium/issues/detail?id=20574\n []\n : [{ translateX: drawerTranslateX }],\n opacity: this.drawerOpacity,\n },\n drawerType === 'permanent'\n ? // Without this, the `left`/`right` values don't get reset\n isRight\n ? { right: 0 }\n : { left: 0 }\n : [\n styles.nonPermanent,\n isRight ? { right: offset } : { left: offset },\n { zIndex: drawerType === 'back' ? -1 : 0 },\n ],\n drawerStyle as any,\n ]}\n >\n {renderDrawerContent()}\n </Animated.View>\n </Animated.View>\n </PanGestureHandler>\n </DrawerProgressContext.Provider>\n );\n }\n}\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: 'white',\n maxWidth: '100%',\n },\n nonPermanent: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n width: DEFAULT_DRAWER_WIDTH,\n },\n content: {\n flex: 1,\n },\n main: {\n flex: 1,\n ...Platform.select({\n // FIXME: We need to hide `overflowX` on Web so the translated content doesn't show offscreen.\n // But adding `overflowX: 'hidden'` prevents content from collapsing the URL bar.\n web: null,\n default: { overflow: 'hidden' },\n }),\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","I18nManager","InteractionManager","Keyboard","Platform","StatusBar","StyleSheet","View","Animated","DrawerProgressContext","GestureState","PanGestureHandler","Overlay","Clock","Value","onChange","clockRunning","startClock","stopClock","spring","abs","add","and","block","call","cond","divide","eq","event","greaterThan","lessThan","max","min","multiply","neq","or","set","sub","TRUE","FALSE","NOOP","UNSET","DIRECTION_LEFT","DIRECTION_RIGHT","SWIPE_DISTANCE_MINIMUM","DEFAULT_DRAWER_WIDTH","SPRING_CONFIG","stiffness","damping","mass","overshootClamping","restDisplacementThreshold","restSpeedThreshold","ANIMATED_ZERO","ANIMATED_ONE","DrawerView","Component","interactionHandle","undefined","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","UNDETERMINED","initialDrawerWidth","drawerPosition","isDrawerTypeFront","touchX","gestureX","drawerWidth","containerWidth","swipeDistanceThreshold","swipeVelocityThreshold","isOpen","toValue","frameTime","state","position","time","finished","velocity","clock","velocityX","handleStartInteraction","manuallyTriggerSpring","offsetX","value","Boolean","handleEndInteraction","toggleDrawer","currentOpenValue","onOpen","onClose","pendingOpenValue","forceUpdate","nextIsOpen","isSwiping","keyboardDismissMode","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","OS","handleDrawerLayout","container","opacity","nonPermanent","zIndex","create","backgroundColor","maxWidth","top","bottom","flex","select","web","default","overflow"],"sourceRoot":"../../src","sources":["Drawer.tsx"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
2
|
import * as React from 'react';
|
|
4
3
|
import { Platform, Pressable, StyleSheet } from 'react-native';
|
|
5
4
|
import Animated from 'react-native-reanimated';
|
|
@@ -10,7 +9,7 @@ const {
|
|
|
10
9
|
cond,
|
|
11
10
|
greaterThan
|
|
12
11
|
} = Animated;
|
|
13
|
-
const interpolate = interpolateNode
|
|
12
|
+
const interpolate = interpolateNode ?? interpolateDeprecated;
|
|
14
13
|
const PROGRESS_EPSILON = 0.05;
|
|
15
14
|
const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
|
|
16
15
|
let {
|
|
@@ -50,7 +49,8 @@ const overlayStyle = Platform.select({
|
|
|
50
49
|
default: {}
|
|
51
50
|
});
|
|
52
51
|
const styles = StyleSheet.create({
|
|
53
|
-
overlay: {
|
|
52
|
+
overlay: {
|
|
53
|
+
...StyleSheet.absoluteFillObject,
|
|
54
54
|
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
55
55
|
},
|
|
56
56
|
pressable: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"
|
|
1
|
+
{"version":3,"names":["React","Platform","Pressable","StyleSheet","Animated","interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","PROGRESS_EPSILON","Overlay","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../src","sources":["Overlay.tsx"],"mappings":";AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,EAAEC,SAAS,EAAEC,UAAU,QAAQ,cAAc;AAC9D,OAAOC,QAAQ,MAAM,yBAAyB;AAE9C,MAAM;EACJ;EACAC,WAAW,EAAEC,qBAAqB;EAClCC,eAAe;EACfC,IAAI;EACJC;AACF,CAAC,GAAGL,QAAQ;AAEZ,MAAMC,WAAmC,GACvCE,eAAe,IAAID,qBAAqB;AAE1C,MAAMI,gBAAgB,GAAG,IAAI;AAO7B,MAAMC,OAAO,gBAAGX,KAAK,CAACY,UAAU,CAAC,SAASD,OAAO,OAE/CE,GAA6B,EAC7B;EAAA,IAFA;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAE,GAAGC;EAAa,CAAC;EAG7C,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAEd,WAAW,CAACS,QAAQ,EAAE;MAC7B;MACA;MACA;MACA;MACAM,UAAU,EACRnB,QAAQ,CAACoB,EAAE,KAAK,SAAS,IAAIpB,QAAQ,CAACoB,EAAE,KAAK,OAAO,GAChD,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAACX,gBAAgB,EAAE,CAAC,CAAC;MAC3BY,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;IACpB,CAAC,CAAC;IACF;IACA;IACA;IACAC,MAAM,EAAEf,IAAI,CAACC,WAAW,CAACK,QAAQ,EAAEJ,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC7D,CAAC;EAED,oBACE,oBAAC,QAAQ,CAAC,IAAI,eACRO,KAAK;IACT,GAAG,EAAEJ,GAAI;IACT,KAAK,EAAE,CAACW,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAER,aAAa,EAAEF,KAAK;EAAE,iBAE5D,oBAAC,SAAS;IAAC,OAAO,EAAED,OAAQ;IAAC,KAAK,EAAES,MAAM,CAACG;EAAU,EAAG,CAC1C;AAEpB,CAAC,CAAC;AAEF,MAAMD,YAAY,GAAGzB,QAAQ,CAAC2B,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGrB,UAAU,CAAC6B,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACP,GAAGtB,UAAU,CAAC8B,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDP,SAAS,EAAE;IACTQ,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAEF,eAAexB,OAAO"}
|