UNPKG

react-native-reanimated-modal

Version:

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

65 lines (54 loc) 1.58 kB
import type { ModalAnimationConfig, ModalSwipeConfig } from './types'; import { DEFAULT_MODAL_SCALE_FACTOR, DEFAULT_MODAL_SWIPE_THRESHOLD, DEFAULT_MODAL_BOUNCE_SPRING_CONFIG, } from './config'; /** * Examples of animation configurations */ // Fade animation configuration export const fadeAnimation: ModalAnimationConfig<'fade'> = { type: 'fade', duration: 400, }; export const slideAnimation: ModalAnimationConfig<'slide'> = { type: 'slide', duration: 500, direction: 'up', // Simple direction }; export const slideAnimationAdvanced: ModalAnimationConfig<'slide'> = { type: 'slide', duration: 600, direction: { start: 'down', // Slides in from bottom end: ['down', 'right'], // Can be dismissed by swiping down or right }, }; export const scaleAnimation: ModalAnimationConfig<'scale'> = { type: 'scale', duration: 350, scaleFactor: 0.7, // Starts from 70% size }; export const customScaleAnimation: ModalAnimationConfig<'scale'> = { type: 'scale', duration: 700, scaleFactor: DEFAULT_MODAL_SCALE_FACTOR, // Use default scale factor }; /** * Examples of swipe configurations */ export const basicSwipeConfig: ModalSwipeConfig = { enabled: true, threshold: DEFAULT_MODAL_SWIPE_THRESHOLD, }; export const advancedSwipeConfig: ModalSwipeConfig = { enabled: true, threshold: 80, directions: ['up', 'down'], // Can be dismissed by swiping up or down bounceSpringConfig: DEFAULT_MODAL_BOUNCE_SPRING_CONFIG, bounceOpacityThreshold: 0.1, }; export const disabledSwipeConfig: ModalSwipeConfig = { enabled: false, };