UNPKG

react-native-reanimated-modal

Version:

A lightweight and performant modal component. Designed for smooth animations, flexibility, and minimal footprint.

60 lines 2.82 kB
import type { ReactNode } from 'react'; import type { ModalAnimation, ModalAnimationConfigUnion, ModalSwipeConfig, ModalBackdropConfig, SwipeDirection, FadeAnimationConfig, SlideAnimationConfig, ScaleAnimationConfig } from './types'; import type { SpringConfig } from 'react-native-reanimated/lib/typescript/animation/spring'; /** * Default values and configurations. */ export declare const DEFAULT_MODAL_ANIMATION_DURATION = 300; export declare const DEFAULT_MODAL_SCALE_FACTOR = 0.8; export declare const DEFAULT_MODAL_SWIPE_THRESHOLD = 100; export declare const DEFAULT_MODAL_BOUNCE_OPACITY_THRESHOLD = 0.05; export declare const DEFAULT_MODAL_SWIPE_DIRECTION: SwipeDirection; /** * Default backdrop configuration. */ export declare const DEFAULT_MODAL_BACKDROP_CONFIG: ModalBackdropConfig; export declare const DEFAULT_MODAL_BOUNCE_SPRING_CONFIG: SpringConfig; /** * Default animation configurations. */ export declare const DEFAULT_MODAL_ANIMATION_CONFIGS: { readonly fade: FadeAnimationConfig; readonly slide: SlideAnimationConfig; readonly scale: ScaleAnimationConfig; }; /** * Default swipe configuration. */ export declare const DEFAULT_MODAL_SWIPE_CONFIG: ModalSwipeConfig; /** * Normalizes animation configuration by providing defaults for missing properties. * @param config - Partial animation configuration or animation type string. * @returns Complete animation configuration with defaults applied. */ export declare function normalizeAnimationConfig(config?: Partial<ModalAnimationConfigUnion> | ModalAnimation | undefined): ModalAnimationConfigUnion; /** * Normalizes backdrop configuration by providing defaults for missing properties. * @param backdrop - Backdrop configuration. * @returns Normalized backdrop information with enabled flag and config. */ export declare function normalizeBackdropConfig(backdrop?: ModalBackdropConfig | ReactNode | false): { enabled: boolean; isCustom: boolean; config: ModalBackdropConfig; customRenderer?: ReactNode; }; /** * Normalizes swipe configuration by providing defaults for missing properties. * @param config - Partial swipe configuration. * @returns Complete swipe configuration with defaults applied. */ export declare function normalizeSwipeConfig(config?: ModalSwipeConfig | false): ModalSwipeConfig; /** * Extracts swipe directions from swipe config or animation config fallback. */ export declare function getSwipeDirections(swipeConfig: ModalSwipeConfig, animationConfig?: ModalAnimationConfigUnion, fallback?: SwipeDirection | SwipeDirection[]): SwipeDirection[]; /** * Gets the slide-in direction from animation config. */ export declare function getSlideInDirection(animationConfig: ModalAnimationConfigUnion, fallback?: SwipeDirection): SwipeDirection; //# sourceMappingURL=config.d.ts.map