react-native-reanimated-modal
Version:
A lightweight and performant modal component. Designed for smooth animations, flexibility, and minimal footprint.
60 lines • 2.82 kB
TypeScript
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