UNPKG

react-native-reanimated-viewer

Version:

A high performance image viewer in react-native used by react-native-reanimated

62 lines (58 loc) 1.91 kB
import React, { ReactElement, RefObject, MutableRefObject } from 'react'; import { ImageURISource, ImageResizeMode, View, TouchableOpacityProps, StyleProp, ViewStyle } from 'react-native'; declare enum GestureEnum { TAP = "TAP", MODAL = "MODAL" } type ImageViewerItemData = { key: string; source: ImageURISource; }; type ImageViewerProps = { data: ImageViewerItemData[]; onLongPress?: (_: { item: ImageViewerItemData; index: number; }) => void; renderCustomComponent?: (_: { item: ImageViewerItemData; index: number; }) => ReactElement; imageResizeMode?: ImageResizeMode; onChange?: (currentIndex: number) => void; dragUpToCloseEnabled?: boolean; maxScale?: number; doubleTapScale?: number; shouldCloseViewer?: (props: { gesture: GestureEnum; index: number; imageData: ImageViewerItemData; loaded: boolean; }) => boolean; originalLayoutOffset?: { pageX?: number; pageY?: number; }; }; type ImageViewerRef = { show: (_: { index: number; source?: ImageURISource; }) => void; init: (_: { index: number; itemRef: RefObject<View>; }) => void; }; declare const _default$1: React.MemoExoticComponent<React.ForwardRefExoticComponent<ImageViewerProps & React.RefAttributes<ImageViewerRef>>>; type ImageWrapperType = { viewerRef: MutableRefObject<ImageViewerRef | null>; index: number; source?: ImageURISource; onPress?: () => boolean | void; wrapperProps?: TouchableOpacityProps; children?: React.ReactNode; style?: StyleProp<ViewStyle>; }; declare const _default: React.MemoExoticComponent<(props: ImageWrapperType) => React.JSX.Element>; export { GestureEnum, _default$1 as ImageViewer, ImageViewerItemData, ImageViewerProps, ImageViewerRef, _default as ImageWrapper, ImageWrapperType };