react-native-gesture-image-viewer 1.8.0 → 1.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/GestureViewer.js.map +1 -1
- package/lib/module/useGestureViewer.js.map +1 -1
- package/lib/module/utils.js +1 -1
- package/lib/module/utils.js.map +1 -1
- package/lib/typescript/src/GestureViewer.d.ts +1 -2
- package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +14 -8
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/useGestureViewer.d.ts +2 -2
- package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
- package/lib/typescript/src/utils.d.ts +3 -3
- package/lib/typescript/src/utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/GestureViewer.tsx +6 -6
- package/src/types.ts +47 -12
- package/src/useGestureViewer.ts +4 -4
- package/src/utils.ts +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","height","customHeight","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","useSnap","enableLoop","props","Component","dataRef","screenWidth","screenHeight","loopData","isScrollView","listRef","isZoomed","isRotated","dismissGesture","zoomGesture","onMomentumScrollEnd","onScrollBeginDrag","handleDismiss","animatedStyle","keyExtractor","item","index","style","marginHorizontal","styles","children","undefined","getItemLayout","_","length","offset","gesture","Race","current","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","control","dismiss","listComponent","background","content","OS","dataSet","ref","map","initialScrollIndex","estimatedItemSize","windowSize","maxToRenderPerBatch","create","justifyContent","alignItems","flex","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAC/D,
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","Platform","StyleSheet","useWindowDimensions","View","Gesture","GestureDetector","GestureHandlerRootView","Animated","registry","useGestureViewer","createLoopData","isFlashListLike","isFlatListLike","isScrollViewLike","WebPagingFixStyle","jsx","_jsx","jsxs","_jsxs","GestureViewer","id","data","renderItem","renderItemProp","renderContainer","ListComponent","width","customWidth","height","customHeight","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","useSnap","enableLoop","props","Component","dataRef","screenWidth","screenHeight","loopData","isScrollView","listRef","isZoomed","isRotated","dismissGesture","zoomGesture","onMomentumScrollEnd","onScrollBeginDrag","handleDismiss","animatedStyle","keyExtractor","item","index","style","marginHorizontal","styles","children","undefined","getItemLayout","_","length","offset","gesture","Race","current","createManager","deleteManager","commonProps","horizontal","scrollEnabled","showsHorizontalScrollIndicator","snapToInterval","snapToAlignment","decelerationRate","pagingEnabled","scrollEventThrottle","removeClippedSubviews","control","dismiss","listComponent","background","content","OS","dataSet","ref","map","initialScrollIndex","estimatedItemSize","windowSize","maxToRenderPerBatch","create","justifyContent","alignItems","flex","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","height","customHeight","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","enableLoop","maxZoomScale","itemSpacing","id","onDismissStart","triggerAnimation","screenWidth","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","manager","setManager","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","listRef","unsubscribeRef","onIndexChangeRef","lastEmittedIndexRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","adjustedInitialIndex","constrainTranslation","current","scrollTo","index","animated","scrollAction","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","startX","x","startY","y","initialScaleFromTrigger","Math","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleManagerChange","subscribe","state","currentIndex","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setCurrentIndex","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","handleDismiss","endX","endY","endScale","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","useWindowDimensions","Gesture","Easing","interpolate","runOnJS","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","registry","createBoundsConstraint","createScrollAction","getLoopAdjustedIndex","useGestureViewer","data","initialIndex","onIndexChange","onDismiss","width","customWidth","height","customHeight","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","enableLoop","maxZoomScale","itemSpacing","id","onDismissStart","triggerAnimation","screenWidth","screenHeight","isZoomed","setIsZoomed","isRotated","setIsRotated","manager","setManager","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","listRef","unsubscribeRef","onIndexChangeRef","lastEmittedIndexRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","adjustedInitialIndex","constrainTranslation","current","scrollTo","index","animated","scrollAction","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","value","previousScale","previousRotation","startX","x","startY","y","initialScaleFromTrigger","Math","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleManagerChange","subscribe","state","currentIndex","unsubscribeFromRegistry","subscribeToManager","setDataLength","setEnableSwipeGesture","setCurrentIndex","setWidth","setHeight","setZoomSharedValues","setRotation","setEnableLoop","notifyStateChange","setListRef","runAfterInteractions","cancel","handleDismiss","endX","endY","endScale","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","getState","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","enabled","onUpdate","translationY","onEnd","damping","stiffness","zoomPinchGesture","Pinch","onBegin","newScale","deltaScale","centerX","focalX","centerY","focalY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","zoomPanGesture","translationX","doubleTapGesture","Tap","numberOfTaps","nextScale","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","onScrollBeginDrag","handleScrollBeginDrag"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/utils.js
CHANGED
|
@@ -20,7 +20,7 @@ export const isFlashListLike = component => {
|
|
|
20
20
|
} catch {
|
|
21
21
|
// do nothing
|
|
22
22
|
}
|
|
23
|
-
return component?.name === 'FlashList';
|
|
23
|
+
return component?.displayName === 'FlashList' || component?.name === 'FlashList';
|
|
24
24
|
};
|
|
25
25
|
export const createBoundsConstraint = ({
|
|
26
26
|
width,
|
package/lib/module/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FlatList","RNFlatList","ScrollView","RNScrollView","GestureFlatList","GestureScrollView","isScrollViewLike","component","isFlatListLike","isFlashListLike","FlashList","require","name","createBoundsConstraint","width","height","scale","translateX","translateY","maxTranslateX","maxTranslateY","Math","max","min","createLoopData","dataRef","enableLoop","data","current","length","lastItem","firstItem","undefined","getLoopAdjustedIndex","scrollIndex","originalDataLength","realIndex","needsJump","jumpToIndex","createScrollAction","listRef","scrollTo","index","animated","scrollToIndex","x"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":";;AAAA,SAASA,QAAQ,IAAIC,UAAU,EAAEC,UAAU,IAAIC,YAAY,QAAQ,cAAc;AACjF,SAASH,QAAQ,IAAII,eAAe,EAAEF,UAAU,IAAIG,iBAAiB,QAAQ,8BAA8B;AAG3G,OAAO,MAAMC,gBAAgB,GAAIC,
|
|
1
|
+
{"version":3,"names":["FlatList","RNFlatList","ScrollView","RNScrollView","GestureFlatList","GestureScrollView","isScrollViewLike","component","isFlatListLike","isFlashListLike","FlashList","require","displayName","name","createBoundsConstraint","width","height","scale","translateX","translateY","maxTranslateX","maxTranslateY","Math","max","min","createLoopData","dataRef","enableLoop","data","current","length","lastItem","firstItem","undefined","getLoopAdjustedIndex","scrollIndex","originalDataLength","realIndex","needsJump","jumpToIndex","createScrollAction","listRef","scrollTo","index","animated","scrollToIndex","x"],"sourceRoot":"../../src","sources":["utils.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type FlatList } from 'react-native';
|
|
2
1
|
import type { GestureViewerProps } from './types';
|
|
3
|
-
export declare function GestureViewer<
|
|
2
|
+
export declare function GestureViewer<ItemT, LC>({ id, data, renderItem: renderItemProp, renderContainer, ListComponent, width: customWidth, height: customHeight, listProps, backdropStyle: backdropStyleProps, containerStyle, initialIndex, itemSpacing, useSnap, enableLoop, ...props }: GestureViewerProps<ItemT, LC>): import("react/jsx-runtime").JSX.Element;
|
|
4
3
|
//# sourceMappingURL=GestureViewer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,wBAAgB,aAAa,CAAC,KAAK,EAAE,EAAE,EAAE,EACvC,EAAc,EACd,IAAI,EACJ,UAAU,EAAE,cAAc,EAC1B,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,MAAM,EAAE,YAAY,EACpB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,OAAe,EACf,UAAkB,EAClB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,2CA8J/B"}
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type { FlatList as RNFlatList, ScrollView as RNScrollView, StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
import type { ListRenderItem, FlatList as RNFlatList, ScrollView as RNScrollView, StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
import type { FlatList as GHFlatList, ScrollView as GHScrollView } from 'react-native-gesture-handler';
|
|
4
4
|
import type { WithTimingConfig } from 'react-native-reanimated';
|
|
5
|
-
export type FlatListComponent = typeof RNFlatList | typeof GHFlatList
|
|
5
|
+
export type FlatListComponent<ItemT> = typeof RNFlatList<ItemT> | typeof GHFlatList<ItemT>;
|
|
6
6
|
export type ScrollViewComponent = typeof RNScrollView | typeof GHScrollView;
|
|
7
|
-
type
|
|
8
|
-
|
|
7
|
+
export type InstantiateGeneric<ItemT, LC> = LC extends React.ComponentType<infer P> ? P extends Record<string, any> ? {
|
|
8
|
+
[K in keyof P]: K extends 'data' ? ArrayLike<ItemT> | null | undefined : K extends 'renderItem' ? ListRenderItem<ItemT> : K extends 'keyExtractor' ? (item: ItemT, index: number) => string : K extends 'getItemType' ? (item: ItemT, index: number, extraData?: any) => string | number | undefined : K extends 'overrideItemLayout' ? (layout: {
|
|
9
|
+
span?: number;
|
|
10
|
+
size?: number;
|
|
11
|
+
}, item: ItemT, index: number, maxColumns?: number, extraData?: any) => void : P[K];
|
|
12
|
+
} : P : never;
|
|
13
|
+
export type GetComponentProps<ItemT, LC> = LC extends React.ComponentType<any> ? InstantiateGeneric<ItemT, LC> : never;
|
|
14
|
+
type ConditionalListProps<ItemT, LC> = LC extends typeof RNFlatList<ItemT> ? React.ComponentProps<typeof RNFlatList<ItemT>> : LC extends typeof GHFlatList<ItemT> ? React.ComponentProps<typeof GHFlatList<ItemT>> : LC extends typeof RNScrollView ? React.ComponentProps<typeof RNScrollView> : LC extends typeof GHScrollView ? React.ComponentProps<typeof GHScrollView> : GetComponentProps<ItemT, LC>;
|
|
9
15
|
export type TriggerRect = {
|
|
10
16
|
x: number;
|
|
11
17
|
y: number;
|
|
@@ -28,7 +34,7 @@ export interface TriggerAnimationConfig extends WithTimingConfig {
|
|
|
28
34
|
*/
|
|
29
35
|
onAnimationComplete?: () => void;
|
|
30
36
|
}
|
|
31
|
-
export interface GestureViewerProps<
|
|
37
|
+
export interface GestureViewerProps<ItemT, LC> {
|
|
32
38
|
/**
|
|
33
39
|
* When you want to efficiently manage multiple `GestureViewer` instances, you can use the `id` prop to use multiple `GestureViewer` components.
|
|
34
40
|
* @remarks `GestureViewer` automatically removes instances from memory when components are unmounted, so no manual memory management is required.
|
|
@@ -38,7 +44,7 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
|
|
|
38
44
|
/**
|
|
39
45
|
* The data to display in the `GestureViewer`.
|
|
40
46
|
*/
|
|
41
|
-
data:
|
|
47
|
+
data: ItemT[];
|
|
42
48
|
/**
|
|
43
49
|
* The index of the item to display in the `GestureViewer` when the component is mounted.
|
|
44
50
|
* @defaultValue 0
|
|
@@ -60,7 +66,7 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
|
|
|
60
66
|
/**
|
|
61
67
|
* A callback function that is called to render the item.
|
|
62
68
|
*/
|
|
63
|
-
renderItem: (item:
|
|
69
|
+
renderItem: (item: ItemT, index: number) => React.ReactElement;
|
|
64
70
|
/**
|
|
65
71
|
* A callback function that is called to render the container.
|
|
66
72
|
* @remarks Useful for composing additional UI (e.g., close button, toolbars) around the viewer.
|
|
@@ -129,7 +135,7 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
|
|
|
129
135
|
* The props to pass to the list component.
|
|
130
136
|
* @remarks The `listProps` provides **type inference based on the selected list component**, ensuring accurate autocompletion and type safety in your IDE.
|
|
131
137
|
*/
|
|
132
|
-
listProps?: Partial<ConditionalListProps<LC>>;
|
|
138
|
+
listProps?: Partial<ConditionalListProps<ItemT, LC>>;
|
|
133
139
|
/**
|
|
134
140
|
* The style of the backdrop.
|
|
135
141
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,IAAI,UAAU,EACtB,UAAU,IAAI,YAAY,EAC1B,SAAS,EACT,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,MAAM,iBAAiB,CAAC,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,CAAC,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3F,MAAM,MAAM,mBAAmB,GAAG,OAAO,YAAY,GAAG,OAAO,YAAY,CAAC;AAG5E,MAAM,MAAM,kBAAkB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAC/E,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAC5B,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,SAAS,GACnC,CAAC,SAAS,YAAY,GACpB,cAAc,CAAC,KAAK,CAAC,GACrB,CAAC,SAAS,cAAc,GACtB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GACtC,CAAC,SAAS,aAAa,GACrB,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,GAC5E,CAAC,SAAS,oBAAoB,GAC5B,CACE,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,EACxC,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,GAAG,KACZ,IAAI,GACT,CAAC,CAAC,CAAC,CAAC;CACjB,GACD,CAAC,GACH,KAAK,CAAC;AAEV,MAAM,MAAM,iBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC;AAEvH,KAAK,oBAAoB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,OAAO,UAAU,CAAC,KAAK,CAAC,GACtE,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,GAC9C,EAAE,SAAS,OAAO,UAAU,CAAC,KAAK,CAAC,GACjC,KAAK,CAAC,cAAc,CAAC,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC,GAC9C,EAAE,SAAS,OAAO,YAAY,GAC5B,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,GACzC,EAAE,SAAS,OAAO,YAAY,GAC5B,KAAK,CAAC,cAAc,CAAC,OAAO,YAAY,CAAC,GACzC,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D;;;OAGG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC;;;OAGG;IACH,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,kBAAkB,CAAC,KAAK,EAAE,EAAE;IAC3C;;;;OAIG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,IAAI,EAAE,KAAK,EAAE,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B;;OAEG;IACH,UAAU,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,CAAC,YAAY,CAAC;IAC/D;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,KAAK,KAAK,CAAC,YAAY,CAAC;IACzG;;OAEG;IACH,aAAa,EAAE,EAAE,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACrD;;OAEG;IACH,aAAa,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACrC;;OAEG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;;OAiBG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;;;;;;;;;;OAYG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEnC;;;;OAIG;IACH,YAAY,EAAE,MAAM,IAAI,CAAC;IAEzB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEvC;;;;;;;;;;;OAWG;IACH,SAAS,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,SAAS,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC9D,GAAG,4BAA4B,CAAC;AAEjC;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG,gBAAgB,CAAC;AAErE,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC5D,cAAc,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,0BAA0B,CAAC,CAAC,SAAS,sBAAsB,IAAI,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type NativeScrollEvent, type NativeSyntheticEvent } from 'react-native';
|
|
2
2
|
import type { GestureViewerProps } from './types';
|
|
3
|
-
type UseGestureViewerProps<
|
|
4
|
-
export declare const useGestureViewer: <
|
|
3
|
+
type UseGestureViewerProps<ItemT, LC> = Omit<GestureViewerProps<ItemT, LC>, 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle' | 'useSnap'>;
|
|
4
|
+
export declare const useGestureViewer: <ItemT, LC>({ data, initialIndex, onIndexChange, onDismiss, width: customWidth, height: customHeight, dismissThreshold, resistance, animateBackdrop, enableDismissGesture, enableSwipeGesture, enableZoomGesture, enableDoubleTapGesture, enableZoomPanGesture, enableLoop, maxZoomScale, itemSpacing, id, onDismissStart, triggerAnimation, }: UseGestureViewerProps<ItemT, LC>) => {
|
|
5
5
|
dataLength: number;
|
|
6
6
|
listRef: import("react").RefObject<any>;
|
|
7
7
|
isZoomed: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAG/D,KAAK,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"useGestureViewer.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EAE1B,MAAM,cAAc,CAAC;AActB,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAG/D,KAAK,qBAAqB,CAAC,KAAK,EAAE,EAAE,IAAI,IAAI,CAC1C,kBAAkB,CAAC,KAAK,EAAE,EAAE,CAAC,EAC7B,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAClH,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,EAAE,EAAE,EAAE,oUAqBzC,qBAAqB,CAAC,KAAK,EAAE,EAAE,CAAC;;;;;;;iCAwSvB,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuSlD,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { FlatListComponent, ScrollViewComponent } from './types';
|
|
2
|
-
export declare const isScrollViewLike: (component: any) => component is ScrollViewComponent;
|
|
3
|
-
export declare const isFlatListLike: (component: any) => component is FlatListComponent
|
|
4
|
-
export declare const isFlashListLike: (component: any) =>
|
|
2
|
+
export declare const isScrollViewLike: (component: React.ComponentType<any>) => component is ScrollViewComponent;
|
|
3
|
+
export declare const isFlatListLike: (component: React.ComponentType<any>) => component is FlatListComponent<any>;
|
|
4
|
+
export declare const isFlashListLike: (component: React.ComponentType<any>) => boolean;
|
|
5
5
|
export declare const createBoundsConstraint: ({ width, height }: {
|
|
6
6
|
width: number;
|
|
7
7
|
height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEtE,eAAO,MAAM,gBAAgB,GAAI,WAAW,GAAG,KAAG,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEtE,eAAO,MAAM,gBAAgB,GAAI,WAAW,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAG,SAAS,IAAI,mBAEnF,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,WAAW,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAG,SAAS,IAAI,iBAAiB,CAAC,GAAG,CAMtG,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,WAAW,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,KAAG,OAYrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAChC,mBAAmB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,MACpD,mCAAmC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;;;CAiB5F,CAAC;AAEJ,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,SAAS,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,OAAO,KAAG,CAAC,EAevF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,aAAa,MAAM,EACnB,oBAAoB,MAAM,EAC1B,YAAY,OAAO,KAClB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAoB/D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,SAAS,GAAG,EAAE,OAAO,MAAM;sBAC1C,MAAM,YAAY,OAAO;CAO3C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gesture-image-viewer",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.1",
|
|
4
4
|
"description": "🖼️ React Native Image Viewer - Reanimated-powered image gestures with full control",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
package/src/GestureViewer.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { Platform, type ScrollViewProps, StyleSheet, useWindowDimensions, View } from 'react-native';
|
|
3
3
|
import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler';
|
|
4
4
|
import Animated from 'react-native-reanimated';
|
|
5
5
|
import { registry } from './GestureViewerRegistry';
|
|
@@ -8,7 +8,7 @@ import { useGestureViewer } from './useGestureViewer';
|
|
|
8
8
|
import { createLoopData, isFlashListLike, isFlatListLike, isScrollViewLike } from './utils';
|
|
9
9
|
import WebPagingFixStyle from './WebPagingFixStyle';
|
|
10
10
|
|
|
11
|
-
export function GestureViewer<
|
|
11
|
+
export function GestureViewer<ItemT, LC>({
|
|
12
12
|
id = 'default',
|
|
13
13
|
data,
|
|
14
14
|
renderItem: renderItemProp,
|
|
@@ -24,7 +24,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
|
|
|
24
24
|
useSnap = false,
|
|
25
25
|
enableLoop = false,
|
|
26
26
|
...props
|
|
27
|
-
}: GestureViewerProps<
|
|
27
|
+
}: GestureViewerProps<ItemT, LC>) {
|
|
28
28
|
const Component = ListComponent as React.ComponentType<any>;
|
|
29
29
|
|
|
30
30
|
const dataRef = useRef(data);
|
|
@@ -61,7 +61,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
|
|
|
61
61
|
});
|
|
62
62
|
|
|
63
63
|
const keyExtractor = useCallback(
|
|
64
|
-
(item:
|
|
64
|
+
(item: ItemT, index: number) => {
|
|
65
65
|
if (enableLoop) {
|
|
66
66
|
return typeof item === 'string' ? `${item}-${index}` : `item-${index}`;
|
|
67
67
|
}
|
|
@@ -72,7 +72,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
|
|
|
72
72
|
);
|
|
73
73
|
|
|
74
74
|
const renderItem = useCallback(
|
|
75
|
-
({ item, index }: { item:
|
|
75
|
+
({ item, index }: { item: ItemT; index: number }) => {
|
|
76
76
|
return (
|
|
77
77
|
<View
|
|
78
78
|
key={isScrollView ? keyExtractor(item, index) : undefined}
|
|
@@ -93,7 +93,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
|
|
|
93
93
|
);
|
|
94
94
|
|
|
95
95
|
const getItemLayout = useCallback(
|
|
96
|
-
(_: ArrayLike<
|
|
96
|
+
(_: ArrayLike<ItemT> | null | undefined, index: number) => ({
|
|
97
97
|
length: width + itemSpacing,
|
|
98
98
|
offset: (width + itemSpacing) * index,
|
|
99
99
|
index,
|
package/src/types.ts
CHANGED
|
@@ -1,18 +1,53 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
ListRenderItem,
|
|
4
|
+
FlatList as RNFlatList,
|
|
5
|
+
ScrollView as RNScrollView,
|
|
6
|
+
StyleProp,
|
|
7
|
+
ViewStyle,
|
|
8
|
+
} from 'react-native';
|
|
3
9
|
import type { FlatList as GHFlatList, ScrollView as GHScrollView } from 'react-native-gesture-handler';
|
|
4
10
|
import type { WithTimingConfig } from 'react-native-reanimated';
|
|
5
11
|
|
|
6
|
-
export type FlatListComponent = typeof RNFlatList | typeof GHFlatList
|
|
12
|
+
export type FlatListComponent<ItemT> = typeof RNFlatList<ItemT> | typeof GHFlatList<ItemT>;
|
|
7
13
|
export type ScrollViewComponent = typeof RNScrollView | typeof GHScrollView;
|
|
8
14
|
|
|
9
|
-
|
|
15
|
+
// Helper type to instantiate generic components with specific type parameter
|
|
16
|
+
export type InstantiateGeneric<ItemT, LC> = LC extends React.ComponentType<infer P>
|
|
17
|
+
? P extends Record<string, any>
|
|
18
|
+
? {
|
|
19
|
+
[K in keyof P]: K extends 'data'
|
|
20
|
+
? ArrayLike<ItemT> | null | undefined
|
|
21
|
+
: K extends 'renderItem'
|
|
22
|
+
? ListRenderItem<ItemT>
|
|
23
|
+
: K extends 'keyExtractor'
|
|
24
|
+
? (item: ItemT, index: number) => string
|
|
25
|
+
: K extends 'getItemType'
|
|
26
|
+
? (item: ItemT, index: number, extraData?: any) => string | number | undefined
|
|
27
|
+
: K extends 'overrideItemLayout'
|
|
28
|
+
? (
|
|
29
|
+
layout: { span?: number; size?: number },
|
|
30
|
+
item: ItemT,
|
|
31
|
+
index: number,
|
|
32
|
+
maxColumns?: number,
|
|
33
|
+
extraData?: any,
|
|
34
|
+
) => void
|
|
35
|
+
: P[K];
|
|
36
|
+
}
|
|
37
|
+
: P
|
|
38
|
+
: never;
|
|
10
39
|
|
|
11
|
-
type
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
40
|
+
export type GetComponentProps<ItemT, LC> = LC extends React.ComponentType<any> ? InstantiateGeneric<ItemT, LC> : never;
|
|
41
|
+
|
|
42
|
+
type ConditionalListProps<ItemT, LC> = LC extends typeof RNFlatList<ItemT>
|
|
43
|
+
? React.ComponentProps<typeof RNFlatList<ItemT>>
|
|
44
|
+
: LC extends typeof GHFlatList<ItemT>
|
|
45
|
+
? React.ComponentProps<typeof GHFlatList<ItemT>>
|
|
46
|
+
: LC extends typeof RNScrollView
|
|
47
|
+
? React.ComponentProps<typeof RNScrollView>
|
|
48
|
+
: LC extends typeof GHScrollView
|
|
49
|
+
? React.ComponentProps<typeof GHScrollView>
|
|
50
|
+
: GetComponentProps<ItemT, LC>;
|
|
16
51
|
|
|
17
52
|
export type TriggerRect = {
|
|
18
53
|
x: number;
|
|
@@ -38,7 +73,7 @@ export interface TriggerAnimationConfig extends WithTimingConfig {
|
|
|
38
73
|
onAnimationComplete?: () => void;
|
|
39
74
|
}
|
|
40
75
|
|
|
41
|
-
export interface GestureViewerProps<
|
|
76
|
+
export interface GestureViewerProps<ItemT, LC> {
|
|
42
77
|
/**
|
|
43
78
|
* When you want to efficiently manage multiple `GestureViewer` instances, you can use the `id` prop to use multiple `GestureViewer` components.
|
|
44
79
|
* @remarks `GestureViewer` automatically removes instances from memory when components are unmounted, so no manual memory management is required.
|
|
@@ -48,7 +83,7 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
|
|
|
48
83
|
/**
|
|
49
84
|
* The data to display in the `GestureViewer`.
|
|
50
85
|
*/
|
|
51
|
-
data:
|
|
86
|
+
data: ItemT[];
|
|
52
87
|
/**
|
|
53
88
|
* The index of the item to display in the `GestureViewer` when the component is mounted.
|
|
54
89
|
* @defaultValue 0
|
|
@@ -70,7 +105,7 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
|
|
|
70
105
|
/**
|
|
71
106
|
* A callback function that is called to render the item.
|
|
72
107
|
*/
|
|
73
|
-
renderItem: (item:
|
|
108
|
+
renderItem: (item: ItemT, index: number) => React.ReactElement;
|
|
74
109
|
/**
|
|
75
110
|
* A callback function that is called to render the container.
|
|
76
111
|
* @remarks Useful for composing additional UI (e.g., close button, toolbars) around the viewer.
|
|
@@ -137,7 +172,7 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
|
|
|
137
172
|
* The props to pass to the list component.
|
|
138
173
|
* @remarks The `listProps` provides **type inference based on the selected list component**, ensuring accurate autocompletion and type safety in your IDE.
|
|
139
174
|
*/
|
|
140
|
-
listProps?: Partial<ConditionalListProps<LC>>;
|
|
175
|
+
listProps?: Partial<ConditionalListProps<ItemT, LC>>;
|
|
141
176
|
/**
|
|
142
177
|
* The style of the backdrop.
|
|
143
178
|
*/
|
package/src/useGestureViewer.ts
CHANGED
|
@@ -21,12 +21,12 @@ import { registry } from './GestureViewerRegistry';
|
|
|
21
21
|
import type { GestureViewerProps, TriggerRect } from './types';
|
|
22
22
|
import { createBoundsConstraint, createScrollAction, getLoopAdjustedIndex } from './utils';
|
|
23
23
|
|
|
24
|
-
type UseGestureViewerProps<
|
|
25
|
-
GestureViewerProps<
|
|
24
|
+
type UseGestureViewerProps<ItemT, LC> = Omit<
|
|
25
|
+
GestureViewerProps<ItemT, LC>,
|
|
26
26
|
'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle' | 'useSnap'
|
|
27
27
|
>;
|
|
28
28
|
|
|
29
|
-
export const useGestureViewer = <
|
|
29
|
+
export const useGestureViewer = <ItemT, LC>({
|
|
30
30
|
data,
|
|
31
31
|
initialIndex = 0,
|
|
32
32
|
onIndexChange,
|
|
@@ -47,7 +47,7 @@ export const useGestureViewer = <T = any>({
|
|
|
47
47
|
id = 'default',
|
|
48
48
|
onDismissStart,
|
|
49
49
|
triggerAnimation,
|
|
50
|
-
}: UseGestureViewerProps<
|
|
50
|
+
}: UseGestureViewerProps<ItemT, LC>) => {
|
|
51
51
|
const { width: screenWidth, height: screenHeight } = useWindowDimensions();
|
|
52
52
|
const width = customWidth || screenWidth;
|
|
53
53
|
const height = customHeight || screenHeight;
|
package/src/utils.ts
CHANGED
|
@@ -2,11 +2,11 @@ import { FlatList as RNFlatList, ScrollView as RNScrollView } from 'react-native
|
|
|
2
2
|
import { FlatList as GestureFlatList, ScrollView as GestureScrollView } from 'react-native-gesture-handler';
|
|
3
3
|
import type { FlatListComponent, ScrollViewComponent } from './types';
|
|
4
4
|
|
|
5
|
-
export const isScrollViewLike = (component: any): component is ScrollViewComponent => {
|
|
5
|
+
export const isScrollViewLike = (component: React.ComponentType<any>): component is ScrollViewComponent => {
|
|
6
6
|
return component === RNScrollView || component === GestureScrollView;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
export const isFlatListLike = (component: any): component is FlatListComponent => {
|
|
9
|
+
export const isFlatListLike = (component: React.ComponentType<any>): component is FlatListComponent<any> => {
|
|
10
10
|
if (component === RNFlatList || component === GestureFlatList || isFlashListLike(component)) {
|
|
11
11
|
return true;
|
|
12
12
|
}
|
|
@@ -14,7 +14,7 @@ export const isFlatListLike = (component: any): component is FlatListComponent =
|
|
|
14
14
|
return false;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
export const isFlashListLike = (component: any):
|
|
17
|
+
export const isFlashListLike = (component: React.ComponentType<any>): boolean => {
|
|
18
18
|
try {
|
|
19
19
|
const FlashList = require('@shopify/flash-list')?.FlashList;
|
|
20
20
|
|
|
@@ -25,7 +25,7 @@ export const isFlashListLike = (component: any): component is any => {
|
|
|
25
25
|
// do nothing
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
return component?.name === 'FlashList';
|
|
28
|
+
return component?.displayName === 'FlashList' || component?.name === 'FlashList';
|
|
29
29
|
};
|
|
30
30
|
|
|
31
31
|
export const createBoundsConstraint =
|