546 lines
20 KiB
JavaScript
546 lines
20 KiB
JavaScript
// Module ID: 5297
|
|
// Function ID: 45746
|
|
// Name: _isNativeReflectConstruct
|
|
// Dependencies: [6, 7, 15, 17, 18, 31, 27, 33, 5222, 44, 5235, 5247]
|
|
|
|
// Module 5297 (_isNativeReflectConstruct)
|
|
import getActivityIndicator from "get ActivityIndicator";
|
|
import closure_4 from "jsxProd";
|
|
import _possibleConstructorReturn from "_possibleConstructorReturn";
|
|
import _getPrototypeOf from "_getPrototypeOf";
|
|
import _inherits from "_inherits";
|
|
import result from "result";
|
|
import get_ActivityIndicator from "get ActivityIndicator";
|
|
import jsxProd from "jsxProd";
|
|
|
|
let StyleSheet;
|
|
let closure_10;
|
|
let closure_11;
|
|
let closure_12;
|
|
let closure_13;
|
|
let closure_14;
|
|
let closure_15;
|
|
let closure_9;
|
|
const require = arg1;
|
|
function _isNativeReflectConstruct() {
|
|
let closure_0 = !valueOf.call(Reflect.construct(Boolean, [], () => {
|
|
|
|
}));
|
|
function _isNativeReflectConstruct() {
|
|
return closure_0;
|
|
}
|
|
const result = _isNativeReflectConstruct();
|
|
}
|
|
({ Animated: closure_9, StyleSheet, View: closure_10, Keyboard: closure_11, StatusBar: closure_12, I18nManager: closure_13 } = get_ActivityIndicator);
|
|
({ jsx: closure_14, jsxs: closure_15 } = jsxProd);
|
|
let tmp4 = ((Component) => {
|
|
class DrawerLayout {
|
|
constructor(arg0) {
|
|
self = this;
|
|
tmp = outer1_3(this, apply);
|
|
items = [];
|
|
items[0] = Component;
|
|
obj = outer1_6(apply);
|
|
tmp2 = outer1_5;
|
|
if (outer1_17()) {
|
|
tmp4 = globalThis;
|
|
_Reflect = Reflect;
|
|
tmp5 = outer1_6;
|
|
constructResult = Reflect.construct(obj, items, outer1_6(self).constructor);
|
|
} else {
|
|
constructResult = obj.apply(self, items);
|
|
}
|
|
tmp2Result = tmp2(self, constructResult);
|
|
apply = tmp2Result;
|
|
tmp2Result.accessibilityIsModalView = outer1_8.createRef();
|
|
tmp2Result.pointerEventsView = outer1_8.createRef();
|
|
tmp2Result.panGestureHandler = outer1_8.createRef();
|
|
tmp2Result.drawerShown = false;
|
|
tmp2Result.updateAnimatedEvent = (drawerWidth, drawerTranslation) => {
|
|
let add;
|
|
let containerWidth;
|
|
let dragX;
|
|
let multiply;
|
|
let touchX;
|
|
drawerWidth = drawerWidth.drawerWidth;
|
|
({ dragX, touchX, containerWidth } = drawerTranslation);
|
|
if ("left" !== drawerWidth.drawerPosition) {
|
|
const Value = outer2_9.Value;
|
|
const prototype = Value.prototype;
|
|
const value = new Value(-1);
|
|
let multiplyResult = outer2_9.multiply(value, dragX);
|
|
const Value2 = outer2_9.Value;
|
|
const prototype2 = Value2.prototype;
|
|
const value2 = new Value2(containerWidth);
|
|
const Value3 = outer2_9.Value;
|
|
const prototype3 = Value3.prototype;
|
|
const value3 = new Value3(-1);
|
|
let addResult = outer2_9.add(value2, outer2_9.multiply(value3, touchX));
|
|
touchX.setValue(containerWidth);
|
|
} else {
|
|
touchX.setValue(0);
|
|
multiplyResult = dragX;
|
|
addResult = touchX;
|
|
}
|
|
let addResult2 = multiplyResult;
|
|
if ("front" === drawerWidth.drawerType) {
|
|
const Value4 = outer2_9.Value;
|
|
const prototype4 = Value4.prototype;
|
|
({ add, multiply } = outer2_9);
|
|
const value4 = new Value4(-1);
|
|
let obj = {};
|
|
const items = [drawerWidth - 1, drawerWidth, drawerWidth + 1];
|
|
obj.inputRange = items;
|
|
obj.outputRange = [0, 0, 1];
|
|
addResult2 = outer2_9.add(multiplyResult, add(addResult, multiply(value4, multiplyResult)).interpolate(obj));
|
|
const addResult1 = add(addResult, multiply(value4, multiplyResult));
|
|
}
|
|
const items1 = [0, drawerWidth];
|
|
tmp2Result.openValue = outer2_9.add(addResult2, drawerTranslation.drawerTranslation).interpolate({ inputRange: items1, outputRange: [0, 1], extrapolate: "clamp" });
|
|
obj = { useNativeDriver: drawerWidth.useNativeAnimations };
|
|
if (tmp2Result.props.onDrawerSlide) {
|
|
obj.listener = (arg0) => {
|
|
if (null != outer1_0.props.onDrawerSlide) {
|
|
const props = outer1_0.props;
|
|
props.onDrawerSlide(tmp);
|
|
}
|
|
};
|
|
}
|
|
const items2 = [{ nativeEvent: { translationX: dragX, x: touchX } }];
|
|
tmp2Result.onGestureEvent = outer2_9.event(items2, obj);
|
|
};
|
|
tmp2Result.handleContainerLayout = (containerWidth) => {
|
|
tmp2Result.setState({ containerWidth: containerWidth.nativeEvent.layout.width });
|
|
};
|
|
tmp2Result.emitStateChanged = (arg0, arg1) => {
|
|
if (null != tmp2Result.props.onDrawerStateChanged) {
|
|
const props = tmp2Result.props;
|
|
props.onDrawerStateChanged(arg0, arg1);
|
|
}
|
|
};
|
|
tmp2Result.openingHandlerStateChange = (nativeEvent) => {
|
|
nativeEvent = nativeEvent.nativeEvent;
|
|
if (nativeEvent.oldState === DrawerLayout(outer2_2[8]).State.ACTIVE) {
|
|
let obj = { nativeEvent };
|
|
tmp2Result.handleRelease(obj);
|
|
} else if (nativeEvent.state === DrawerLayout(outer2_2[8]).State.ACTIVE) {
|
|
tmp2Result.emitStateChanged("Dragging", false);
|
|
obj = { drawerState: "Dragging" };
|
|
tmp2Result.setState(obj);
|
|
if ("on-drag" === tmp2Result.props.keyboardDismissMode) {
|
|
outer2_11.dismiss();
|
|
}
|
|
if (tmp2Result.props.hideStatusBar) {
|
|
let str = tmp2Result.props.statusBarAnimation;
|
|
if (!str) {
|
|
str = "slide";
|
|
}
|
|
outer2_12.setHidden(true, str);
|
|
}
|
|
}
|
|
};
|
|
tmp2Result.onTapHandlerStateChange = (nativeEvent) => {
|
|
let drawerShown = tmp2Result.drawerShown;
|
|
if (drawerShown) {
|
|
drawerShown = nativeEvent.nativeEvent.oldState === DrawerLayout(outer2_2[8]).State.ACTIVE;
|
|
}
|
|
if (drawerShown) {
|
|
drawerShown = "locked-open" !== tmp2Result.props.drawerLockMode;
|
|
}
|
|
if (drawerShown) {
|
|
tmp2Result.closeDrawer();
|
|
}
|
|
};
|
|
tmp2Result.handleRelease = (nativeEvent) => {
|
|
let translationX;
|
|
let velocityX;
|
|
let x;
|
|
const props = tmp2Result.props;
|
|
const drawerWidth = props.drawerWidth;
|
|
({ translationX, velocityX, x } = nativeEvent.nativeEvent);
|
|
let tmp2 = translationX;
|
|
let tmp3 = velocityX;
|
|
let diff = x;
|
|
if ("left" !== props.drawerPosition) {
|
|
tmp2 = -translationX;
|
|
diff = tmp - x;
|
|
tmp3 = -velocityX;
|
|
}
|
|
const diff1 = diff - tmp2;
|
|
let num = 0;
|
|
if ("front" === props.drawerType) {
|
|
let num2 = 0;
|
|
if (diff1 > drawerWidth) {
|
|
num2 = diff1 - drawerWidth;
|
|
}
|
|
num = num2;
|
|
}
|
|
let num3 = 0;
|
|
const sum = tmp2 + num;
|
|
if (tmp2Result.drawerShown) {
|
|
num3 = drawerWidth;
|
|
}
|
|
const sum1 = sum + num3;
|
|
if (sum1 + 0.05 * tmp3 > drawerWidth / 2) {
|
|
tmp2Result.animateDrawer(sum1, drawerWidth, tmp3);
|
|
} else {
|
|
tmp2Result.animateDrawer(sum1, 0, tmp3);
|
|
}
|
|
};
|
|
tmp2Result.updateShowing = (drawerShown) => {
|
|
tmp2Result.drawerShown = drawerShown;
|
|
const current = tmp2Result.accessibilityIsModalView.current;
|
|
if (null != current) {
|
|
let obj = { accessibilityViewIsModal: drawerShown };
|
|
current.setNativeProps(obj);
|
|
}
|
|
const current2 = tmp2Result.pointerEventsView.current;
|
|
if (null != current2) {
|
|
obj = {};
|
|
let str = "none";
|
|
if (drawerShown) {
|
|
str = "auto";
|
|
}
|
|
obj.pointerEvents = str;
|
|
current2.setNativeProps(obj);
|
|
}
|
|
const props = tmp2Result.props;
|
|
const edgeWidth = props.edgeWidth;
|
|
let num = -1;
|
|
if ("left" === props.drawerPosition) {
|
|
num = 1;
|
|
}
|
|
let num2 = 1;
|
|
if (tmp2Result.drawerShown) {
|
|
num2 = -1;
|
|
}
|
|
obj = {};
|
|
if ("left" === props.drawerPosition) {
|
|
obj.left = 0;
|
|
let tmp6;
|
|
if (!drawerShown) {
|
|
tmp6 = edgeWidth;
|
|
}
|
|
obj.width = tmp6;
|
|
let tmp5 = obj;
|
|
} else {
|
|
obj.right = 0;
|
|
let tmp4;
|
|
if (!drawerShown) {
|
|
tmp4 = edgeWidth;
|
|
}
|
|
obj.width = tmp4;
|
|
tmp5 = obj;
|
|
}
|
|
const current3 = tmp2Result.panGestureHandler.current;
|
|
if (null != current3) {
|
|
const obj1 = { hitSlop: tmp5, activeOffsetX: num * num2 * props.minSwipeDistance };
|
|
current3.setNativeProps(obj1);
|
|
}
|
|
};
|
|
tmp2Result.animateDrawer = (arg0, toValue, velocity) => {
|
|
const dragX = tmp2Result.state.dragX;
|
|
dragX.setValue(0);
|
|
const touchX = tmp2Result.state.touchX;
|
|
let num = 0;
|
|
if ("left" !== tmp2Result.props.drawerPosition) {
|
|
num = tmp2Result.state.containerWidth;
|
|
}
|
|
touchX.setValue(num);
|
|
if (null != arg0) {
|
|
if (!tmp2Result.props.useNativeAnimations) {
|
|
const drawerTranslation = tmp2Result.state.drawerTranslation;
|
|
drawerTranslation.setValue(arg0);
|
|
} else {
|
|
if (arg0 >= toValue) {
|
|
let bound = arg0;
|
|
if (tmp4) {
|
|
const _Math = Math;
|
|
bound = Math.max(arg0 + velocity / 60, toValue);
|
|
}
|
|
tmp4 = arg0 > toValue && velocity < 0;
|
|
}
|
|
const _Math2 = Math;
|
|
bound = Math.min(arg0 + velocity / 60, toValue);
|
|
}
|
|
}
|
|
0 !== toValue.updateShowing(0 !== toValue);
|
|
0 !== toValue.emitStateChanged("Settling", 0 !== toValue);
|
|
0 !== toValue.setState({ drawerState: "Settling" });
|
|
if (0 !== toValue.props.hideStatusBar) {
|
|
let str = tmp2Result.props.statusBarAnimation;
|
|
if (!str) {
|
|
str = "slide";
|
|
}
|
|
outer2_12.setHidden(tmp11, str);
|
|
}
|
|
let obj = { velocity, bounciness: 0, toValue, useNativeDriver: 0 !== toValue.props.useNativeAnimations };
|
|
let tmp19;
|
|
if (null != arg3) {
|
|
tmp19 = arg3;
|
|
}
|
|
obj.speed = tmp19;
|
|
outer2_9.spring(0 !== toValue.state.drawerTranslation, obj).start((finished) => {
|
|
if (finished.finished) {
|
|
tmp11.emitStateChanged("Idle", tmp11);
|
|
let obj = { drawerOpened: tmp11 };
|
|
tmp11.setState(obj);
|
|
if (tmp11.state.drawerState !== "Dragging") {
|
|
obj = { drawerState: "Idle" };
|
|
tmp11.setState(obj);
|
|
}
|
|
const props = tmp11.props;
|
|
if (tmp11) {
|
|
if (null != props.onDrawerOpen) {
|
|
const props3 = tmp11.props;
|
|
props3.onDrawerOpen();
|
|
}
|
|
} else if (null != props.onDrawerClose) {
|
|
const props2 = tmp11.props;
|
|
props2.onDrawerClose();
|
|
}
|
|
}
|
|
});
|
|
};
|
|
tmp2Result.openDrawer = () => {
|
|
if (arguments.length > 0) {
|
|
if (undefined !== arguments[0]) {
|
|
let first = arguments[0];
|
|
}
|
|
const drawerWidth = tmp2Result.props.drawerWidth;
|
|
let num = 0;
|
|
if (first.velocity) {
|
|
num = first.velocity;
|
|
}
|
|
tmp2Result.animateDrawer(undefined, drawerWidth, num, first.speed);
|
|
tmp2Result.forceUpdate();
|
|
}
|
|
first = {};
|
|
};
|
|
tmp2Result.closeDrawer = () => {
|
|
if (arguments.length > 0) {
|
|
if (undefined !== arguments[0]) {
|
|
let first = arguments[0];
|
|
}
|
|
let num = 0;
|
|
if (first.velocity) {
|
|
num = first.velocity;
|
|
}
|
|
tmp2Result.animateDrawer(undefined, 0, num, first.speed);
|
|
tmp2Result.forceUpdate();
|
|
}
|
|
first = {};
|
|
};
|
|
tmp2Result.renderOverlay = () => {
|
|
outer2_1(outer2_2[9])(tmp2Result.openValue, "should be set");
|
|
let obj = {};
|
|
if (tmp2Result.state.drawerState !== "Idle") {
|
|
let num = tmp2Result.openValue;
|
|
} else {
|
|
num = 0;
|
|
if (tmp2Result.state.drawerOpened) {
|
|
num = 1;
|
|
}
|
|
}
|
|
obj.opacity = num;
|
|
obj.backgroundColor = tmp2Result.props.overlayColor;
|
|
obj = { onHandlerStateChange: tmp2Result.onTapHandlerStateChange };
|
|
obj = {};
|
|
let str = "none";
|
|
if (tmp2Result.drawerShown) {
|
|
str = "auto";
|
|
}
|
|
obj.pointerEvents = str;
|
|
obj.ref = tmp2Result.pointerEventsView;
|
|
const items = [outer2_16.overlay, obj];
|
|
obj.style = items;
|
|
obj.children = outer2_14(outer2_9.View, obj);
|
|
return outer2_14(DrawerLayout(outer2_2[10]).TapGestureHandler, obj);
|
|
};
|
|
tmp2Result.renderDrawer = () => {
|
|
let View;
|
|
let View2;
|
|
let contentContainerStyle;
|
|
let drawerBackgroundColor;
|
|
let drawerContainerStyle;
|
|
let drawerType;
|
|
let drawerWidth;
|
|
const props = tmp2Result.props;
|
|
({ drawerWidth, drawerType } = props);
|
|
let tmp2 = tmp;
|
|
({ drawerBackgroundColor, drawerContainerStyle, contentContainerStyle } = props);
|
|
if (!outer2_13.isRTL) {
|
|
tmp2 = !tmp;
|
|
}
|
|
const openValue = tmp2Result.openValue;
|
|
outer2_1(outer2_2[9])(openValue, "should be set");
|
|
if ("front" === drawerType) {
|
|
if ("back" === drawerType) {
|
|
let obj = {};
|
|
obj = { translateX: 0 };
|
|
const items = [obj];
|
|
obj.transform = items;
|
|
let str5 = "row";
|
|
if (tmp2) {
|
|
str5 = "row-reverse";
|
|
}
|
|
obj.flexDirection = str5;
|
|
const obj1 = { style: outer2_16.main, onLayout: tmp2Result.handleContainerLayout };
|
|
const obj2 = {};
|
|
({ View, View: View2 } = outer2_9);
|
|
if ("front" === drawerType) {
|
|
let containerInFront = outer2_16.containerOnBack;
|
|
} else {
|
|
containerInFront = outer2_16.containerInFront;
|
|
}
|
|
const items1 = [containerInFront, undefined, contentContainerStyle];
|
|
obj2.style = items1;
|
|
let str6 = "yes";
|
|
if (tmp2Result.drawerShown) {
|
|
str6 = "no-hide-descendants";
|
|
}
|
|
obj2.importantForAccessibility = str6;
|
|
if ("function" === typeof tmp2Result.props.children) {
|
|
const props2 = tmp2Result.props;
|
|
let children = props2.children(tmp2Result.openValue);
|
|
} else {
|
|
children = tmp2Result.props.children;
|
|
}
|
|
const items2 = [children, tmp2Result.renderOverlay()];
|
|
obj2.children = items2;
|
|
const items3 = [outer2_15(View2, obj2), ];
|
|
const obj3 = { pointerEvents: "box-none" };
|
|
({ accessibilityIsModalView: obj8.ref, drawerShown: obj8.accessibilityViewIsModal } = tmp2Result);
|
|
const items4 = [outer2_16.drawerContainer, obj, drawerContainerStyle];
|
|
obj3.style = items4;
|
|
const obj4 = { style: { backgroundColor: drawerBackgroundColor, width: drawerWidth } };
|
|
const props3 = tmp2Result.props;
|
|
obj4.children = props3.renderNavigationView(tmp2Result.openValue);
|
|
obj3.children = outer2_14(outer2_10, obj4);
|
|
items3[1] = outer2_14(outer2_9.View, obj3);
|
|
obj1.children = items3;
|
|
return outer2_15(View, obj1);
|
|
} else {
|
|
let tmp6 = drawerWidth;
|
|
if (tmp) {
|
|
tmp6 = -drawerWidth;
|
|
}
|
|
if (tmp2Result.state.drawerState !== "Idle") {
|
|
const obj5 = { inputRange: [0, 1] };
|
|
const items5 = [tmp6, 0];
|
|
obj5.outputRange = items5;
|
|
obj5.extrapolate = "clamp";
|
|
let num3 = openValue.interpolate(obj5);
|
|
} else {
|
|
num3 = 0;
|
|
if (!tmp2Result.state.drawerOpened) {
|
|
num3 = tmp6;
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
obj = {};
|
|
const obj6 = {};
|
|
let obj7 = { inputRange: [0, 1] };
|
|
const items6 = [0];
|
|
if (tmp) {
|
|
items6[1] = drawerWidth;
|
|
let tmp4 = items6;
|
|
} else {
|
|
items6[1] = -drawerWidth;
|
|
tmp4 = items6;
|
|
}
|
|
obj7.outputRange = tmp4;
|
|
obj7.extrapolate = "clamp";
|
|
obj6.translateX = openValue.interpolate(obj7);
|
|
obj7 = [obj6];
|
|
obj.transform = obj7;
|
|
}
|
|
};
|
|
tmp2Result.setPanGestureRef = (current) => {
|
|
tmp2Result.panGestureHandler.current = current;
|
|
if (null != tmp2Result.props.onGestureRef) {
|
|
const props = tmp2Result.props;
|
|
props.onGestureRef(current);
|
|
}
|
|
};
|
|
value = new outer1_9.Value(0);
|
|
value1 = new outer1_9.Value(0);
|
|
value2 = new outer1_9.Value(0);
|
|
obj = { dragX: null, touchX: null, drawerTranslation: null, containerWidth: 0, drawerState: "Idle", drawerOpened: false };
|
|
obj.dragX = value;
|
|
obj.touchX = value1;
|
|
obj.drawerTranslation = value2;
|
|
tmp2Result.state = obj;
|
|
updateAnimatedEventResult = tmp2Result.updateAnimatedEvent(Component, tmp2Result.state);
|
|
return tmp2Result;
|
|
}
|
|
}
|
|
callback2(DrawerLayout, Component);
|
|
let obj = {
|
|
key: "shouldComponentUpdate",
|
|
value: function shouldComponentUpdate(drawerPosition, containerWidth) {
|
|
const self = this;
|
|
if (!tmp) {
|
|
self.updateAnimatedEvent(drawerPosition, containerWidth);
|
|
}
|
|
return true;
|
|
}
|
|
};
|
|
let items = [obj, ];
|
|
obj = {
|
|
key: "render",
|
|
value: function render() {
|
|
let drawerLockMode;
|
|
let edgeWidth;
|
|
const self = this;
|
|
const props = this.props;
|
|
({ drawerLockMode, edgeWidth } = props);
|
|
let num = -1;
|
|
if ("left" === props.drawerPosition) {
|
|
num = 1;
|
|
}
|
|
let num2 = 1;
|
|
if (self.drawerShown) {
|
|
num2 = -1;
|
|
}
|
|
let obj = {};
|
|
if ("left" === props.drawerPosition) {
|
|
obj.left = 0;
|
|
let tmp4;
|
|
if (!self.drawerShown) {
|
|
tmp4 = edgeWidth;
|
|
}
|
|
obj.width = tmp4;
|
|
let tmp3 = obj;
|
|
} else {
|
|
obj.right = 0;
|
|
let tmp2;
|
|
if (!self.drawerShown) {
|
|
tmp2 = edgeWidth;
|
|
}
|
|
obj.width = tmp2;
|
|
tmp3 = obj;
|
|
}
|
|
obj = { userSelect: self.props.userSelect, activeCursor: self.props.activeCursor, mouseButton: self.props.mouseButton, enableContextMenu: self.props.enableContextMenu, ref: self.setPanGestureRef, hitSlop: tmp3, activeOffsetX: num * num2 * props.minSwipeDistance };
|
|
const items = [-15, 15];
|
|
obj.failOffsetY = items;
|
|
({ onGestureEvent: obj2.onGestureEvent, openingHandlerStateChange: obj2.onHandlerStateChange } = self);
|
|
obj.enableTrackpadTwoFingerGesture = self.props.enableTrackpadTwoFingerGesture;
|
|
let tmp6 = "locked-closed" !== drawerLockMode;
|
|
if (tmp6) {
|
|
tmp6 = "locked-open" !== drawerLockMode;
|
|
}
|
|
obj.enabled = tmp6;
|
|
obj.children = self.renderDrawer();
|
|
return outer1_14(DrawerLayout(outer1_2[11]).PanGestureHandler, obj);
|
|
}
|
|
};
|
|
items[1] = obj;
|
|
return callback(DrawerLayout, items);
|
|
})(require("result").Component);
|
|
tmp4.defaultProps = { drawerWidth: 200, drawerPosition: "left", useNativeAnimations: true, drawerType: "front", edgeWidth: 20, minSwipeDistance: 3, overlayColor: "rgba(0, 0, 0, 0.7)", drawerLockMode: "unlocked", enableTrackpadTwoFingerGesture: false };
|
|
tmp4.positions = { Left: "left", Right: "right" };
|
|
const styles = StyleSheet.create({ drawerContainer: Object.assign({}, StyleSheet.absoluteFillObject, { zIndex: 1001, flexDirection: "row" }), containerInFront: Object.assign({}, StyleSheet.absoluteFillObject, { zIndex: 1002 }), containerOnBack: Object.assign({}, StyleSheet.absoluteFillObject), main: { flex: 1, zIndex: 0, overflow: "hidden" }, overlay: Object.assign({}, StyleSheet.absoluteFillObject, { zIndex: 1000 }) });
|
|
|
|
export default tmp4;
|