// Metro module 15021 (f15022). import { useState } from "react"; import { StyleSheet } from "react-native"; import Module38 from "../../../_bundle/Module38"; import { ScreenContainer, Screen } from "../../../_bundle/Module4536"; import { createStyles } from "../../../design/components/Styles/native/createStyles"; const useStyles = createStyles({ screens: { flex: 1, overflow: "hidden" } }); export function NativeFreezeScreens(props) { const { children, activeIndex, detachInactiveScreens = true } = props; const enabled = detachInactiveScreens; let lazy = props.lazy; if (lazy === void 0) { lazy = true; } let c21532_2 = lazy; let unmountOnBlur = props.unmountOnBlur; if (unmountOnBlur === void 0) { unmountOnBlur = false; } let c21532_3 = unmountOnBlur; let freezeOnBlur2 = props.freezeOnBlur; if (freezeOnBlur2 === void 0) { freezeOnBlur2 = true; } const freezeOnBlur = freezeOnBlur2; let preloadIndices = props.preloadIndices; if (preloadIndices === void 0) { preloadIndices = []; } let c21532_5 = preloadIndices; const styles = useStyles(); Module38(activeIndex >= 0 && activeIndex < (Array.isArray(children) ? children.length : 1), "NativeFreezeScreens: invalid activeIndex"); const [state, setState] = useState([activeIndex]); if (!state.includes(activeIndex)) { setState([...state, activeIndex]); } return {(Array.isArray(children) ? children : [children]).map((item, index) => { const r4 = activeIndex === index; if (c21532_3 && !r4) { return null; } if (c21532_2 && !state.includes(index) && !r4 && !c21532_5.includes(index)) { return null; } return {item} ; })} ; }