// Metro module 1585 (f1586). import { createContext, useContext, useState, useCallback, forwardRef } from "react"; import { Dimensions, StyleSheet } from "react-native"; import { NativeSafeAreaProvider } from "./Module1586"; const context = createContext(null); const context2 = createContext(null); const styles = StyleSheet.create({ fill: { flex: 1 } }); let c1263_9 = "No safe area value available. Make sure you are rendering `` at the top of your app."; const Consumer = context.Consumer; export { context as SafeAreaInsetsContext }; export { context2 as SafeAreaFrameContext }; export function SafeAreaProvider(props) { const { children, initialMetrics, initialSafeAreaInsets, style, ...props2 } = props; const context3 = useContext(context); const context4 = useContext(context2); let r25 = initialMetrics?.insets; if (r25 == null) { r25 = initialSafeAreaInsets; } if (r25 == null) { r25 = context3; } if (r25 == null) { r25 = null; } const [value, setState] = useState(r25); let r33 = initialMetrics?.frame; if (r33 == null) { r33 = context4; } if (r33 == null) { r33 = { x: 0, y: 0, width: Dimensions.get("window").width, height: Dimensions.get("window").height }; } const [value2, setState2] = useState(r33); return { const { frame, insets } = nativeEvent; setState2((prevState2) => { let r5; L6: { if (frame) { const height2 = frame.height; const height = prevState2.height; r5 = frame; if (height2 !== height) { break L6; } const width = frame.width; const width2 = prevState2.width; r5 = frame; if (width !== width2) { break L6; } const r8 = frame.x; const r9 = prevState2.x; r5 = frame; if (r8 !== r9) { break L6; } r5 = frame.y === prevState2.y ? prevState2 : frame; } else { r5 = prevState2; } } return r5; }); setState((prevState) => prevState && (insets.bottom === prevState.bottom && (insets.left === prevState.left && (insets.right === prevState.right && insets.top === prevState.top))) ? prevState : insets); }, [])} {...props2}> {value != null ? {children} : null} ; } export function SafeAreaListener(props) { const { onChange, style, children, ...rest } = props; return { onChange({ insets: event.nativeEvent.insets, frame: event.nativeEvent.frame }); }}>{children}; } export function useSafeAreaInsets() { const context3 = useContext(context); if (context3 == null) { throw new Error(c1263_9); } return context3; } export function useSafeAreaFrame() { const context3 = useContext(context2); if (context3 == null) { throw new Error(c1263_9); } return context3; } export function withSafeAreaInsets(Component) { return forwardRef((a0, a1) => { const context3 = useContext(context); if (context3 == null) { throw new Error(c1263_9); } return ; }); } export function useSafeArea() { const context3 = useContext(context); if (context3 == null) { throw new Error(c1263_9); } return context3; } export { Consumer as SafeAreaConsumer }; export { context as SafeAreaContext };