{"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeScreens","_reactNativeReanimated","_interopRequireWildcard","_ReanimatedTransitionProgressContext","_reactNativeSafeAreaContext","_getDefaultHeaderHeight","_getStatusBarHeight","_ReanimatedHeaderHeightContext","_global","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","AnimatedScreen","Animated","createAnimatedComponent","InnerScreen","ENABLE_FABRIC","global","_IS_FABRIC","ReanimatedNativeStackScreen","React","forwardRef","props","ref","_rest$statusBarTransl","children","rest","stackPresentation","hasLargeHeader","dimensions","useSafeAreaFrame","topInset","useSafeAreaInsets","top","isStatusBarTranslucent","statusBarTranslucent","statusBarHeight","getStatusBarHeight","defaultHeaderHeight","getDefaultHeaderHeight","cachedHeaderHeight","useRef","headerHeight","useSharedValue","progress","closing","goingForward","createElement","onTransitionProgressReanimated","useEvent","event","value","Platform","OS","onHeaderHeightChangeReanimated","current","Provider","displayName","_default","exports"],"sources":["ReanimatedNativeStackScreen.tsx"],"sourcesContent":["import React from 'react';\nimport { Platform } from 'react-native';\nimport {\n HeaderHeightChangeEventType,\n InnerScreen,\n ScreenProps,\n TransitionProgressEventType,\n} from 'react-native-screens';\n\n// @ts-ignore file to be used only if `react-native-reanimated` available in the project\nimport Animated, { useEvent, useSharedValue } from 'react-native-reanimated';\nimport ReanimatedTransitionProgressContext from './ReanimatedTransitionProgressContext';\nimport {\n useSafeAreaFrame,\n useSafeAreaInsets,\n} from 'react-native-safe-area-context';\nimport getDefaultHeaderHeight from '../native-stack/utils/getDefaultHeaderHeight';\nimport getStatusBarHeight from '../native-stack/utils/getStatusBarHeight';\nimport ReanimatedHeaderHeightContext from './ReanimatedHeaderHeightContext';\n\nconst AnimatedScreen = Animated.createAnimatedComponent(\n InnerScreen as unknown as React.ComponentClass\n);\n\n// We use prop added to global by reanimated since it seems safer than the one from RN. See:\n// https://github.com/software-mansion/react-native-reanimated/blob/3fe8b35b05e82b2f2aefda1fb97799cf81e4b7bb/src/reanimated2/UpdateProps.ts#L46\n// @ts-expect-error nativeFabricUIManager is not yet included in the RN types\nconst ENABLE_FABRIC = !!global?._IS_FABRIC;\n\nconst ReanimatedNativeStackScreen = React.forwardRef<\n typeof AnimatedScreen,\n ScreenProps\n>((props, ref) => {\n const { children, ...rest } = props;\n const { stackPresentation = 'push', hasLargeHeader } = rest;\n\n const dimensions = useSafeAreaFrame();\n const topInset = useSafeAreaInsets().top;\n const isStatusBarTranslucent = rest.statusBarTranslucent ?? false;\n const statusBarHeight = getStatusBarHeight(\n topInset,\n dimensions,\n isStatusBarTranslucent\n );\n\n // Default header height, normally used in `useHeaderHeight` hook.\n // Here, it is used for returning a default value for shared value.\n const defaultHeaderHeight = getDefaultHeaderHeight(\n dimensions,\n statusBarHeight,\n stackPresentation,\n hasLargeHeader\n );\n\n const cachedHeaderHeight = React.useRef(defaultHeaderHeight);\n const headerHeight = useSharedValue(defaultHeaderHeight);\n\n const progress = useSharedValue(0);\n const closing = useSharedValue(0);\n const goingForward = useSharedValue(0);\n\n return (\n {\n 'worklet';\n progress.value = event.progress;\n closing.value = event.closing;\n goingForward.value = event.goingForward;\n },\n [\n // This should not be necessary, but is not properly managed by `react-native-reanimated`\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onTransitionProgress'\n : // for some reason there is a difference in required event name between architectures\n ENABLE_FABRIC\n ? 'onTransitionProgress'\n : 'topTransitionProgress',\n ]\n )}\n onHeaderHeightChangeReanimated={useEvent(\n (event: HeaderHeightChangeEventType) => {\n 'worklet';\n if (event.headerHeight !== cachedHeaderHeight.current) {\n headerHeight.value = event.headerHeight;\n cachedHeaderHeight.current = event.headerHeight;\n }\n },\n [\n // @ts-ignore wrong type\n Platform.OS === 'android'\n ? 'onHeaderHeightChange'\n : ENABLE_FABRIC\n ? 'onHeaderHeightChange'\n : 'topHeaderHeightChange',\n ]\n )}\n {...rest}>\n \n \n {children}\n \n \n \n );\n});\n\nReanimatedNativeStackScreen.displayName = 'ReanimatedNativeStackScreen';\n\nexport default ReanimatedNativeStackScreen;\n"],"mappings":"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"}