/* Metro module 8549; source: design/components/AnimatedEnterExitItem/native/AnimatedEnterExitItem.tsx; dependencies: [31, 33, 4017, 4508, 2] */ import * as FileImportTrackerModule from '../../../../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */ import * as ReactModule from '../../../../by-id/module-00031-React.js'; /* Metro dependency 31 */ import * as JsxRuntimeModule from '../../../../by-id/module-00033-JsxRuntime.js'; /* Metro dependency 33 */ import * as ReanimatedRexportModule from '../../../../modules/reanimated/ReanimatedRexport.tsx'; /* Metro dependency 4017 */ import * as TransitionGroupModule from '../../TransitionGroup/TransitionGroup.tsx'; /* Metro dependency 4508 */ function _fun67759(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#67759, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:6, offset: 0x01c2fc2b, size: 234 bytes, params: 8, frame: 18 const env0_0 = require; const renderAnimatedItem = function(a0, a1, a2, a3) { var r4; var createElementBinding = createElement; var object = {}; copyDataProperties(object, a1, r4); object['key'] = a0; object['state'] = a2; object['cleanUp'] = a3; return createElementBinding(AnimatedRenderItem, object); }; const Object = global.Object; Object.defineProperty(exports, '__esModule', {value: true}); object = {code: 'function AnimatedEnterExitItemTsx1(){const{useReducedMotion,shouldAnimate,state,TransitionStates,exiting,visible,runOnJS,cleanUp,entering}=this.__closure;var _shouldAnimate;if(useReducedMotion)return{};if(((_shouldAnimate=shouldAnimate)===null||_shouldAnimate===void 0?void 0:_shouldAnimate.get())===false)return{};if(state===TransitionStates.YEETED&&exiting!=null){return exiting(visible.get(),function(finished){if(finished){runOnJS(cleanUp)();}});}if(entering!=null){return entering(visible.get());}return{};}'}; object = {code: 'function AnimatedEnterExitItemTsx2(){const{state,TransitionStates,visible,hasExiting,useReducedMotion}=this.__closure;return state===TransitionStates.YEETED&&visible.get()===0&&(!hasExiting||useReducedMotion);}'}; object = {code: 'function AnimatedEnterExitItemTsx3(hasExited,previous){const{runOnJS,cleanUp}=this.__closure;if(!hasExited||hasExited===previous)return;runOnJS(cleanUp)();}'}; (FileImportTrackerModule).fileFinishedImporting('design/components/AnimatedEnterExitItem/native/AnimatedEnterExitItem.tsx'); exports.default = AnimatedEnterExitItem; function AnimatedRenderItem({renderItem, item, shouldAnimate, entering, exiting, state, cleanUp, useReducedMotion}) { // fn#67760, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:1076, offset: 0x01c2fd15, size: 536 bytes, params: 2, frame: 30 const exiting2 = exiting; const useSharedValue = ReanimatedRexportModule.useSharedValue; const TransitionStates = (TransitionGroupModule).TransitionStates; const MOUNTED = TransitionStates.MOUNTED; const value4 = Reflect.apply(useSharedValue, ReanimatedRexportModule, [state !== MOUNTED ? 0 : 1]); const env0_6 = value4; exiting2.useEffect(_fun67761, [state, value4]); const useAnimatedStyle = ReanimatedRexportModule.useAnimatedStyle; let closure = AnimatedRenderItemT; object = {useReducedMotion: useReducedMotion, shouldAnimate: shouldAnimate, state: state}; object.TransitionStates = TransitionStates; object.exiting = exiting; object.visible = value4; object.runOnJS = ReanimatedRexportModule.runOnJS; object.cleanUp = cleanUp; object.entering = entering; closure.__closure = object; closure.__workletHash = 2197269661090; closure.__initData = env0_6; const value5 = Reflect.apply(useAnimatedStyle, ReanimatedRexportModule, [closure]); const value6 = exiting != null; const env0_7 = value6; const useAnimatedReaction = ReanimatedRexportModule.useAnimatedReaction; closure = AnimatedRenderItemI; closure.__closure = {state: state, TransitionStates: TransitionStates, visible: value4, hasExiting: value6, useReducedMotion: useReducedMotion}; closure.__workletHash = 11984384474891; closure.__initData = env0_7; const AnimatedRenderItemV2 = AnimatedRenderItemV; AnimatedRenderItemV2.__closure = {runOnJS: ReanimatedRexportModule.runOnJS, cleanUp: cleanUp}; AnimatedRenderItemV2.__workletHash = 2105667466259; AnimatedRenderItemV2.__initData = env0_8; Reflect.apply(useAnimatedReaction, ReanimatedRexportModule, [closure, AnimatedRenderItemV2]); return ( <> {renderItem(item, value5)} ); function _fun67761() { // fn#67761, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:1285, offset: 0x01c2ff2d, size: 85 bytes, params: 1, frame: 13 const stateBinding = state; const TransitionStates = (TransitionGroupModule).TransitionStates; const YEETED = TransitionStates.YEETED; if (stateBinding === YEETED) { env0_6.set(0); } else { env0_6.set(1); } } function AnimatedRenderItemT() { // fn#67762, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:1394, owner: AnimatedRenderItem.T, offset: 0x01c2ff82, size: 177 bytes, params: 1, frame: 16 var environment; var r0; var stateBinding; var value4; var exitingBinding; var value; if (useReducedMotion) { r0 = {}; } else if (shouldAnimate?.get() === false) { r0 = {}; } else { stateBinding = state; value4 = environment.__proto__; if (stateBinding !== (require(4508) /* metro dependency 4508: TransitionGroup */).TransitionStates.YEETED) { r0 = entering != null ? entering(env0_6.get()) : {}; } else { exitingBinding = exiting; if (exitingBinding != null) { exitingBinding = exiting; value = env0_6.get(); value = exitingBinding(value, _fun67763); r0 = value; } else { r0 = entering != null ? entering(env0_6.get()) : {}; } } } return r0; function _fun67763(a0) { // fn#67763, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:1504, offset: 0x01c30033, size: 56 bytes, params: 2, frame: 12 var value; var runOnJS; var value2; if (a0) { value = environment.__proto__.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; runOnJS = value.runOnJS; value2 = environment.__proto__; Reflect.apply(runOnJS, value, [cleanUp])(); } } } function AnimatedRenderItemI() { // fn#67764, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:1819, owner: AnimatedRenderItem.I, offset: 0x01c3006b, size: 92 bytes, params: 1, frame: 13 const stateBinding = state; const TransitionStates = (TransitionGroupModule).TransitionStates; const YEETED = TransitionStates.YEETED; return stateBinding === YEETED && env0_6.get() === 0 && (env0_7 ? useReducedMotion : !env0_7); } function AnimatedRenderItemV(a0, a1) { // fn#67765, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:2038, owner: AnimatedRenderItem.v, offset: 0x01c300c7, size: 69 bytes, params: 3, frame: 12 var r0; let value = a0; if (value) { value = value !== a1; r0 = value; } else { r0 = value; } if (r0) { value = environment.__proto__; value = require(4017) /* metro dependency 4017: ReanimatedRexport */; value.runOnJS(cleanUp)(); } } } function AnimatedEnterExitItem({useReducedMotion, shouldAnimate, entering, exiting, item, renderItem}) { // fn#67767, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:8734:2416, offset: 0x01c30151, size: 172 bytes, params: 2, frame: 20 const value2 = entering.useMemo(function() { if (item != null) { return {shouldAnimate: shouldAnimate, entering: entering, exiting: exiting, renderItem: renderItem, item: item, useReducedMotion: useReducedMotion}; } }, [item, shouldAnimate, entering, exiting, renderItem, useReducedMotion]); const TransitionItem = (TransitionGroupModule).TransitionItem; return ; } } global.__d(_fun67759, 8549, [31, 33, 4017, 4508, 2]) /* metro module 8549, dependencies: [31, 33, 4017, 4508, 2] */;