561 lines
25 KiB
React
561 lines
25 KiB
React
/* Metro module 5401; source: unknown; dependencies: [6, 7, 15, 17, 18, 31, 27, 33, 5326, 44, 5339, 5351] */
|
|
function _fun47676(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#47676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:6, offset: 0x011c8589, size: 531 bytes, params: 8, frame: 23
|
|
var object2;
|
|
const env0_0 = require;
|
|
let Object = global.Object;
|
|
Object.defineProperty(exports, '__esModule', {value: true});
|
|
const env0_3 = importDefault(6) /* metro dependency 6 */;
|
|
const env0_4 = importDefault(7) /* metro dependency 7 */;
|
|
const env0_5 = importDefault(15) /* metro dependency 15 */;
|
|
const env0_6 = importDefault(17) /* metro dependency 17 */;
|
|
const env0_7 = importDefault(18) /* metro dependency 18 */;
|
|
const env0_8 = importAll(31) /* metro dependency 31 */;
|
|
const Component = (require(31) /* metro dependency 31 */).Component;
|
|
let value = require(27) /* metro dependency 27 */;
|
|
const env0_9 = value.Animated;
|
|
const StyleSheet = value.StyleSheet;
|
|
const env0_10 = value.View;
|
|
const env0_11 = value.Keyboard;
|
|
const env0_12 = value.StatusBar;
|
|
const env0_13 = value.I18nManager;
|
|
value = require(33) /* metro dependency 33 */;
|
|
const env0_14 = value.jsx;
|
|
const env0_15 = value.jsxs;
|
|
value = _fun47680(Component);
|
|
value.defaultProps = {'drawerWidth': 200, 'drawerPosition': 'left', 'useNativeAnimations': true,
|
|
'drawerType': 'front', 'edgeWidth': 20, 'minSwipeDistance': 3, 'overlayColor': 'rgba(0, 0, 0, 0.7)',
|
|
'drawerLockMode': 'unlocked', 'enableTrackpadTwoFingerGesture': false};
|
|
value.positions = {'Left': 'left', 'Right': 'right'};
|
|
const create = StyleSheet.create;
|
|
object2 = {};
|
|
Object = global.Object;
|
|
object2.drawerContainer = Object.assign({}, StyleSheet.absoluteFillObject, {'zIndex': 1001, 'flexDirection': 'row'});
|
|
Object = global.Object;
|
|
object2.containerInFront = Object.assign({}, StyleSheet.absoluteFillObject, {zIndex: 1002});
|
|
Object = global.Object;
|
|
object2.containerOnBack = Object.assign({}, StyleSheet.absoluteFillObject);
|
|
object2.main = {'flex': 1, 'zIndex': 0, 'overflow': 'hidden'};
|
|
Object = global.Object;
|
|
object2.overlay = Object.assign({}, StyleSheet.absoluteFillObject, {zIndex: 1000});
|
|
const env0_16 = Reflect.apply(create, StyleSheet, [object2]);
|
|
exports.default = value;
|
|
}
|
|
|
|
function _isNativeReflectConstruct_47677() { // fn#47677, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:295, offset: 0x011c879c, size: 94 bytes, params: 1, frame: 18
|
|
var Boolean;
|
|
var prototype;
|
|
var valueOf;
|
|
var call;
|
|
var Reflect;
|
|
var construct;
|
|
var closure;
|
|
var value;
|
|
var error;
|
|
try {
|
|
Boolean = global.Boolean;
|
|
prototype = Boolean.prototype;
|
|
valueOf = prototype.valueOf;
|
|
call = valueOf.call;
|
|
Reflect = global.Reflect;
|
|
construct = Reflect.construct;
|
|
Boolean = global.Boolean;
|
|
closure = function() {
|
|
};
|
|
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
|
|
value = Reflect.apply(call, valueOf, [value]);
|
|
var result = !value;
|
|
} catch (error) {
|
|
}
|
|
return (_isNativeReflectConstruct_47677_isNativeReflectConstruct = function() {
|
|
return !!result;
|
|
})();
|
|
}
|
|
|
|
function _fun47680(a0) { // fn#47680, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:555, offset: 0x011c87fa, size: 91 bytes, params: 2, frame: 16
|
|
const closure = DrawerLayout;
|
|
env0_7(closure, a0);
|
|
return env0_4(closure, [{key: 'shouldComponentUpdate', value: function(a0, a1) {
|
|
if (!(this.props.drawerPosition === a0.drawerPosition && this.props.drawerWidth === a0.drawerWidth && this.props.drawerType === a0.drawerType && this.state.containerWidth === a1.containerWidth)) {
|
|
this.updateAnimatedEvent(a0, a1);
|
|
}
|
|
return true;
|
|
}}, {key: 'render', value: value_47698}]);
|
|
}
|
|
|
|
function DrawerLayout(a0) { // fn#47681, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:567, offset: 0x011c8855, size: 463 bytes, params: 2, frame: 22
|
|
var environment;
|
|
const value = environment.__proto__;
|
|
let binding = env1_3;
|
|
binding(this, DrawerLayout);
|
|
const items = [a0];
|
|
const value3 = env1_6(DrawerLayout);
|
|
const value6 = env1_5(this, _isNativeReflectConstruct_47677() ? global.Reflect.construct(value3, items,
|
|
env1_6(this).constructor) : value3.apply(this, items));
|
|
binding = env1_8;
|
|
value6.accessibilityIsModalView = binding.createRef();
|
|
value6.pointerEventsView = binding.createRef();
|
|
value6.panGestureHandler = binding.createRef();
|
|
value6.drawerShown = false;
|
|
value6.updateAnimatedEvent = updateAnimatedEvent;
|
|
value6.handleContainerLayout = handleContainerLayout_47684;
|
|
value6.emitStateChanged = emitStateChanged;
|
|
value6.openingHandlerStateChange = openingHandlerStateChange;
|
|
value6.onTapHandlerStateChange = onTapHandlerStateChange;
|
|
value6.handleRelease = handleRelease;
|
|
value6.updateShowing = updateShowing;
|
|
value6.animateDrawer = animateDrawer;
|
|
value6.openDrawer = openDrawer_47692;
|
|
value6.closeDrawer = closeDrawer_47693;
|
|
value6.renderOverlay = renderOverlay;
|
|
value6.renderDrawer = renderDrawer;
|
|
value6.setPanGestureRef = setPanGestureRef;
|
|
let Value = Animated.Value;
|
|
const value7 = new Value(0);
|
|
Value = Animated.Value;
|
|
const value9 = new Value(0);
|
|
Value = Animated.Value;
|
|
value6.state = {'dragX': null, 'touchX': null, 'drawerTranslation': null, 'containerWidth': 0,
|
|
'drawerState': 'Idle', 'drawerOpened': false, dragX: value7, touchX: value9, drawerTranslation: new Value(0)};
|
|
value6.updateAnimatedEvent(a0, value6.state);
|
|
return value6;
|
|
}
|
|
|
|
function value_47698() { // fn#47698, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:6632, offset: 0x011c98d3, size: 371 bytes, params: 1, frame: 20
|
|
const {drawerPosition, drawerLockMode, edgeWidth, minSwipeDistance} = this.props;
|
|
let value = drawerPosition === 'left';
|
|
const value2 = -1;
|
|
const r8 = value ? 1 : value2;
|
|
const r4 = this.drawerShown ? value2 : 1;
|
|
const object2 = {};
|
|
if (value) {
|
|
object2.left = 0;
|
|
object2.width = this.drawerShown ? undefined : edgeWidth;
|
|
} else {
|
|
object2.right = 0;
|
|
object2.width = this.drawerShown ? undefined : edgeWidth;
|
|
}
|
|
value = environment.__proto__;
|
|
const PanGestureHandler = (require(5351) /* metro dependency 5351 */).PanGestureHandler;
|
|
const userSelect = this.props.userSelect;
|
|
return (
|
|
<PanGestureHandler
|
|
userSelect={userSelect}
|
|
activeCursor={this.props.activeCursor}
|
|
mouseButton={this.props.mouseButton}
|
|
enableContextMenu={this.props.enableContextMenu}
|
|
ref={this.setPanGestureRef}
|
|
hitSlop={object2}
|
|
activeOffsetX={r8 * r4 * minSwipeDistance}
|
|
failOffsetY={[-15, 15]}
|
|
onGestureEvent={this.onGestureEvent}
|
|
onHandlerStateChange={this.openingHandlerStateChange}
|
|
enableTrackpadTwoFingerGesture={this.props.enableTrackpadTwoFingerGesture}
|
|
enabled={drawerLockMode !== 'locked-closed' && drawerLockMode !== 'locked-open'}
|
|
>
|
|
{this.renderDrawer()}
|
|
</PanGestureHandler>
|
|
);
|
|
}
|
|
|
|
function DrawerLayoutUpdateAnimatedEvent({drawerPosition, drawerWidth, drawerType, useNativeAnimations}, {dragX, touchX, drawerTranslation, containerWidth}) { // fn#47682, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:924, owner: DrawerLayout.updateAnimatedEvent, offset: 0x011c8a24, size: 558 bytes, params: 3, frame: 26
|
|
var environment;
|
|
var r4;
|
|
var r5;
|
|
var r8;
|
|
var value;
|
|
var multiply;
|
|
var Value;
|
|
var prototype;
|
|
var value2;
|
|
var add;
|
|
var value3;
|
|
var value4;
|
|
var value5;
|
|
var value6;
|
|
var value7;
|
|
var value9;
|
|
var value10;
|
|
if (drawerPosition !== 'left') {
|
|
value = environment.__proto__.__proto__;
|
|
multiply = Animated.multiply;
|
|
Value = Animated.Value;
|
|
prototype = Value.prototype;
|
|
value = Object.create(prototype, {constructor: {value: Value}});
|
|
value2 = new Value(-1);
|
|
value = value2 instanceof Object ? value2 : value;
|
|
value = Reflect.apply(multiply, Animated, [value, dragX]);
|
|
add = Animated.add;
|
|
Value = Animated.Value;
|
|
prototype = Value.prototype;
|
|
value3 = Object.create(prototype, {constructor: {value: Value}});
|
|
value4 = new Value(containerWidth);
|
|
value5 = value4 instanceof Object ? value4 : value3;
|
|
multiply = Animated.multiply;
|
|
Value = Animated.Value;
|
|
prototype = Value.prototype;
|
|
value6 = Object.create(prototype, {constructor: {value: Value}});
|
|
value7 = new Value(-1);
|
|
value9 = Reflect.apply(add, Animated, [value5, Reflect.apply(multiply, Animated,
|
|
[value7 instanceof Object ? value7 : value6, touchX])]);
|
|
touchX.setValue(containerWidth);
|
|
r4 = value;
|
|
r5 = value9;
|
|
} else {
|
|
touchX.setValue(0);
|
|
r4 = dragX;
|
|
r5 = touchX;
|
|
}
|
|
if (drawerType !== 'front') {
|
|
r8 = r4;
|
|
} else {
|
|
value = environment.__proto__.__proto__;
|
|
add = Animated.add;
|
|
multiply = Animated.multiply;
|
|
value10 = new Animated.Value(-1);
|
|
value10 = Reflect.apply(add, Animated, [r5, Reflect.apply(multiply, Animated, [value10, r4])]);
|
|
value10 = value10.interpolate({inputRange: [drawerWidth - 1, drawerWidth, drawerWidth + 1], outputRange: [0, 0,
|
|
1]});
|
|
value10 = Animated.add(r4, value10);
|
|
r8 = value10;
|
|
}
|
|
const binding = env0_0;
|
|
binding.openValue = Animated.add(r8, drawerTranslation).interpolate({inputRange: [0, drawerWidth], outputRange: [0,
|
|
1], extrapolate: 'clamp'});
|
|
const object2 = {useNativeDriver: useNativeAnimations};
|
|
if (binding.props.onDrawerSlide) {
|
|
object2.listener = listener_47683;
|
|
}
|
|
env0_0.onGestureEvent = Animated.event([{nativeEvent: {translationX: dragX, x: touchX}}], object2);
|
|
}
|
|
|
|
function DrawerLayoutHandleContainerLayout({nativeEvent}) { // fn#47684, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1739, owner: DrawerLayout.handleContainerLayout, offset: 0x011c8cc4, size: 49 bytes, params: 2, frame: 12
|
|
env0_0.setState({containerWidth: nativeEvent.layout.width});
|
|
}
|
|
|
|
function emitStateChanged(a0, a1) { // fn#47685, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1835, owner: DrawerLayout.emitStateChanged, offset: 0x011c8cf5, size: 55 bytes, params: 3, frame: 13
|
|
if (env0_0.props.onDrawerStateChanged != null) {
|
|
env0_0.props.onDrawerStateChanged(a0, a1);
|
|
}
|
|
}
|
|
|
|
function openingHandlerStateChange({nativeEvent}) { // fn#47686, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1948, owner: DrawerLayout.openingHandlerStateChange, offset: 0x011c8d2c, size: 269 bytes, params: 2, frame: 17
|
|
var statusBarAnimation;
|
|
var binding;
|
|
var props;
|
|
var setHidden;
|
|
const oldState = nativeEvent.oldState;
|
|
const value = environment.__proto__.__proto__;
|
|
const State = (require(5326) /* metro dependency 5326 */).State;
|
|
const ACTIVE = State.ACTIVE;
|
|
if (oldState === ACTIVE) {
|
|
binding = env0_0;
|
|
binding.handleRelease({nativeEvent: nativeEvent});
|
|
} else if (nativeEvent.state === State.ACTIVE) {
|
|
binding = env0_0;
|
|
binding.emitStateChanged('Dragging', false);
|
|
binding.setState({drawerState: 'Dragging'});
|
|
props = binding.props;
|
|
if (props.keyboardDismissMode === 'on-drag') {
|
|
Keyboard.dismiss();
|
|
}
|
|
props = env0_0.props;
|
|
if (props.hideStatusBar) {
|
|
setHidden = StatusBar.setHidden;
|
|
statusBarAnimation = env0_0.props.statusBarAnimation;
|
|
statusBarAnimation = !statusBarAnimation ? 'slide' : statusBarAnimation;
|
|
Reflect.apply(setHidden, StatusBar, [true, statusBarAnimation]);
|
|
}
|
|
}
|
|
}
|
|
|
|
function DrawerLayoutOnTapHandlerStateChange({nativeEvent}) { // fn#47687, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:2289, owner: DrawerLayout.onTapHandlerStateChange, offset: 0x011c8e39, size: 121 bytes, params: 2, frame: 14
|
|
if (env0_0.drawerShown && nativeEvent.oldState === (require(5326) /* metro dependency 5326 */).State.ACTIVE && env0_0.props.drawerLockMode !== 'locked-open') {
|
|
env0_0.closeDrawer();
|
|
}
|
|
}
|
|
|
|
function DrawerLayoutHandleRelease({nativeEvent}) { // fn#47688, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:2444, owner: DrawerLayout.handleRelease, offset: 0x011c8eb2, size: 223 bytes, params: 2, frame: 22
|
|
var r1;
|
|
var r2;
|
|
var r3;
|
|
var value2;
|
|
var value3;
|
|
var value4;
|
|
const binding = env0_0;
|
|
const {drawerWidth, drawerPosition, drawerType} = binding.props;
|
|
const containerWidth = binding.state.containerWidth;
|
|
const translationX = nativeEvent.translationX;
|
|
const velocityX = nativeEvent.velocityX;
|
|
const x = nativeEvent.x;
|
|
if (drawerPosition === 'left') {
|
|
r1 = x;
|
|
r2 = translationX;
|
|
r3 = velocityX;
|
|
} else {
|
|
value2 = -translationX;
|
|
value3 = containerWidth - x;
|
|
value4 = -velocityX;
|
|
r1 = value3;
|
|
r2 = value2;
|
|
r3 = value4;
|
|
}
|
|
const value5 = r1 - r2;
|
|
const value9 = r2 + (drawerType !== 'front' ? 0 : value5 > drawerWidth ? value5 - drawerWidth : 0) + (env0_0.drawerShown ? drawerWidth : 0);
|
|
if (value9 + 0.05 * r3 > drawerWidth / 2) {
|
|
env0_0.animateDrawer(value9, drawerWidth, r3);
|
|
} else {
|
|
env0_0.animateDrawer(value9, 0, r3);
|
|
}
|
|
}
|
|
|
|
function updateShowing(a0) { // fn#47689, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:2774, owner: DrawerLayout.updateShowing, offset: 0x011c8f91, size: 269 bytes, params: 2, frame: 19
|
|
const binding = env0_0;
|
|
binding.drawerShown = a0;
|
|
let current = binding.accessibilityIsModalView.current;
|
|
if (current != null) {
|
|
current.setNativeProps({accessibilityViewIsModal: a0});
|
|
}
|
|
current = env0_0.pointerEventsView.current;
|
|
if (current != null) {
|
|
current.setNativeProps({pointerEvents: a0 ? 'auto' : 'none'});
|
|
}
|
|
const {drawerPosition, minSwipeDistance, edgeWidth} = env0_0.props;
|
|
const value4 = drawerPosition === 'left';
|
|
const value5 = -1;
|
|
const r5 = value4 ? 1 : value5;
|
|
const r3 = env0_0.drawerShown ? value5 : 1;
|
|
const object2 = {};
|
|
if (value4) {
|
|
object2.left = 0;
|
|
object2.width = a0 ? undefined : edgeWidth;
|
|
} else {
|
|
object2.right = 0;
|
|
object2.width = a0 ? undefined : edgeWidth;
|
|
}
|
|
current = env0_0.panGestureHandler.current;
|
|
if (current != null) {
|
|
current.setNativeProps({hitSlop: object2, activeOffsetX: r5 * r3 * minSwipeDistance});
|
|
}
|
|
}
|
|
|
|
function animateDrawer(a0, a1, a2, a3) { // fn#47690, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:3268, owner: DrawerLayout.animateDrawer, offset: 0x011c909e, size: 468 bytes, params: 5, frame: 22
|
|
var environment;
|
|
var r3;
|
|
var r5;
|
|
var statusBarAnimation;
|
|
var value7;
|
|
var setHidden;
|
|
let value = a0;
|
|
const value2 = a3;
|
|
let binding = env0_0;
|
|
const dragX = binding.state.dragX;
|
|
const value4 = 0;
|
|
dragX.setValue(value4);
|
|
const touchX = binding.state.touchX;
|
|
touchX.setValue(binding.props.drawerPosition === 'left' ? value4 : env0_0.state.containerWidth);
|
|
if (value != null) {
|
|
if (env0_0.props.useNativeAnimations) {
|
|
if (value < a1) {
|
|
if (a2 > value4) {
|
|
value = global.Math.min(value + a2 / 60, a1);
|
|
r3 = value;
|
|
} else if (value > a1 && a2 < value4) {
|
|
value = global.Math.max(value + a2 / 60, a1);
|
|
r3 = value;
|
|
} else {
|
|
r3 = value;
|
|
}
|
|
} else if (value > a1 && a2 < value4) {
|
|
value = global.Math.max(value + a2 / 60, a1);
|
|
r3 = value;
|
|
} else {
|
|
r3 = value;
|
|
}
|
|
r5 = r3;
|
|
} else {
|
|
r5 = value;
|
|
}
|
|
env0_0.state.drawerTranslation.setValue(r5);
|
|
}
|
|
value = value4 !== a1;
|
|
binding = env0_0;
|
|
binding.updateShowing(value);
|
|
binding.emitStateChanged('Settling', value);
|
|
binding.setState({drawerState: 'Settling'});
|
|
if (binding.props.hideStatusBar) {
|
|
value7 = environment.__proto__.__proto__;
|
|
setHidden = StatusBar.setHidden;
|
|
statusBarAnimation = env0_0.props.statusBarAnimation;
|
|
statusBarAnimation = !statusBarAnimation ? 'slide' : statusBarAnimation;
|
|
Reflect.apply(setHidden, StatusBar, [value, statusBarAnimation]);
|
|
}
|
|
value = environment.__proto__.__proto__;
|
|
const spring = Animated.spring;
|
|
binding = env0_0;
|
|
const drawerTranslation = binding.state.drawerTranslation;
|
|
const useNativeAnimations = binding.props.useNativeAnimations;
|
|
value = undefined;
|
|
Reflect.apply(spring, Animated, [drawerTranslation, {velocity: a2, bounciness: value4, toValue: a1,
|
|
useNativeDriver: useNativeAnimations, speed: value2 ?? value}]).start(_fun47691);
|
|
return value;
|
|
}
|
|
|
|
function DrawerLayoutOpenDrawer() { // fn#47692, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4104, owner: DrawerLayout.openDrawer, offset: 0x011c9334, size: 107 bytes, params: 1, frame: 19
|
|
const value = 0;
|
|
const r2 = arguments.length > value && arguments[value] !== undefined ? arguments[value] : {};
|
|
const binding = env0_0;
|
|
const animateDrawer = binding.animateDrawer;
|
|
const drawerWidth = binding.props.drawerWidth;
|
|
let velocity = r2.velocity;
|
|
velocity = velocity ? r2.velocity : value;
|
|
Reflect.apply(animateDrawer, binding, [undefined, drawerWidth, velocity, r2.speed]);
|
|
env0_0.forceUpdate();
|
|
}
|
|
|
|
function DrawerLayoutCloseDrawer() { // fn#47693, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4286, owner: DrawerLayout.closeDrawer, offset: 0x011c939f, size: 95 bytes, params: 1, frame: 19
|
|
const value = 0;
|
|
const r2 = arguments.length > value && arguments[value] !== undefined ? arguments[value] : {};
|
|
const binding = env0_0;
|
|
const animateDrawer = binding.animateDrawer;
|
|
let velocity = r2.velocity;
|
|
velocity = velocity ? r2.velocity : value;
|
|
Reflect.apply(animateDrawer, binding, [undefined, value, velocity, r2.speed]);
|
|
env0_0.forceUpdate();
|
|
}
|
|
|
|
function renderOverlay() { // fn#47694, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4452, owner: DrawerLayout.renderOverlay, offset: 0x011c93fe, size: 263 bytes, params: 1, frame: 20
|
|
const defaultImport = importDefault(44) /* metro dependency 44 */;
|
|
let binding = env0_0;
|
|
defaultImport(binding.openValue, 'should be set');
|
|
const object2 = {};
|
|
object2.opacity = binding.state.drawerState !== 'Idle' ? env0_0.openValue : env0_0.state.drawerOpened ? 1 : 0;
|
|
binding = env0_0;
|
|
object2.backgroundColor = binding.props.overlayColor;
|
|
const TapGestureHandler = (require(5339) /* metro dependency 5339 */).TapGestureHandler;
|
|
const onTapHandlerStateChange = binding.onTapHandlerStateChange;
|
|
const View = Animated.View;
|
|
return (
|
|
<TapGestureHandler onHandlerStateChange={onTapHandlerStateChange}>
|
|
<View
|
|
pointerEvents={binding.drawerShown ? 'auto' : 'none'}
|
|
ref={env0_0.pointerEventsView}
|
|
style={[env2_16.overlay, object2]}
|
|
/>
|
|
</TapGestureHandler>
|
|
);
|
|
}
|
|
|
|
function renderDrawer() { // fn#47695, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:4823, owner: DrawerLayout.renderDrawer, offset: 0x011c9505, size: 790 bytes, params: 1, frame: 29
|
|
var r10;
|
|
var interpolate;
|
|
var items2;
|
|
let props = env0_0.props;
|
|
const drawerBackgroundColor = props.drawerBackgroundColor;
|
|
const drawerWidth = props.drawerWidth;
|
|
const drawerPosition = props.drawerPosition;
|
|
const drawerType = props.drawerType;
|
|
const drawerContainerStyle = props.drawerContainerStyle;
|
|
const contentContainerStyle = props.contentContainerStyle;
|
|
const value2 = drawerPosition === 'left';
|
|
const r1 = I18nManager.isRTL ? value2 : !value2;
|
|
const object2 = {backgroundColor: drawerBackgroundColor, width: drawerWidth};
|
|
const openValue = env0_0.openValue;
|
|
const value5 = undefined;
|
|
(importDefault(44) /* metro dependency 44 */)(openValue, 'should be set');
|
|
if (drawerType === 'front') {
|
|
r10 = value5;
|
|
} else {
|
|
interpolate = openValue.interpolate;
|
|
items2 = [0];
|
|
if (value2) {
|
|
items2[1] = drawerWidth;
|
|
} else {
|
|
items2[1] = -drawerWidth;
|
|
}
|
|
r10 = {transform: [{translateX: Reflect.apply(interpolate, openValue, [{inputRange: [0, 1], outputRange: items2,
|
|
extrapolate: 'clamp'}])}]};
|
|
}
|
|
const value6 = 0;
|
|
const r0 = drawerType === 'back' ? value6 : env0_0.state.drawerState !== 'Idle' ? openValue.interpolate({inputRange: [0,
|
|
1], outputRange: [value2 ? -drawerWidth : drawerWidth, value6],
|
|
extrapolate: 'clamp'}) : env0_0.state.drawerOpened ? value6 : value2 ? -drawerWidth : drawerWidth;
|
|
const object3 = {};
|
|
object3.transform = [{translateX: r0}];
|
|
object3.flexDirection = r1 ? 'row-reverse' : 'row';
|
|
const View2 = Animated.View;
|
|
const main = env2_16.main;
|
|
const handleContainerLayout = env0_0.handleContainerLayout;
|
|
const View3 = Animated.View;
|
|
let drawerShown = env0_0.drawerShown;
|
|
const r6 = drawerShown ? 'no-hide-descendants' : 'yes';
|
|
const binding = env0_0;
|
|
const view = <View3 style={[drawerType === 'front' ? env2_16.containerOnBack : env2_16.containerInFront, r10,
|
|
contentContainerStyle]} importantForAccessibility={r6}>{[typeof env0_0.props.children === 'function' ? env0_0.props.children(env0_0.openValue) : env0_0.props.children,
|
|
binding.renderOverlay()]}</View3>;
|
|
const View4 = Animated.View;
|
|
const accessibilityIsModalView = binding.accessibilityIsModalView;
|
|
drawerShown = binding.drawerShown;
|
|
props = binding.props;
|
|
return (
|
|
<View2 style={main} onLayout={handleContainerLayout}>
|
|
{view}
|
|
<View4
|
|
pointerEvents="box-none"
|
|
ref={accessibilityIsModalView}
|
|
accessibilityViewIsModal={drawerShown}
|
|
style={[env2_16.drawerContainer, object3, drawerContainerStyle]}
|
|
>
|
|
<View style={object2}>
|
|
{props.renderNavigationView(binding.openValue)}
|
|
</View>
|
|
</View4>
|
|
</View2>
|
|
);
|
|
}
|
|
|
|
function setPanGestureRef(a0) { // fn#47696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:6002, owner: DrawerLayout.setPanGestureRef, offset: 0x011c981b, size: 63 bytes, params: 2, frame: 12
|
|
const binding = env0_0;
|
|
binding.panGestureHandler.current = a0;
|
|
if (binding.props.onGestureRef != null) {
|
|
env0_0.props.onGestureRef(a0);
|
|
}
|
|
}
|
|
|
|
function updateAnimatedEventListener({nativeEvent}) { // fn#47683, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:1503, owner: DrawerLayout.updateAnimatedEvent.listener, offset: 0x011c8c52, size: 114 bytes, params: 2, frame: 13
|
|
const Math = global.Math;
|
|
const floor = Math.floor;
|
|
const Math2 = global.Math;
|
|
let value = Reflect.apply(floor, Math, [Math2.abs(nativeEvent.translationX)]);
|
|
const binding = env1_0;
|
|
value /= binding.state.containerWidth;
|
|
if (binding.props.onDrawerSlide != null) {
|
|
env1_0.props.onDrawerSlide(value);
|
|
}
|
|
}
|
|
|
|
function _fun47691(a0) { // fn#47691, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5579:3849, offset: 0x011c9272, size: 194 bytes, params: 2, frame: 16
|
|
var value;
|
|
var binding;
|
|
var resultBinding;
|
|
var props;
|
|
if (a0.finished) {
|
|
value = environment.__proto__;
|
|
binding = env1_0;
|
|
binding.emitStateChanged('Idle', result);
|
|
binding.setState({drawerOpened: result});
|
|
if (binding.state.drawerState !== 'Dragging') {
|
|
env1_0.setState({drawerState: 'Idle'});
|
|
}
|
|
resultBinding = result;
|
|
props = env1_0.props;
|
|
if (resultBinding) {
|
|
if (props.onDrawerOpen != null) {
|
|
env1_0.props.onDrawerOpen();
|
|
}
|
|
} else if (props.onDrawerClose != null) {
|
|
env1_0.props.onDrawerClose();
|
|
}
|
|
}
|
|
}
|
|
|