@react-navigation/drawer 6.5.4 → 6.5.6
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 +42 -45
- 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 +42 -31
- 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/Drawer.tsx +23 -4
- package/src/views/modern/Overlay.tsx +1 -0
|
@@ -4,29 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _reactNative = require("react-native");
|
|
11
|
-
|
|
12
9
|
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
13
|
-
|
|
14
10
|
var _DrawerProgressContext = _interopRequireDefault(require("../../utils/DrawerProgressContext"));
|
|
15
|
-
|
|
16
11
|
var _GestureHandler = require("../GestureHandler");
|
|
17
|
-
|
|
18
12
|
var _Overlay = _interopRequireDefault(require("./Overlay"));
|
|
19
|
-
|
|
20
13
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
21
|
-
|
|
22
14
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
-
|
|
24
15
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
|
|
26
16
|
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); }
|
|
27
|
-
|
|
28
|
-
function
|
|
29
|
-
|
|
17
|
+
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; }
|
|
18
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
19
|
+
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); }
|
|
30
20
|
const {
|
|
31
21
|
Clock,
|
|
32
22
|
Value,
|
|
@@ -72,25 +62,20 @@ const SPRING_CONFIG = {
|
|
|
72
62
|
};
|
|
73
63
|
const ANIMATED_ZERO = new _reactNativeReanimated.default.Value(0);
|
|
74
64
|
const ANIMATED_ONE = new _reactNativeReanimated.default.Value(1);
|
|
75
|
-
|
|
76
65
|
class DrawerView extends React.Component {
|
|
77
66
|
constructor() {
|
|
78
67
|
super(...arguments);
|
|
79
|
-
|
|
80
68
|
_defineProperty(this, "handleEndInteraction", () => {
|
|
81
69
|
if (this.interactionHandle !== undefined) {
|
|
82
70
|
_reactNative.InteractionManager.clearInteractionHandle(this.interactionHandle);
|
|
83
|
-
|
|
84
71
|
this.interactionHandle = undefined;
|
|
85
72
|
}
|
|
86
73
|
});
|
|
87
|
-
|
|
88
74
|
_defineProperty(this, "handleStartInteraction", () => {
|
|
89
75
|
if (this.interactionHandle === undefined) {
|
|
90
76
|
this.interactionHandle = _reactNative.InteractionManager.createInteractionHandle();
|
|
91
77
|
}
|
|
92
78
|
});
|
|
93
|
-
|
|
94
79
|
_defineProperty(this, "getDrawerWidth", () => {
|
|
95
80
|
const {
|
|
96
81
|
drawerStyle,
|
|
@@ -99,69 +84,43 @@ class DrawerView extends React.Component {
|
|
|
99
84
|
const {
|
|
100
85
|
width = DEFAULT_DRAWER_WIDTH
|
|
101
86
|
} = _reactNative.StyleSheet.flatten(drawerStyle) || {};
|
|
102
|
-
|
|
103
87
|
if (typeof width === 'string' && width.endsWith('%')) {
|
|
104
88
|
// Try to calculate width if a percentage is given
|
|
105
89
|
const percentage = Number(width.replace(/%$/, ''));
|
|
106
|
-
|
|
107
90
|
if (Number.isFinite(percentage)) {
|
|
108
91
|
return dimensions.width * (percentage / 100);
|
|
109
92
|
}
|
|
110
93
|
}
|
|
111
|
-
|
|
112
94
|
return typeof width === 'number' ? width : 0;
|
|
113
95
|
});
|
|
114
|
-
|
|
115
96
|
_defineProperty(this, "clock", new Clock());
|
|
116
|
-
|
|
117
97
|
_defineProperty(this, "interactionHandle", void 0);
|
|
118
|
-
|
|
119
98
|
_defineProperty(this, "isDrawerTypeFront", new Value(this.props.drawerType === 'front' ? TRUE : FALSE));
|
|
120
|
-
|
|
121
99
|
_defineProperty(this, "isOpen", new Value(this.props.open ? TRUE : FALSE));
|
|
122
|
-
|
|
123
100
|
_defineProperty(this, "nextIsOpen", new Value(UNSET));
|
|
124
|
-
|
|
125
101
|
_defineProperty(this, "isSwiping", new Value(FALSE));
|
|
126
|
-
|
|
127
102
|
_defineProperty(this, "initialDrawerWidth", this.getDrawerWidth());
|
|
128
|
-
|
|
129
103
|
_defineProperty(this, "gestureState", new Value(_GestureHandler.GestureState.UNDETERMINED));
|
|
130
|
-
|
|
131
104
|
_defineProperty(this, "touchX", new Value(0));
|
|
132
|
-
|
|
133
105
|
_defineProperty(this, "velocityX", new Value(0));
|
|
134
|
-
|
|
135
106
|
_defineProperty(this, "gestureX", new Value(0));
|
|
136
|
-
|
|
137
107
|
_defineProperty(this, "offsetX", new Value(0));
|
|
138
|
-
|
|
139
108
|
_defineProperty(this, "position", new Value(this.props.open ? this.initialDrawerWidth * (this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT) : 0));
|
|
140
|
-
|
|
141
109
|
_defineProperty(this, "containerWidth", new Value(this.props.dimensions.width));
|
|
142
|
-
|
|
143
110
|
_defineProperty(this, "drawerWidth", new Value(this.initialDrawerWidth));
|
|
144
|
-
|
|
145
111
|
_defineProperty(this, "drawerOpacity", new Value(this.props.drawerType === 'permanent' ? 1 : 0));
|
|
146
|
-
|
|
147
112
|
_defineProperty(this, "drawerPosition", new Value(this.props.drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT));
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
|
|
113
|
+
_defineProperty(this, "touchDistanceFromDrawer", cond(this.isDrawerTypeFront, cond(eq(this.drawerPosition, DIRECTION_LEFT), max(
|
|
114
|
+
// Distance of touch start from left screen edge - Drawer width
|
|
115
|
+
sub(sub(this.touchX, this.gestureX), this.drawerWidth), 0), min(multiply(
|
|
116
|
+
// Distance of drawer from left screen edge - Touch start point
|
|
151
117
|
sub(sub(this.containerWidth, this.drawerWidth), sub(this.touchX, this.gestureX)), DIRECTION_RIGHT), 0)), 0));
|
|
152
|
-
|
|
153
118
|
_defineProperty(this, "swipeDistanceThreshold", new Value(this.props.swipeDistanceThreshold));
|
|
154
|
-
|
|
155
119
|
_defineProperty(this, "swipeVelocityThreshold", new Value(this.props.swipeVelocityThreshold));
|
|
156
|
-
|
|
157
120
|
_defineProperty(this, "currentOpenValue", this.props.open);
|
|
158
|
-
|
|
159
121
|
_defineProperty(this, "pendingOpenValue", void 0);
|
|
160
|
-
|
|
161
122
|
_defineProperty(this, "isStatusBarHidden", false);
|
|
162
|
-
|
|
163
123
|
_defineProperty(this, "manuallyTriggerSpring", new Value(FALSE));
|
|
164
|
-
|
|
165
124
|
_defineProperty(this, "transitionTo", isOpen => {
|
|
166
125
|
const toValue = new Value(0);
|
|
167
126
|
const frameTime = new Value(0);
|
|
@@ -171,17 +130,20 @@ class DrawerView extends React.Component {
|
|
|
171
130
|
finished: new Value(FALSE),
|
|
172
131
|
velocity: new Value(0)
|
|
173
132
|
};
|
|
174
|
-
return block([cond(clockRunning(this.clock), NOOP, [
|
|
133
|
+
return block([cond(clockRunning(this.clock), NOOP, [
|
|
134
|
+
// Animation wasn't running before
|
|
175
135
|
// Set the initial values and start the clock
|
|
176
|
-
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, {
|
|
136
|
+
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, {
|
|
137
|
+
...SPRING_CONFIG,
|
|
177
138
|
toValue
|
|
178
|
-
}), cond(state.finished, [
|
|
179
|
-
|
|
139
|
+
}), cond(state.finished, [
|
|
140
|
+
// Reset gesture and velocity from previous gesture
|
|
141
|
+
set(this.touchX, 0), set(this.gestureX, 0), set(this.velocityX, 0), set(this.offsetX, 0),
|
|
142
|
+
// When the animation finishes, stop the clock
|
|
180
143
|
stopClock(this.clock), call([this.isOpen], _ref => {
|
|
181
144
|
let [value] = _ref;
|
|
182
145
|
const open = Boolean(value);
|
|
183
146
|
this.handleEndInteraction();
|
|
184
|
-
|
|
185
147
|
if (open !== this.props.open) {
|
|
186
148
|
// Sync drawer's state after animation finished
|
|
187
149
|
// This shouldn't be necessary, but there seems to be an issue on iOS
|
|
@@ -189,12 +151,12 @@ class DrawerView extends React.Component {
|
|
|
189
151
|
}
|
|
190
152
|
})])]);
|
|
191
153
|
});
|
|
192
|
-
|
|
193
154
|
_defineProperty(this, "dragX", block([onChange(this.isOpen, call([this.isOpen], _ref2 => {
|
|
194
155
|
let [value] = _ref2;
|
|
195
156
|
const open = Boolean(value);
|
|
196
|
-
this.currentOpenValue = open;
|
|
157
|
+
this.currentOpenValue = open;
|
|
197
158
|
|
|
159
|
+
// Without this check, the drawer can go to an infinite update <-> animate loop for sync updates
|
|
198
160
|
if (open !== this.props.open) {
|
|
199
161
|
// If the mode changed, update state
|
|
200
162
|
if (open) {
|
|
@@ -202,17 +164,21 @@ class DrawerView extends React.Component {
|
|
|
202
164
|
} else {
|
|
203
165
|
this.props.onClose();
|
|
204
166
|
}
|
|
167
|
+
this.pendingOpenValue = open;
|
|
205
168
|
|
|
206
|
-
|
|
169
|
+
// Force componentDidUpdate to fire, whether user does a setState or not
|
|
207
170
|
// This allows us to detect when the user drops the update and revert back
|
|
208
171
|
// It's necessary to make sure that the state stays in sync
|
|
209
|
-
|
|
210
172
|
this.forceUpdate();
|
|
211
173
|
}
|
|
212
|
-
})), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
174
|
+
})), onChange(this.nextIsOpen, cond(neq(this.nextIsOpen, UNSET), [
|
|
175
|
+
// Stop any running animations
|
|
176
|
+
cond(clockRunning(this.clock), stopClock(this.clock)),
|
|
177
|
+
// Update the open value to trigger the transition
|
|
178
|
+
set(this.isOpen, this.nextIsOpen), set(this.gestureX, 0), set(this.nextIsOpen, UNSET)])),
|
|
179
|
+
// This block must be after the this.isOpen listener since we check for current value
|
|
180
|
+
onChange(this.isSwiping,
|
|
181
|
+
// Listen to updates for this value only when it changes
|
|
216
182
|
// Without `onChange`, this will fire even if the value didn't change
|
|
217
183
|
// We don't want to call the listeners if the value didn't change
|
|
218
184
|
call([this.isSwiping], _ref3 => {
|
|
@@ -220,29 +186,31 @@ class DrawerView extends React.Component {
|
|
|
220
186
|
const {
|
|
221
187
|
keyboardDismissMode
|
|
222
188
|
} = this.props;
|
|
223
|
-
|
|
224
189
|
if (value === TRUE) {
|
|
225
190
|
if (keyboardDismissMode === 'on-drag') {
|
|
226
191
|
_reactNative.Keyboard.dismiss();
|
|
227
192
|
}
|
|
228
|
-
|
|
229
193
|
this.toggleStatusBar(true);
|
|
230
194
|
} else {
|
|
231
195
|
this.toggleStatusBar(this.currentOpenValue);
|
|
232
196
|
}
|
|
233
|
-
})), onChange(this.gestureState, cond(eq(this.gestureState, _GestureHandler.GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, _GestureHandler.GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
|
|
234
|
-
|
|
235
|
-
set(this.
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
197
|
+
})), onChange(this.gestureState, cond(eq(this.gestureState, _GestureHandler.GestureState.ACTIVE), call([], this.handleStartInteraction))), cond(eq(this.gestureState, _GestureHandler.GestureState.ACTIVE), [cond(this.isSwiping, NOOP, [
|
|
198
|
+
// We weren't dragging before, set it to true
|
|
199
|
+
set(this.isSwiping, TRUE),
|
|
200
|
+
// Also update the drag offset to the last position
|
|
201
|
+
set(this.offsetX, this.position)]),
|
|
202
|
+
// Update position with previous offset + gesture distance
|
|
203
|
+
set(this.position, add(this.offsetX, this.gestureX, this.touchDistanceFromDrawer)),
|
|
204
|
+
// Stop animations while we're dragging
|
|
205
|
+
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),
|
|
206
|
+
// If swiped to right, open the drawer, otherwise close it
|
|
207
|
+
greaterThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0),
|
|
208
|
+
// If swiped to left, open the drawer, otherwise close it
|
|
239
209
|
lessThan(cond(eq(this.velocityX, 0), this.gestureX, this.velocityX), 0)), this.isOpen)))]), this.position]));
|
|
240
|
-
|
|
241
210
|
_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)));
|
|
242
|
-
|
|
243
|
-
|
|
211
|
+
_defineProperty(this, "progress", cond(
|
|
212
|
+
// Check if the drawer width is available to avoid division by zero
|
|
244
213
|
eq(this.drawerWidth, 0), 0, abs(divide(this.translateX, this.drawerWidth))));
|
|
245
|
-
|
|
246
214
|
_defineProperty(this, "handleGestureEvent", event([{
|
|
247
215
|
nativeEvent: {
|
|
248
216
|
x: this.touchX,
|
|
@@ -250,47 +218,41 @@ class DrawerView extends React.Component {
|
|
|
250
218
|
velocityX: this.velocityX
|
|
251
219
|
}
|
|
252
220
|
}]));
|
|
253
|
-
|
|
254
221
|
_defineProperty(this, "handleGestureStateChange", event([{
|
|
255
222
|
nativeEvent: {
|
|
256
223
|
state: s => set(this.gestureState, s)
|
|
257
224
|
}
|
|
258
225
|
}]));
|
|
259
|
-
|
|
260
226
|
_defineProperty(this, "handleContainerLayout", e => this.containerWidth.setValue(e.nativeEvent.layout.width));
|
|
261
|
-
|
|
262
227
|
_defineProperty(this, "handleDrawerLayout", e => {
|
|
263
228
|
this.drawerWidth.setValue(e.nativeEvent.layout.width);
|
|
264
|
-
this.toggleDrawer(this.props.open);
|
|
229
|
+
this.toggleDrawer(this.props.open);
|
|
230
|
+
|
|
231
|
+
// Until layout is available, drawer is hidden with opacity: 0 by default
|
|
265
232
|
// Show it in the next frame when layout is available
|
|
266
233
|
// If we don't delay it until the next frame, there's a visible flicker
|
|
267
|
-
|
|
268
234
|
requestAnimationFrame(() => requestAnimationFrame(() => this.drawerOpacity.setValue(1)));
|
|
269
235
|
});
|
|
270
|
-
|
|
271
236
|
_defineProperty(this, "toggleDrawer", open => {
|
|
272
237
|
if (this.currentOpenValue !== open) {
|
|
273
|
-
this.nextIsOpen.setValue(open ? TRUE : FALSE);
|
|
274
|
-
// However, there's a race condition on Android, so we need to set a bit earlier
|
|
238
|
+
this.nextIsOpen.setValue(open ? TRUE : FALSE);
|
|
275
239
|
|
|
240
|
+
// This value will also be set shortly after as changing this.nextIsOpen changes this.isOpen
|
|
241
|
+
// However, there's a race condition on Android, so we need to set a bit earlier
|
|
276
242
|
this.currentOpenValue = open;
|
|
277
243
|
}
|
|
278
244
|
});
|
|
279
|
-
|
|
280
245
|
_defineProperty(this, "toggleStatusBar", hidden => {
|
|
281
246
|
const {
|
|
282
247
|
hideStatusBarOnOpen: hideStatusBar,
|
|
283
248
|
statusBarAnimation
|
|
284
249
|
} = this.props;
|
|
285
|
-
|
|
286
250
|
if (hideStatusBar && this.isStatusBarHidden !== hidden) {
|
|
287
251
|
this.isStatusBarHidden = hidden;
|
|
288
|
-
|
|
289
252
|
_reactNative.StatusBar.setHidden(hidden, statusBarAnimation);
|
|
290
253
|
}
|
|
291
254
|
});
|
|
292
255
|
}
|
|
293
|
-
|
|
294
256
|
componentDidUpdate(prevProps) {
|
|
295
257
|
const {
|
|
296
258
|
open,
|
|
@@ -300,40 +262,32 @@ class DrawerView extends React.Component {
|
|
|
300
262
|
swipeVelocityThreshold,
|
|
301
263
|
hideStatusBarOnOpen: hideStatusBar
|
|
302
264
|
} = this.props;
|
|
303
|
-
|
|
304
|
-
|
|
265
|
+
if (
|
|
266
|
+
// If we're not in the middle of a transition, sync the drawer's open state
|
|
305
267
|
typeof this.pendingOpenValue !== 'boolean' || open !== this.pendingOpenValue) {
|
|
306
268
|
this.toggleDrawer(open);
|
|
307
269
|
}
|
|
308
|
-
|
|
309
270
|
this.pendingOpenValue = undefined;
|
|
310
|
-
|
|
311
271
|
if (open !== prevProps.open && hideStatusBar) {
|
|
312
272
|
this.toggleStatusBar(open);
|
|
313
273
|
}
|
|
314
|
-
|
|
315
274
|
if (prevProps.drawerPosition !== drawerPosition) {
|
|
316
275
|
this.drawerPosition.setValue(drawerPosition === 'right' ? DIRECTION_RIGHT : DIRECTION_LEFT);
|
|
317
276
|
}
|
|
318
|
-
|
|
319
277
|
if (prevProps.drawerType !== drawerType) {
|
|
320
278
|
this.isDrawerTypeFront.setValue(drawerType === 'front' ? TRUE : FALSE);
|
|
321
279
|
}
|
|
322
|
-
|
|
323
280
|
if (prevProps.swipeDistanceThreshold !== swipeDistanceThreshold) {
|
|
324
281
|
this.swipeDistanceThreshold.setValue(swipeDistanceThreshold);
|
|
325
282
|
}
|
|
326
|
-
|
|
327
283
|
if (prevProps.swipeVelocityThreshold !== swipeVelocityThreshold) {
|
|
328
284
|
this.swipeVelocityThreshold.setValue(swipeVelocityThreshold);
|
|
329
285
|
}
|
|
330
286
|
}
|
|
331
|
-
|
|
332
287
|
componentWillUnmount() {
|
|
333
288
|
this.toggleStatusBar(false);
|
|
334
289
|
this.handleEndInteraction();
|
|
335
290
|
}
|
|
336
|
-
|
|
337
291
|
render() {
|
|
338
292
|
const {
|
|
339
293
|
open,
|
|
@@ -351,10 +305,12 @@ class DrawerView extends React.Component {
|
|
|
351
305
|
const isRight = drawerPosition === 'right';
|
|
352
306
|
const contentTranslateX = drawerType === 'front' ? ANIMATED_ZERO : this.translateX;
|
|
353
307
|
const drawerTranslateX = drawerType === 'back' ? _reactNative.I18nManager.getConstants().isRTL ? multiply(sub(this.containerWidth, this.drawerWidth), isRight ? 1 : -1) : ANIMATED_ZERO : this.translateX;
|
|
354
|
-
const offset = drawerType === 'back' ? 0 : _reactNative.I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1);
|
|
355
|
-
// https://github.com/software-mansion/react-native-gesture-handler/issues/569
|
|
308
|
+
const offset = drawerType === 'back' ? 0 : _reactNative.I18nManager.getConstants().isRTL ? '100%' : multiply(this.drawerWidth, -1);
|
|
356
309
|
|
|
357
|
-
|
|
310
|
+
// FIXME: Currently hitSlop is broken when on Android when drawer is on right
|
|
311
|
+
// https://github.com/software-mansion/react-native-gesture-handler/issues/569
|
|
312
|
+
const hitSlop = isRight ?
|
|
313
|
+
// Extend hitSlop to the side of the screen when drawer is closed
|
|
358
314
|
// This lets the user drag the drawer from the side of the screen
|
|
359
315
|
{
|
|
360
316
|
right: 0,
|
|
@@ -380,7 +336,8 @@ class DrawerView extends React.Component {
|
|
|
380
336
|
}]
|
|
381
337
|
}, /*#__PURE__*/React.createElement(_reactNativeReanimated.default.View, {
|
|
382
338
|
style: [styles.content, {
|
|
383
|
-
transform: drawerType === 'permanent' ?
|
|
339
|
+
transform: drawerType === 'permanent' ?
|
|
340
|
+
// Reanimated needs the property to be present, but it results in Browser bug
|
|
384
341
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
385
342
|
[] : [{
|
|
386
343
|
translateX: contentTranslateX
|
|
@@ -390,7 +347,8 @@ class DrawerView extends React.Component {
|
|
|
390
347
|
accessibilityElementsHidden: isOpen && drawerType !== 'permanent',
|
|
391
348
|
importantForAccessibility: isOpen && drawerType !== 'permanent' ? 'no-hide-descendants' : 'auto',
|
|
392
349
|
style: styles.content
|
|
393
|
-
}, renderSceneContent()),
|
|
350
|
+
}, renderSceneContent()),
|
|
351
|
+
// Disable overlay if sidebar is permanent
|
|
394
352
|
drawerType === 'permanent' ? null : /*#__PURE__*/React.createElement(_Overlay.default, {
|
|
395
353
|
progress: progress,
|
|
396
354
|
onPress: () => this.toggleDrawer(false),
|
|
@@ -408,13 +366,15 @@ class DrawerView extends React.Component {
|
|
|
408
366
|
removeClippedSubviews: _reactNative.Platform.OS !== 'ios',
|
|
409
367
|
onLayout: this.handleDrawerLayout,
|
|
410
368
|
style: [styles.container, {
|
|
411
|
-
transform: drawerType === 'permanent' ?
|
|
369
|
+
transform: drawerType === 'permanent' ?
|
|
370
|
+
// Reanimated needs the property to be present, but it results in Browser bug
|
|
412
371
|
// https://bugs.chromium.org/p/chromium/issues/detail?id=20574
|
|
413
372
|
[] : [{
|
|
414
373
|
translateX: drawerTranslateX
|
|
415
374
|
}],
|
|
416
375
|
opacity: this.drawerOpacity
|
|
417
|
-
}, drawerType === 'permanent' ?
|
|
376
|
+
}, drawerType === 'permanent' ?
|
|
377
|
+
// Without this, the `left`/`right` values don't get reset
|
|
418
378
|
isRight ? {
|
|
419
379
|
right: 0
|
|
420
380
|
} : {
|
|
@@ -428,11 +388,8 @@ class DrawerView extends React.Component {
|
|
|
428
388
|
}], drawerStyle]
|
|
429
389
|
}, renderDrawerContent()))));
|
|
430
390
|
}
|
|
431
|
-
|
|
432
391
|
}
|
|
433
|
-
|
|
434
392
|
exports.default = DrawerView;
|
|
435
|
-
|
|
436
393
|
const styles = _reactNative.StyleSheet.create({
|
|
437
394
|
container: {
|
|
438
395
|
backgroundColor: 'white',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["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","Animated","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","React","Component","interactionHandle","undefined","InteractionManager","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","GestureState","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","Keyboard","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","StatusBar","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","I18nManager","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","Platform","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":["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","Animated","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","React","Component","interactionHandle","undefined","InteractionManager","clearInteractionHandle","createInteractionHandle","drawerStyle","dimensions","props","width","StyleSheet","flatten","endsWith","percentage","Number","replace","isFinite","drawerType","open","getDrawerWidth","GestureState","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","Keyboard","dismiss","toggleStatusBar","gestureState","ACTIVE","touchDistanceFromDrawer","transitionTo","dragX","translateX","nativeEvent","x","translationX","s","e","setValue","layout","requestAnimationFrame","drawerOpacity","hidden","hideStatusBarOnOpen","hideStatusBar","statusBarAnimation","isStatusBarHidden","StatusBar","setHidden","componentDidUpdate","prevProps","componentWillUnmount","render","swipeEnabled","swipeEdgeWidth","overlayStyle","renderDrawerContent","renderSceneContent","gestureHandlerProps","isRight","contentTranslateX","drawerTranslateX","I18nManager","getConstants","isRTL","offset","hitSlop","right","left","progress","handleGestureEvent","handleGestureStateChange","handleContainerLayout","styles","main","flexDirection","content","transform","Platform","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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"}
|
|
@@ -4,21 +4,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
|
|
10
8
|
var _reactNative = require("react-native");
|
|
11
|
-
|
|
12
9
|
var _reactNativeReanimated = _interopRequireDefault(require("react-native-reanimated"));
|
|
13
|
-
|
|
14
10
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
-
|
|
18
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
19
|
-
|
|
20
13
|
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); }
|
|
21
|
-
|
|
22
14
|
const {
|
|
23
15
|
// @ts-expect-error: this is to support reanimated 1
|
|
24
16
|
interpolate: interpolateDeprecated,
|
|
@@ -26,7 +18,7 @@ const {
|
|
|
26
18
|
cond,
|
|
27
19
|
greaterThan
|
|
28
20
|
} = _reactNativeReanimated.default;
|
|
29
|
-
const interpolate = interpolateNode
|
|
21
|
+
const interpolate = interpolateNode ?? interpolateDeprecated;
|
|
30
22
|
const PROGRESS_EPSILON = 0.05;
|
|
31
23
|
const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
|
|
32
24
|
let {
|
|
@@ -57,7 +49,6 @@ const Overlay = /*#__PURE__*/React.forwardRef(function Overlay(_ref, ref) {
|
|
|
57
49
|
style: styles.pressable
|
|
58
50
|
}));
|
|
59
51
|
});
|
|
60
|
-
|
|
61
52
|
const overlayStyle = _reactNative.Platform.select({
|
|
62
53
|
web: {
|
|
63
54
|
// Disable touch highlight on mobile Safari.
|
|
@@ -66,16 +57,15 @@ const overlayStyle = _reactNative.Platform.select({
|
|
|
66
57
|
},
|
|
67
58
|
default: {}
|
|
68
59
|
});
|
|
69
|
-
|
|
70
60
|
const styles = _reactNative.StyleSheet.create({
|
|
71
|
-
overlay: {
|
|
61
|
+
overlay: {
|
|
62
|
+
..._reactNative.StyleSheet.absoluteFillObject,
|
|
72
63
|
backgroundColor: 'rgba(0, 0, 0, 0.5)'
|
|
73
64
|
},
|
|
74
65
|
pressable: {
|
|
75
66
|
flex: 1
|
|
76
67
|
}
|
|
77
68
|
});
|
|
78
|
-
|
|
79
69
|
var _default = Overlay;
|
|
80
70
|
exports.default = _default;
|
|
81
71
|
//# sourceMappingURL=Overlay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","Animated","PROGRESS_EPSILON","Overlay","React","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","Platform","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","StyleSheet","create","absoluteFillObject","backgroundColor","flex"],"
|
|
1
|
+
{"version":3,"names":["interpolate","interpolateDeprecated","interpolateNode","cond","greaterThan","Animated","PROGRESS_EPSILON","Overlay","React","forwardRef","ref","progress","onPress","style","props","animatedStyle","opacity","inputRange","Platform","OS","outputRange","zIndex","styles","overlay","overlayStyle","pressable","select","web","WebkitTapHighlightColor","default","StyleSheet","create","absoluteFillObject","backgroundColor","flex"],"sourceRoot":"../../src","sources":["Overlay.tsx"],"mappings":";;;;;;AAAA;AACA;AACA;AAA+C;AAAA;AAAA;AAAA;AAE/C,MAAM;EACJ;EACAA,WAAW,EAAEC,qBAAqB;EAClCC,eAAe;EACfC,IAAI;EACJC;AACF,CAAC,GAAGC,8BAAQ;AAEZ,MAAML,WAAmC,GACvCE,eAAe,IAAID,qBAAqB;AAE1C,MAAMK,gBAAgB,GAAG,IAAI;AAO7B,MAAMC,OAAO,gBAAGC,KAAK,CAACC,UAAU,CAAC,SAASF,OAAO,OAE/CG,GAA6B,EAC7B;EAAA,IAFA;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,KAAK;IAAE,GAAGC;EAAa,CAAC;EAG7C,MAAMC,aAAa,GAAG;IACpBC,OAAO,EAAEhB,WAAW,CAACW,QAAQ,EAAE;MAC7B;MACA;MACA;MACA;MACAM,UAAU,EACRC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAID,qBAAQ,CAACC,EAAE,KAAK,OAAO,GAChD,CAAC,CAAC,EAAE,CAAC,CAAC,GACN,CAACb,gBAAgB,EAAE,CAAC,CAAC;MAC3Bc,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;IACpB,CAAC,CAAC;IACF;IACA;IACA;IACAC,MAAM,EAAElB,IAAI,CAACC,WAAW,CAACO,QAAQ,EAAEL,gBAAgB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAC7D,CAAC;EAED,oBACE,oBAAC,8BAAQ,CAAC,IAAI,eACRQ,KAAK;IACT,GAAG,EAAEJ,GAAI;IACT,KAAK,EAAE,CAACY,MAAM,CAACC,OAAO,EAAEC,YAAY,EAAET,aAAa,EAAEF,KAAK;EAAE,iBAE5D,oBAAC,sBAAS;IAAC,OAAO,EAAED,OAAQ;IAAC,KAAK,EAAEU,MAAM,CAACG;EAAU,EAAG,CAC1C;AAEpB,CAAC,CAAC;AAEF,MAAMD,YAAY,GAAGN,qBAAQ,CAACQ,MAAM,CAAyB;EAC3DC,GAAG,EAAE;IACH;IACA;IACAC,uBAAuB,EAAE;EAC3B,CAAC;EACDC,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAMP,MAAM,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAC/BR,OAAO,EAAE;IACP,GAAGO,uBAAU,CAACE,kBAAkB;IAChCC,eAAe,EAAE;EACnB,CAAC;EACDR,SAAS,EAAE;IACTS,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAC,eAEY3B,OAAO;AAAA"}
|