/* Metro module 5433; source: unknown; dependencies: [29, 6, 7, 15, 17, 18, 31, 27, 33, 5434, 5435, 5318, 5431, 5436, 5444, 5445, 5446] */ function _fun47808(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#47808, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:6, offset: 0x011ce488, size: 542 bytes, params: 8, frame: 21 const env0_0 = require; const env0_3 = ['styleInterpolator', 'interpolationIndex', 'current', 'gesture', 'next', 'layout', 'insets', 'overlay', 'overlayEnabled', 'shadowEnabled', 'gestureEnabled', 'gestureDirection', 'pageOverflowEnabled', 'headerDarkContent', 'children', 'containerStyle', 'contentStyle']; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); const env0_4 = importDefault(29) /* metro dependency 29 */; const env0_5 = importDefault(6) /* metro dependency 6 */; const env0_6 = importDefault(7) /* metro dependency 7 */; const env0_7 = importDefault(15) /* metro dependency 15 */; const env0_8 = importDefault(17) /* metro dependency 17 */; const env0_9 = importDefault(18) /* metro dependency 18 */; let value = importAll(31) /* metro dependency 31 */; const value2 = require(27) /* metro dependency 27 */; const env0_11 = value2.Animated; const env0_12 = value2.InteractionManager; value2.Platform; const StyleSheet = value2.StyleSheet; const env0_14 = value2.View; const value3 = require(33) /* metro dependency 33 */; const env0_15 = value3.jsx; const env0_16 = value3.jsxs; const Component = value.Component; value = _fun47813(Component); value.defaultProps = {'shadowEnabled': false, 'gestureEnabled': true, 'gestureVelocityImpact': 0.3, overlay: overlay}; const env0_18 = StyleSheet.create({container: {flex: 1}, overlay: {'flex': 1, 'backgroundColor': '#000'}, shadow: {'position': 'absolute', 'shadowRadius': 5, 'shadowColor': '#000', 'shadowOpacity': 0.3}, shadowHorizontal: {'top': 0, 'bottom': 0, 'width': 3, shadowOffset: {'width': -1, 'height': 1}}, shadowLeft: {left: 0}, shadowRight: {right: 0}, shadowVertical: {'left': 0, 'right': 0, 'height': 3, shadowOffset: {'width': 1, 'height': -1}}, shadowTop: {top: 0}, shadowBottom: {bottom: 0}}); exports.default = value; exports.getIsModalPresentation = getIsModalPresentation; } function _isNativeReflectConstruct_47809() { // fn#47809, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:536, offset: 0x011ce6a6, 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_47809_isNativeReflectConstruct = function() { return !!result; })(); } function hasOpacityStyle(a0) { // fn#47812, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:766, offset: 0x011ce704, size: 43 bytes, params: 2, frame: 12 return a0 ? StyleSheet.flatten(a0).opacity != null : !!a0; } function _fun47813(a0) { // fn#47813, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:835, offset: 0x011ce72f, size: 162 bytes, params: 2, frame: 16 const closure = Card_47814; env0_9(closure, a0); return env0_6(closure, [{key: 'componentDidMount', value: function() { this.animate({closing: this.props.closing}); this.isCurrentlyMounted = true; }}, {key: 'componentDidUpdate', value: value_47826}, {key: 'componentWillUnmount', value: function() { this.props.gesture.stopAnimation(); this.isCurrentlyMounted = false; this.handleEndInteraction(); }}, {key: 'gestureActivationCriteria', value: value_47828}, {key: 'render', value: value_47829}]); } function overlay({style}) { // fn#47830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:6903, offset: 0x011cf6c6, size: 76 bytes, params: 2, frame: 16 return style ? : null; } function getIsModalPresentation(a0) { // fn#47831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:7435, offset: 0x011cf712, size: 56 bytes, params: 2, frame: 12 return a0 === (require(5446) /* metro dependency 5446 */).forModalPresentationIOS || a0.name === 'forModalPresentationIOS'; } function Card_47814() { // fn#47814, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:847, offset: 0x011ce7d1, size: 585 bytes, params: 1, frame: 22 var object2; var r3; var r7; var r0; var value7; var Reflect; var construct; let binding = env1_5; binding(this, Card_47814); const length = arguments.length; const Array = global.Array; const array = new Array(length); const value6 = 0; if (value6 < length) { r3 = value6; reducibleLoop1: while (true) { array[r3] = arguments[r3]; value7 = typeof r3 === 'bigint' ? r3 + 1n : +r3 + 1; if (value7 < length) { r3 = value7; continue reducibleLoop1; } break reducibleLoop1; } } const value8 = [].concat(array); const value9 = env1_8(Card_47814); binding = env1_7; if (_isNativeReflectConstruct_47809()) { Reflect = global.Reflect; construct = Reflect.construct; reducibleJoin6: while (true) { if (value8) { r7 = value8; break reducibleJoin6; } r7 = []; break reducibleJoin6; } r0 = Reflect.apply(construct, Reflect, [value9, r7, env1_8(this).constructor]); } else { r0 = value9.apply(this, value8); } const value12 = binding(this, r0); value12.isCurrentlyMounted = false; let Value = Animated.Value; const value13 = Object.create(Value.prototype, {constructor: {value: Value}}); const value14 = new Value(value6); value12.isClosing = value14 instanceof Object ? value14 : value13; Value = Animated.Value; const value16 = (importDefault(5434) /* metro dependency 5434 */)(value12.props.gestureDirection); const value17 = Object.create(Value.prototype, {constructor: {value: Value}}); const value18 = new Value(value16); value12.inverted = value18 instanceof Object ? value18 : value17; object2 = {}; Value = Animated.Value; const width = value12.props.layout.width; const value20 = Object.create(Value.prototype, {constructor: {value: Value}}); const value21 = new Value(width); object2.width = value21 instanceof Object ? value21 : value20; Value = Animated.Value; const height = value12.props.layout.height; const value23 = Object.create(Value.prototype, {constructor: {value: Value}}); const value24 = new Value(height); object2.height = value24 instanceof Object ? value24 : value23; value12.layout = object2; Value = Animated.Value; const value26 = Object.create(Value.prototype, {constructor: {value: Value}}); const value27 = new Value(value6); value12.isSwiping = value27 instanceof Object ? value27 : value26; value12.animate = animate_47815; value12.getAnimateToValue = getAnimateToValue; value12.setPointerEventsEnabled = setPointerEventsEnabled; value12.handleStartInteraction = handleStartInteraction; value12.handleEndInteraction = handleEndInteraction; value12.handleGestureStateChange = handleGestureStateChange; value12.getInterpolatedStyle = (importDefault(5431) /* metro dependency 5431 */)(function(a0, a1) { return a0(a1); }); value12.getCardAnimation = (importDefault(5431) /* metro dependency 5431 */)(_fun47824); value12.ref = env1_10.createRef(); return value12; } function value_47826(a0) { // fn#47826, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:3938, offset: 0x011cf017, size: 239 bytes, params: 2, frame: 17 var setValue; var inverted; var value; const {layout, gestureDirection, closing} = this.props; const width = layout.width; const height = layout.height; if (width !== a0.layout.width) { this.layout.width.setValue(width); } if (height !== a0.layout.height) { this.layout.height.setValue(height); } if (gestureDirection !== a0.gestureDirection) { inverted = this.inverted; setValue = inverted.setValue; value = environment.__proto__; Reflect.apply(setValue, inverted, [(importDefault(5434) /* metro dependency 5434 */)(gestureDirection)]); } let getAnimateToValue = this.getAnimateToValue; value = Reflect.apply(getAnimateToValue, this, [this.props]); getAnimateToValue = this.getAnimateToValue; if (!(Reflect.apply(getAnimateToValue, this, [a0]) === value && this.lastToValue === value)) { this.animate({closing: closing}); } } function value_47828() { // fn#47828, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:4531, offset: 0x011cf134, size: 266 bytes, params: 1, frame: 16 const {layout, gestureDirection, gestureResponseDistance} = this.props; const r3 = gestureResponseDistance !== undefined ? gestureResponseDistance : gestureDirection === 'vertical' ? 135 : gestureDirection !== 'vertical-inverted' ? 50 : 135; if (gestureDirection === 'vertical') { return {'maxDeltaX': 15, 'minOffsetY': 5, 'hitSlop': null, 'enableTrackpadTwoFingerGesture': true, hitSlop: {bottom: -layout.height + r3}}; } if (gestureDirection === 'vertical-inverted') { return {'maxDeltaX': 15, 'minOffsetY': -5, 'hitSlop': null, 'enableTrackpadTwoFingerGesture': true, hitSlop: {top: -layout.height + r3}}; } const value = -layout.width + r3; return (importDefault(5434) /* metro dependency 5434 */)(gestureDirection) === 1 ? {'minOffsetX': 5, 'maxDeltaY': 20, 'hitSlop': null, 'enableTrackpadTwoFingerGesture': true, hitSlop: {right: value}} : {'minOffsetX': -5, 'maxDeltaY': 20, 'hitSlop': null, 'enableTrackpadTwoFingerGesture': true, hitSlop: {left: value}}; } function value_47829() { // fn#47829, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:5166, offset: 0x011cf23e, size: 1160 bytes, params: 1, frame: 54 const props = this.props; const styleInterpolator = props.styleInterpolator; const interpolationIndex = props.interpolationIndex; const current = props.current; const gesture = props.gesture; const next = props.next; const layout = props.layout; const insets = props.insets; const overlay = props.overlay; const overlayEnabled = props.overlayEnabled; const shadowEnabled = props.shadowEnabled; const gestureEnabled = props.gestureEnabled; const gestureDirection = props.gestureDirection; const pageOverflowEnabled = props.pageOverflowEnabled; props.headerDarkContent; const children = props.children; const containerStyle = props.containerStyle; const contentStyle = props.contentStyle; const value = environment.__proto__; const binding = env1_4; const value2 = undefined; const value3 = binding(props, env1_3); const cardAnimation = this.getCardAnimation(interpolationIndex, current, next, layout, insets.top, insets.right, insets.bottom, insets.left); const interpolatedStyle = this.getInterpolatedStyle(styleInterpolator, cardAnimation); const containerStyle2 = interpolatedStyle.containerStyle; const cardStyle = interpolatedStyle.cardStyle; const overlayStyle = interpolatedStyle.overlayStyle; const shadowStyle = interpolatedStyle.shadowStyle; const r14 = gestureEnabled ? Animated.event([{nativeEvent: gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? {translationY: gesture} : {translationX: gesture}}], {useNativeDriver: true}) : value2; const backgroundColor = StyleSheet.flatten(contentStyle || ({})).backgroundColor; const r23 = typeof backgroundColor === 'string' && (importDefault(5436) /* metro dependency 5436 */)(backgroundColor).alpha() === 0; const Provider = (importDefault(5444) /* metro dependency 5444 */).Provider; const View2 = Animated.View; const view = ; const Object = global.Object; const assign = Object.assign; const value12 = null; const items3 = [overlayEnabled ? {overlay({style: overlayStyle})} : value12]; const View3 = Animated.View; const items4 = [env1_18.container, containerStyle2, containerStyle]; const PanGestureHandler = (require(5318) /* metro dependency 5318 */).PanGestureHandler; const Object2 = global.Object; const assign2 = Object2.assign; const object = {}; object.enabled = layout.width !== 0 && gestureEnabled; object.onGestureEvent = r14; object.onHandlerStateChange = this.handleGestureStateChange; const value15 = this.gestureActivationCriteria(); const object2 = {}; const View4 = Animated.View; object2.children = {shadowEnabled && shadowStyle ? r23 ? value12 : : value12}{((Component) => {children})(importDefault(5445) /* metro dependency 5445 */)}; items3[1] = ; return ( {null} {view} ); } function Card_47814Animate({closing, velocity}) { // fn#47815, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:1357, owner: Card_47814.animate, offset: 0x011cea1a, size: 379 bytes, params: 2, frame: 25 const env0_0 = closing; const props = env0_0.props; const gesture = props.gesture; const transitionSpec = props.transitionSpec; const env0_1 = props.onOpen; const env0_2 = props.onClose; const onTransition = props.onTransition; const binding = env0_0; const getAnimateToValue = binding.getAnimateToValue; let Object = global.Object; const value2 = Reflect.apply(getAnimateToValue, binding, [Object.assign({}, env0_0.props, {closing: closing})]); env0_0.lastToValue = value2; const isClosing = env0_0.isClosing; const setValue = isClosing.setValue; let r5 = closing ? 1 : 0; Reflect.apply(setValue, isClosing, [r5]); r5 = closing ? transitionSpec.close : transitionSpec.open; const r3 = r5.animation === 'spring' ? Animated.spring : Animated.timing; env0_0.setPointerEventsEnabled(!closing); env0_0.handleStartInteraction(); global.clearTimeout(env0_0.pendingGestureCallback); if (onTransition != null) { onTransition({closing: closing, gesture: velocity !== undefined}); } Object = global.Object; r3(gesture, Object.assign({}, r5.config, {velocity: velocity, toValue: value2, useNativeDriver: true, isInteraction: false})).start(_fun47816); } function getAnimateToValue({closing, layout, gestureDirection}) { // fn#47817, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:2056, owner: Card_47814.getAnimateToValue, offset: 0x011cec04, size: 59 bytes, params: 2, frame: 15 var r0; let value = 0; if (closing) { value = environment.__proto__.__proto__; value = (importDefault(5435) /* metro dependency 5435 */)(layout, gestureDirection); r0 = value; } else { r0 = value; } return r0; } function setPointerEventsEnabled(a0) { // fn#47818, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:2168, owner: Card_47814.setPointerEventsEnabled, offset: 0x011cec3f, size: 54 bytes, params: 2, frame: 11 const r2 = a0 ? 'box-none' : 'none'; const current = env0_0.ref.current; if (current != null) { current.setPointerEvents(r2); } } function handleStartInteraction() { // fn#47819, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:2281, owner: Card_47814.handleStartInteraction, offset: 0x011cec75, size: 48 bytes, params: 1, frame: 11 var binding; if (env0_0.interactionHandle === undefined) { binding = env0_0; value = environment.__proto__.__proto__; binding.interactionHandle = InteractionManager.createInteractionHandle(); } } function handleEndInteraction() { // fn#47820, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:2396, owner: Card_47814.handleEndInteraction, offset: 0x011ceca5, size: 59 bytes, params: 1, frame: 13 var value2; if (env0_0.interactionHandle !== undefined) { value2 = environment.__proto__.__proto__; InteractionManager.clearInteractionHandle(env0_0.interactionHandle); env0_0.interactionHandle = undefined; } } function handleGestureStateChange({nativeEvent}) { // fn#47821, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:2540, owner: Card_47814.handleGestureStateChange, offset: 0x011cece0, size: 599 bytes, params: 2, frame: 26 var r10; var r12; var r13; var r8; var r7; var width; var translationX; var velocityX; var height; var translationY; var velocityY; var binding; const props = env0_0.props; const layout = props.layout; var env0_0 = props.onClose; const onGestureBegin = props.onGestureBegin; const onGestureCanceled = props.onGestureCanceled; const onGestureEnd = props.onGestureEnd; const gestureDirection = props.gestureDirection; const gestureVelocityImpact = props.gestureVelocityImpact; const state = nativeEvent.state; const GestureState = (require(5318) /* metro dependency 5318 */).GestureState; const ACTIVE = GestureState.ACTIVE; if (ACTIVE === state) { env0_0.isSwiping.setValue(1); env0_0.handleStartInteraction(); if (onGestureBegin != null) { onGestureBegin(); } } else if (GestureState.CANCELLED === state) { env0_0.isSwiping.setValue(0); binding = env0_0; binding.handleEndInteraction(); r7 = gestureDirection === 'vertical' || gestureDirection === 'vertical-inverted' ? nativeEvent.velocityY : nativeEvent.velocityX; binding = env0_0; binding.animate({closing: env0_0.props.closing, velocity: r7}); if (onGestureCanceled != null) { onGestureCanceled(); } } else if (GestureState.END === state) { env0_0.isSwiping.setValue(0); if (gestureDirection === 'vertical') { height = layout.height; translationY = nativeEvent.translationY; velocityY = nativeEvent.velocityY; r10 = translationY; r12 = velocityY; r13 = height; } else if (gestureDirection === 'vertical-inverted') { height = layout.height; translationY = nativeEvent.translationY; velocityY = nativeEvent.velocityY; r10 = translationY; r12 = velocityY; r13 = height; } else { width = layout.width; translationX = nativeEvent.translationX; velocityX = nativeEvent.velocityX; r10 = translationX; r12 = velocityX; r13 = width; } r8 = (r10 + r12 * gestureVelocityImpact) * (importDefault(5434) /* metro dependency 5434 */)(gestureDirection) > r13 / 2 ? r12 !== 0 || r10 !== 0 : env0_0.props.closing; binding = env0_0; binding.animate({closing: r8, velocity: r12}); if (r8) { env0_0.pendingGestureCallback = global.setTimeout(_fun47822, 32); } if (onGestureEnd != null) { onGestureEnd(); } } } function _fun47824(a0, a1, a2, a3, a4, a5, a6, a7) { // fn#47824, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:3522, offset: 0x011cef57, size: 148 bytes, params: 9, frame: 4 const value = a2; return {index: a0, current: {progress: a1}, next: value && ({progress: value}), closing: env0_0.isClosing, swiping: env0_0.isSwiping, inverted: env0_0.inverted, layouts: {screen: a3}, insets: {top: a4, right: a5, bottom: a6, left: a7}}; } function _fun47816({finished}) { // fn#47816, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:1886, offset: 0x011ceb95, size: 111 bytes, params: 2, frame: 13 env1_0.handleEndInteraction(); global.clearTimeout(env1_0.pendingGestureCallback); if (finished) { if (closing) { onClose(); } else { onOpen(); } if (env1_0.isCurrentlyMounted) { env1_0.forceUpdate(); } } } function _fun47822() { // fn#47822, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:5611:3378, offset: 0x011cef37, size: 32 bytes, params: 1, frame: 10 onClose(); env1_0.forceUpdate(); }