/** * Auto-generated safe area implementation * Detected: react-native-safe-area-context * Generated at: 2025-12-06T15:55:51.394Z * * DO NOT EDIT - This file is generated by scripts/detect-safe-area.js * * This implementation uses SafeAreaInsetsContext directly with useContext() * instead of the useSafeAreaInsets() hook. This allows graceful fallback * when SafeAreaProvider is not present (useContext returns null instead of throwing). */ import { useContext } from "react"; import { SafeAreaInsetsContext } from "react-native-safe-area-context"; export interface NativeSafeAreaInsets { top: number; bottom: number; left: number; right: number; } export const safeAreaType: "native" | "pure-js" = "native"; export const hasSafeAreaPackage = true; /** * Hook that attempts to get native safe area insets. * Returns null if SafeAreaProvider is not present (no error thrown). * * Unlike useSafeAreaInsets() from react-native-safe-area-context which throws * when no provider is found, this uses useContext directly which returns null. */ export const useNativeSafeAreaInsets = (): NativeSafeAreaInsets | null => { // useContext returns null when no provider is present - no error! const insets = useContext(SafeAreaInsetsContext); return insets; };