"use strict"; 'use client'; Object.defineProperty(exports, "__esModule", { value: true }); exports.usePreventZoomTransitionDismissal = usePreventZoomTransitionDismissal; /** * Limits the screen area where interactive dismissal gestures are allowed for zoom transitions. * * This hook must be called from the destination screen of a zoom transition (the screen you navigate to, not the source). * It restricts where app users can start swipe gestures to dismiss the screen and return to the previous screen. * * When a dismissal gesture starts inside the bounds, the screen can be dismissed. When a dismissal gesture starts outside * the bounds, dismissal is blocked completely. Undefined coordinates place no restriction on that dimension. * * > **Note**: Only one instance of this hook should be used per screen. If multiple instances exist, the last one to render will take effect. * * @example * ```tsx * // In your destination screen (e.g., app/image.tsx) * import { usePreventZoomTransitionDismissal } from 'expo-router'; * import { useWindowDimensions } from 'react-native'; * import { Image } from 'expo-image'; * * export default function ImageScreen() { * const dimensions = useWindowDimensions(); * // Only allow dismissal from the bottom 200px of the screen * usePreventZoomTransitionDismissal({ * unstable_dismissalBoundsRect: { * minY: dimensions.height - 200 * } * }); * * return ; * } * ``` * * @platform ios */ function usePreventZoomTransitionDismissal(_options) { // No-op on non-iOS platforms } //# sourceMappingURL=usePreventZoomTransitionDismissal.js.map