UNPKG

react-native-zoom-toolkit

Version:

Smoothly zoom any image, video or component you want!

38 lines 1.65 kB
/// <reference types="react" /> import type { ViewStyle } from 'react-native'; import { PinchCenteringMode } from '../../commons/types'; import type { PanGestureCallbacks, PinchGestureCallbacks, SizeVector, SwipeDirection, TapGestureEvent, ZoomEventCallbacks } from '../../commons/types'; import type { ResumableZoomState } from '../resumable/types'; export type GalleryTransitionState = { index: number; activeIndex: number; vertical: boolean; isScrolling: boolean; scroll: number; gallerySize: SizeVector<number>; }; export type GalleryTransitionCallback = (options: GalleryTransitionState) => ViewStyle; export type GalleryProps<T = unknown> = { data: T[]; renderItem: (item: T, index: number) => React.ReactElement; keyExtractor?: (item: T, index: number) => string; maxScale?: number | SizeVector<number>[]; initialIndex?: number; windowSize?: number; vertical?: boolean; tapOnEdgeToItem?: boolean; allowPinchPanning?: boolean; pinchCenteringMode?: PinchCenteringMode; customTransition?: GalleryTransitionCallback; onTap?: (e: TapGestureEvent, index: number) => void; onSwipe?: (direction: SwipeDirection) => void; onIndexChange?: (index: number) => void; onScroll?: (scroll: number, contentOffset: number) => void; onVerticalPull?: (translateY: number, released: boolean) => void; } & PinchGestureCallbacks & PanGestureCallbacks & ZoomEventCallbacks; export type GalleryType = { setIndex: (index: number) => void; reset: (animate: boolean | undefined) => void; requestState: () => ResumableZoomState; }; //# sourceMappingURL=types.d.ts.map