// Metro module 14038 (f14039). import { useState, useCallback } from "react"; import * as _ReanimatedRexport from "../../../reanimated/ReanimatedRexport"; import { useAnimatedStyle } from "../../../reanimated/ReanimatedRexport"; import * as _timing from "../../../../design/animation/reanimated/timing/timing"; const __initData = { code: "function useVisibilityTransitionTsx1(){const{withTiming,visibility,visible,entranceTiming,exitTiming,runOnJS,animationCallbackJSThread}=this.__closure;return{opacity:withTiming(visibility,visible?entranceTiming:exitTiming,'respect-motion-settings',function(){'worklet';runOnJS(animationCallbackJSThread)();})};}" }; const __initData2 = { code: "function useVisibilityTransitionTsx2(){const{runOnJS,animationCallbackJSThread}=this.__closure;runOnJS(animationCallbackJSThread)();}" }; export function useVisibilityTransition(a0) { let c20865_5; let visible2 = a0.visible; const visible = visible2; const { entranceTiming, exitTiming } = a0; c20865_5 = void 0; const [state, setState] = useState(false); const [state2, setState2] = useState(visible); if (state2 !== visible) { setState2(visible); if (!visible) { setState(true); } } const callback = useCallback(() => { setState(false); }, []); const visibility = visible ? 1 : 0; c20865_5 = visibility; const k = () => { const r6 = visible ? entranceTiming : exitTiming; const n = function n() { _ReanimatedRexport.runOnJS(callback)(); }; n.__closure = { runOnJS: _ReanimatedRexport.runOnJS, animationCallbackJSThread: callback }; n.__workletHash = 11904317879470; n.__initData = __initData2; return { opacity: _timing.withTiming(c20865_5, r6, "respect-motion-settings", n) }; }; k.__closure = { withTiming: _timing.withTiming, visibility, visible, entranceTiming, exitTiming, runOnJS: _ReanimatedRexport.runOnJS, animationCallbackJSThread: callback }; k.__workletHash = 12648900540770; k.__initData = __initData; const r46 = { opacityStyle: useAnimatedStyle(k), shouldRender: null }; if (!visible) { visible2 = state; } r46.shouldRender = visible2; return r46; }