react-native-gesture-image-viewer 1.7.2 → 1.8.0

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.
@@ -16,6 +16,7 @@ export function GestureViewer({
16
16
  renderContainer,
17
17
  ListComponent,
18
18
  width: customWidth,
19
+ height: customHeight,
19
20
  listProps,
20
21
  backdropStyle: backdropStyleProps,
21
22
  containerStyle,
@@ -31,7 +32,8 @@ export function GestureViewer({
31
32
  width: screenWidth,
32
33
  height: screenHeight
33
34
  } = useWindowDimensions();
34
- const width = useSnap ? customWidth || screenWidth : screenWidth;
35
+ const width = customWidth || screenWidth;
36
+ const height = customHeight || screenHeight;
35
37
  const loopData = useMemo(() => createLoopData(dataRef, enableLoop), [enableLoop]);
36
38
  const isScrollView = isScrollViewLike(Component);
37
39
  const {
@@ -49,9 +51,9 @@ export function GestureViewer({
49
51
  id,
50
52
  data,
51
53
  width,
54
+ height,
52
55
  initialIndex,
53
56
  itemSpacing,
54
- useSnap,
55
57
  enableLoop,
56
58
  ...props
57
59
  });
@@ -68,12 +70,12 @@ export function GestureViewer({
68
70
  return /*#__PURE__*/_jsx(View, {
69
71
  style: [{
70
72
  width,
71
- height: screenHeight,
73
+ height,
72
74
  marginHorizontal: itemSpacing / 2
73
75
  }, styles.item],
74
76
  children: renderItemProp(item, index)
75
77
  }, isScrollView ? keyExtractor(item, index) : undefined);
76
- }, [width, itemSpacing, renderItemProp, keyExtractor, isScrollView, screenHeight]);
78
+ }, [width, itemSpacing, renderItemProp, keyExtractor, isScrollView, height]);
77
79
  const getItemLayout = useCallback((_, index) => ({
78
80
  length: width + itemSpacing,
79
81
  offset: (width + itemSpacing) * index,
@@ -112,7 +114,10 @@ export function GestureViewer({
112
114
  children: /*#__PURE__*/_jsx(GestureDetector, {
113
115
  gesture: gesture,
114
116
  children: /*#__PURE__*/_jsxs(View, {
115
- style: [styles.container, containerStyle],
117
+ style: [{
118
+ height,
119
+ width
120
+ }, containerStyle],
116
121
  children: [/*#__PURE__*/_jsx(Animated.View, {
117
122
  style: [styles.background, backdropStyleProps, backdropStyle]
118
123
  }), /*#__PURE__*/_jsx(Animated.View, {
@@ -160,9 +165,6 @@ export function GestureViewer({
160
165
  return renderContainer ? renderContainer(listComponent, control) : listComponent;
161
166
  }
162
167
  const styles = StyleSheet.create({
163
- container: {
164
- flex: 1
165
- },
166
168
  item: {
167
169
  justifyContent: 'center',
168
170
  alignItems: 'center'
@@ -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","listProps","backdropStyle","backdropStyleProps","containerStyle","initialIndex","itemSpacing","useSnap","enableLoop","props","Component","dataRef","screenWidth","height","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","container","background","content","OS","dataSet","ref","map","initialScrollIndex","estimatedItemSize","windowSize","maxToRenderPerBatch","create","flex","justifyContent","alignItems","position","top","left","right","bottom","backgroundColor"],"sourceRoot":"../../src","sources":["GestureViewer.tsx"],"mappings":"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","ignoreList":[]}
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":[]}
@@ -12,6 +12,7 @@ export const useGestureViewer = ({
12
12
  onIndexChange,
13
13
  onDismiss,
14
14
  width: customWidth,
15
+ height: customHeight,
15
16
  dismissThreshold = 80,
16
17
  resistance = 2,
17
18
  animateBackdrop = true,
@@ -23,7 +24,6 @@ export const useGestureViewer = ({
23
24
  enableLoop = false,
24
25
  maxZoomScale = 2,
25
26
  itemSpacing = 0,
26
- useSnap = false,
27
27
  id = 'default',
28
28
  onDismissStart,
29
29
  triggerAnimation
@@ -32,7 +32,8 @@ export const useGestureViewer = ({
32
32
  width: screenWidth,
33
33
  height: screenHeight
34
34
  } = useWindowDimensions();
35
- const width = useSnap ? customWidth || screenWidth : screenWidth;
35
+ const width = customWidth || screenWidth;
36
+ const height = customHeight || screenHeight;
36
37
  const [isZoomed, setIsZoomed] = useState(false);
37
38
  const [isRotated, setIsRotated] = useState(false);
38
39
  const [manager, setManager] = useState(null);
@@ -69,8 +70,8 @@ export const useGestureViewer = ({
69
70
  }, [enableLoop, data.length, initialIndex]);
70
71
  const constrainTranslation = useMemo(() => createBoundsConstraint({
71
72
  width,
72
- height: screenHeight
73
- }), [width, screenHeight]);
73
+ height
74
+ }), [width, height]);
74
75
  const onAnimationComplete = useCallback(() => {
75
76
  onAnimationCompleteRef.current?.();
76
77
  }, []);
@@ -109,9 +110,9 @@ export const useGestureViewer = ({
109
110
  }, [triggerAnimation?.onAnimationComplete]);
110
111
  useEffect(() => {
111
112
  if (shouldStartTriggerAnimation && triggerRectRef.current) {
112
- const startX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - screenWidth / 2;
113
- const startY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - screenHeight / 2;
114
- const initialScaleFromTrigger = Math.min(triggerRectRef.current.width / screenWidth, triggerRectRef.current.height / screenHeight);
113
+ const startX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
114
+ const startY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - height / 2;
115
+ const initialScaleFromTrigger = Math.min(triggerRectRef.current.width / width, triggerRectRef.current.height / height);
115
116
  triggerScale.value = initialScaleFromTrigger;
116
117
  triggerTranslateX.value = startX;
117
118
  triggerTranslateY.value = startY;
@@ -130,7 +131,7 @@ export const useGestureViewer = ({
130
131
  });
131
132
  setShouldStartTriggerAnimation(false);
132
133
  }
133
- }, [shouldStartTriggerAnimation, animationConfig, screenWidth, screenHeight, triggerOpacity, triggerScale, triggerTranslateX, triggerTranslateY, onAnimationComplete]);
134
+ }, [shouldStartTriggerAnimation, animationConfig, width, height, triggerOpacity, triggerScale, triggerTranslateX, triggerTranslateY, onAnimationComplete]);
134
135
  useEffect(() => {
135
136
  const node = registry.getTriggerNode(id);
136
137
  if (node && typeof node.measure === 'function') {
@@ -180,12 +181,12 @@ export const useGestureViewer = ({
180
181
  manager.setEnableSwipeGesture(enableSwipeGesture);
181
182
  manager.setCurrentIndex(initialIndex);
182
183
  manager.setWidth(width + itemSpacing);
183
- manager.setHeight(screenHeight);
184
+ manager.setHeight(height);
184
185
  manager.setZoomSharedValues(scale, translateX, translateY, maxZoomScale);
185
186
  manager.setRotation(rotation);
186
187
  manager.setEnableLoop(enableLoop);
187
188
  manager.notifyStateChange();
188
- }, [dataLength, enableSwipeGesture, initialIndex, manager, width, itemSpacing, maxZoomScale, enableLoop, scale, screenHeight, translateX, translateY, rotation]);
189
+ }, [dataLength, enableSwipeGesture, initialIndex, manager, width, itemSpacing, maxZoomScale, enableLoop, scale, height, translateX, translateY, rotation]);
189
190
  useEffect(() => {
190
191
  if (!manager || !listRef.current) {
191
192
  return;
@@ -212,9 +213,9 @@ export const useGestureViewer = ({
212
213
  const handleDismiss = useCallback(() => {
213
214
  onDismissStart?.();
214
215
  if (triggerRectRef.current) {
215
- const endX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - screenWidth / 2;
216
- const endY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - screenHeight / 2;
217
- const endScale = Math.min(triggerRectRef.current.width / screenWidth, triggerRectRef.current.height / screenHeight);
216
+ const endX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
217
+ const endY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - height / 2;
218
+ const endScale = Math.min(triggerRectRef.current.width / width, triggerRectRef.current.height / height);
218
219
  triggerScale.value = withTiming(endScale, animationConfig);
219
220
  triggerTranslateX.value = withTiming(endX, animationConfig);
220
221
  triggerTranslateY.value = withTiming(endY, animationConfig);
@@ -228,7 +229,7 @@ export const useGestureViewer = ({
228
229
  if (onDismiss) {
229
230
  runOnJS(onDismiss)();
230
231
  }
231
- }, [animationConfig, onDismiss, onDismissStart, screenWidth, screenHeight, triggerTranslateX, triggerScale, triggerTranslateY, triggerOpacity]);
232
+ }, [animationConfig, onDismiss, onDismissStart, width, height, triggerTranslateX, triggerScale, triggerTranslateY, triggerOpacity]);
232
233
  const onMomentumScrollEnd = useCallback(event => {
233
234
  if (!enableSwipeGesture) {
234
235
  return;
@@ -292,7 +293,7 @@ export const useGestureViewer = ({
292
293
  }
293
294
  const deltaScale = newScale - startScale.value;
294
295
  const centerX = event.focalX - width / 2;
295
- const centerY = event.focalY - screenHeight / 2;
296
+ const centerY = event.focalY - height / 2;
296
297
 
297
298
  // NOTE 새로운 이동값 = 기존 이동값 - (중심점 거리 × 스케일 변화량) / 원래 스케일 (중심점이 화면 중심에서 멀수록, 확대 배율이 클수록 더 많이 이동)
298
299
  const newTranslateX = initialTranslateX.value - centerX * deltaScale / startScale.value;
@@ -347,7 +348,7 @@ export const useGestureViewer = ({
347
348
  translateX.value = withTiming(constrainedTranslateX);
348
349
  translateY.value = withTiming(constrainedTranslateY);
349
350
  });
350
- }, [scale, enableZoomGesture, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, screenHeight, constrainTranslation]);
351
+ }, [scale, enableZoomGesture, maxZoomScale, translateX, translateY, startScale, initialTranslateX, initialTranslateY, width, height, constrainTranslation]);
351
352
  const zoomPanGesture = useMemo(() => {
352
353
  return Gesture.Pan().enabled(enableZoomPanGesture && isZoomed).activeCursor('grabbing').averageTouches(true).onBegin(() => {
353
354
  initialTranslateX.value = translateX.value;
@@ -374,7 +375,7 @@ export const useGestureViewer = ({
374
375
  const nextScale = scale.value > 1 ? 1 : maxZoomScale;
375
376
  if (nextScale > 1) {
376
377
  const centerX = event.x - width / 2;
377
- const centerY = event.y - screenHeight / 2;
378
+ const centerY = event.y - height / 2;
378
379
 
379
380
  // NOTE 확대로 밀려난 거리만큼 반대로 이동해서 탭 지점을 제자리에 유지
380
381
  translateX.value = withTiming(-centerX * (nextScale - 1), {
@@ -400,7 +401,7 @@ export const useGestureViewer = ({
400
401
  easing: Easing.bezier(0.25, 0.1, 0.25, 1.0)
401
402
  });
402
403
  });
403
- }, [scale, enableDoubleTapGesture, maxZoomScale, translateX, translateY, width, screenHeight]);
404
+ }, [scale, enableDoubleTapGesture, maxZoomScale, translateX, translateY, width, height]);
404
405
  const zoomGesture = useMemo(() => {
405
406
  return Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, doubleTapGesture));
406
407
  }, [zoomPinchGesture, zoomPanGesture, doubleTapGesture]);
@@ -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","dismissThreshold","resistance","animateBackdrop","enableDismissGesture","enableSwipeGesture","enableZoomGesture","enableDoubleTapGesture","enableZoomPanGesture","enableLoop","maxZoomScale","itemSpacing","useSnap","id","onDismissStart","triggerAnimation","screenWidth","height","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":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACzE,SACEC,kBAAkB,EAGlBC,mBAAmB,QACd,cAAc;AACrB,SAASC,OAAO,QAAQ,8BAA8B;AACtD,SACEC,MAAM,EACNC,WAAW,EACXC,OAAO,EACPC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,UAAU,QACL,yBAAyB;AAEhC,SAASC,QAAQ,QAAQ,4BAAyB;AAElD,SAASC,sBAAsB,EAAEC,kBAAkB,EAAEC,oBAAoB,QAAQ,YAAS;AAO1F,OAAO,MAAMC,gBAAgB,GAAGA,CAAU;EACxCC,IAAI;EACJC,YAAY,GAAG,CAAC;EAChBC,aAAa;EACbC,SAAS;EACTC,KAAK,EAAEC,WAAW;EAClBC,gBAAgB,GAAG,EAAE;EACrBC,UAAU,GAAG,CAAC;EACdC,eAAe,GAAG,IAAI;EACtBC,oBAAoB,GAAG,IAAI;EAC3BC,kBAAkB,GAAG,IAAI;EACzBC,iBAAiB,GAAG,IAAI;EACxBC,sBAAsB,GAAG,IAAI;EAC7BC,oBAAoB,GAAG,IAAI;EAC3BC,UAAU,GAAG,KAAK;EAClBC,YAAY,GAAG,CAAC;EAChBC,WAAW,GAAG,CAAC;EACfC,OAAO,GAAG,KAAK;EACfC,EAAE,GAAG,SAAS;EACdC,cAAc;EACdC;AACwB,CAAC,KAAK;EAC9B,MAAM;IAAEhB,KAAK,EAAEiB,WAAW;IAAEC,MAAM,EAAEC;EAAa,CAAC,GAAGtC,mBAAmB,CAAC,CAAC;EAC1E,MAAMmB,KAAK,GAAGa,OAAO,GAAGZ,WAAW,IAAIgB,WAAW,GAAGA,WAAW;EAEhE,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAG1C,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAM,CAAC2C,SAAS,EAAEC,YAAY,CAAC,GAAG5C,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAAC6C,OAAO,EAAEC,UAAU,CAAC,GAAG9C,QAAQ,CAA8B,IAAI,CAAC;EACzE,MAAM,CAAC+C,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGhD,QAAQ,CAAC,KAAK,CAAC;EAErF,MAAMiD,OAAO,GAAGlD,MAAM,CAAM,IAAI,CAAC;EACjC,MAAMmD,cAAc,GAAGnD,MAAM,CAAsB,IAAI,CAAC;EACxD,MAAMoD,gBAAgB,GAAGpD,MAAM,CAAmC,IAAI,CAAC;EACvE,MAAMqD,mBAAmB,GAAGrD,MAAM,CAAS,IAAI,CAAC;EAChD,MAAMsD,cAAc,GAAGtD,MAAM,CAAqB,IAAI,CAAC;EACvD,MAAMuD,sBAAsB,GAAGvD,MAAM,CAACsC,gBAAgB,EAAEkB,mBAAmB,CAAC;EAE5E,MAAMC,iBAAiB,GAAG/C,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMgD,iBAAiB,GAAGhD,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMiD,UAAU,GAAGjD,cAAc,CAAC,CAAC,CAAC;EAEpC,MAAMkD,UAAU,GAAGlD,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMmD,UAAU,GAAGnD,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMoD,KAAK,GAAGpD,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMqD,eAAe,GAAGrD,cAAc,CAAC,CAAC,CAAC;EACzC,MAAMsD,QAAQ,GAAGtD,cAAc,CAAC,CAAC,CAAC;EAElC,MAAMuD,YAAY,GAAGvD,cAAc,CAAC,CAAC,CAAC;EACtC,MAAMwD,iBAAiB,GAAGxD,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMyD,iBAAiB,GAAGzD,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAM0D,cAAc,GAAG1D,cAAc,CAAC,CAAC,CAAC;EAExC,MAAM2D,UAAU,GAAGnD,IAAI,EAAEoD,MAAM,IAAI,CAAC;EAEpC,MAAMC,eAAe,GAAGxE,OAAO,CAC7B,OAAO;IACLyE,QAAQ,EAAElC,gBAAgB,EAAEkC,QAAQ,IAAI,GAAG;IAC3CC,MAAM,EAAEnC,gBAAgB,EAAEmC,MAAM,IAAIpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;IACvEC,YAAY,EAAErC,gBAAgB,EAAEqC;EAClC,CAAC,CAAC,EACF,CAACrC,gBAAgB,EAAEkC,QAAQ,EAAElC,gBAAgB,EAAEmC,MAAM,EAAEnC,gBAAgB,EAAEqC,YAAY,CACvF,CAAC;EAED,MAAMC,oBAAoB,GAAG7E,OAAO,CAAC,MAAM;IACzC,IAAIiC,UAAU,IAAId,IAAI,CAACoD,MAAM,GAAG,CAAC,EAAE;MACjC,OAAOnD,YAAY,GAAG,CAAC;IACzB;IAEA,OAAOA,YAAY;EACrB,CAAC,EAAE,CAACa,UAAU,EAAEd,IAAI,CAACoD,MAAM,EAAEnD,YAAY,CAAC,CAAC;EAE3C,MAAM0D,oBAAoB,GAAG9E,OAAO,CAClC,MAAMe,sBAAsB,CAAC;IAAEQ,KAAK;IAAEkB,MAAM,EAAEC;EAAa,CAAC,CAAC,EAC7D,CAACnB,KAAK,EAAEmB,YAAY,CACtB,CAAC;EAED,MAAMe,mBAAmB,GAAG3D,WAAW,CAAC,MAAM;IAC5C0D,sBAAsB,CAACuB,OAAO,GAAG,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,QAAQ,GAAGlF,WAAW,CAC1B,CAACmF,KAAa,EAAEC,QAAiB,KAAK;IACpC,MAAMC,YAAY,GAAGnE,kBAAkB,CAACmC,OAAO,CAAC4B,OAAO,EAAExD,KAAK,GAAGY,WAAW,CAAC;IAE7E,OAAOgD,YAAY,CAACH,QAAQ,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAC/C,CAAC,EACD,CAAC3D,KAAK,EAAEY,WAAW,CACrB,CAAC;EAED,MAAMiD,cAAc,GAAGtF,WAAW,CAChC,CAACuF,YAAoB,EAAEC,SAAwB,KAAK;IAClDvC,OAAO,EAAEqC,cAAc,CAACC,YAAY,EAAEC,SAAS,CAAC;EAClD,CAAC,EACD,CAACvC,OAAO,CACV,CAAC;EAED,MAAMwC,kBAAkB,GAAGzF,WAAW,CACpC,CAAC0F,eAAuB,EAAEC,YAA2B,KAAK;IACxD1C,OAAO,EAAEwC,kBAAkB,CAACC,eAAe,EAAEC,YAAY,CAAC;EAC5D,CAAC,EACD,CAAC1C,OAAO,CACV,CAAC;EAEDtC,mBAAmB,CACjB,MAAMsD,KAAK,CAAC2B,KAAK,EACjB,CAACL,YAAY,EAAEM,aAAa,KAAK;IAC/B,IAAI5C,OAAO,IAAIsC,YAAY,KAAKM,aAAa,EAAE;MAC7CnF,OAAO,CAAC4E,cAAc,CAAC,CAACC,YAAY,EAAEM,aAAa,CAAC;IACtD;IAEAnF,OAAO,CAACoC,WAAW,CAAC,CAACyC,YAAY,GAAG,CAAC,CAAC;EACxC,CACF,CAAC;EAED5E,mBAAmB,CACjB,MAAMwD,QAAQ,CAACyB,KAAK,EACpB,CAACF,eAAe,EAAEI,gBAAgB,KAAK;IACrC,IAAI7C,OAAO,IAAIyC,eAAe,KAAKI,gBAAgB,EAAE;MACnDpF,OAAO,CAAC+E,kBAAkB,CAAC,CAACC,eAAe,EAAEI,gBAAgB,CAAC;IAChE;IAEApF,OAAO,CAACsC,YAAY,CAAC,CAAC0C,eAAe,GAAG,GAAG,KAAK,CAAC,CAAC;EACpD,CACF,CAAC;EAEDzF,SAAS,CAAC,MAAM;IACdsD,gBAAgB,CAAC0B,OAAO,GAAG1D,aAAa,IAAI,IAAI;EAClD,CAAC,CAAC;EAEFtB,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXsD,gBAAgB,CAAC0B,OAAO,GAAG,IAAI;IACjC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAENhF,SAAS,CAAC,MAAM;IACdyD,sBAAsB,CAACuB,OAAO,GAAGxC,gBAAgB,EAAEkB,mBAAmB;EACxE,CAAC,EAAE,CAAClB,gBAAgB,EAAEkB,mBAAmB,CAAC,CAAC;EAE3C1D,SAAS,CAAC,MAAM;IACd,IAAIkD,2BAA2B,IAAIM,cAAc,CAACwB,OAAO,EAAE;MACzD,MAAMc,MAAM,GAAGtC,cAAc,CAACwB,OAAO,CAACe,CAAC,GAAGvC,cAAc,CAACwB,OAAO,CAACxD,KAAK,GAAG,CAAC,GAAGiB,WAAW,GAAG,CAAC;MAC5F,MAAMuD,MAAM,GAAGxC,cAAc,CAACwB,OAAO,CAACiB,CAAC,GAAGzC,cAAc,CAACwB,OAAO,CAACtC,MAAM,GAAG,CAAC,GAAGC,YAAY,GAAG,CAAC;MAC9F,MAAMuD,uBAAuB,GAAGC,IAAI,CAACC,GAAG,CACtC5C,cAAc,CAACwB,OAAO,CAACxD,KAAK,GAAGiB,WAAW,EAC1Ce,cAAc,CAACwB,OAAO,CAACtC,MAAM,GAAGC,YAClC,CAAC;MAEDwB,YAAY,CAACwB,KAAK,GAAGO,uBAAuB;MAC5C9B,iBAAiB,CAACuB,KAAK,GAAGG,MAAM;MAChCzB,iBAAiB,CAACsB,KAAK,GAAGK,MAAM;MAChC1B,cAAc,CAACqB,KAAK,GAAG,CAAC;MAExBxB,YAAY,CAACwB,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE2D,eAAe,EAAG4B,QAAQ,IAAK;QAChE,IAAIA,QAAQ,EAAE;UACZ5F,OAAO,CAACiD,mBAAmB,CAAC,CAAC,CAAC;QAChC;MACF,CAAC,CAAC;MACFU,iBAAiB,CAACuB,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE2D,eAAe,CAAC;MACxDJ,iBAAiB,CAACsB,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE2D,eAAe,CAAC;MACxDH,cAAc,CAACqB,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE;QACnC4D,QAAQ,EAAED,eAAe,CAACC,QAAQ,GAAG,CAAC;QACtCC,MAAM,EAAEF,eAAe,CAACE,MAAM;QAC9BE,YAAY,EAAEJ,eAAe,CAACI;MAChC,CAAC,CAAC;MAEF1B,8BAA8B,CAAC,KAAK,CAAC;IACvC;EACF,CAAC,EAAE,CACDD,2BAA2B,EAC3BuB,eAAe,EACfhC,WAAW,EACXE,YAAY,EACZ2B,cAAc,EACdH,YAAY,EACZC,iBAAiB,EACjBC,iBAAiB,EACjBX,mBAAmB,CACpB,CAAC;EAEF1D,SAAS,CAAC,MAAM;IACd,MAAMsG,IAAI,GAAGvF,QAAQ,CAACwF,cAAc,CAACjE,EAAE,CAAC;IAExC,IAAIgE,IAAI,IAAI,OAAOA,IAAI,CAACE,OAAO,KAAK,UAAU,EAAE;MAC9CF,IAAI,CAACE,OAAO,CAAC,CAACC,EAAE,EAAEC,EAAE,EAAElF,KAAK,EAAEkB,MAAM,EAAEiE,KAAK,EAAEC,KAAK,KAAK;QACpDpD,cAAc,CAACwB,OAAO,GAAG;UAAEe,CAAC,EAAEY,KAAK;UAAEV,CAAC,EAAEW,KAAK;UAAEpF,KAAK;UAAEkB;QAAO,CAAC;QAC9D4B,cAAc,CAACqB,KAAK,GAAG,CAAC;QACxBxC,8BAA8B,CAAC,IAAI,CAAC;QACpCpC,QAAQ,CAAC8F,gBAAgB,CAACvE,EAAE,CAAC;MAC/B,CAAC,CAAC;IACJ;IAEA,OAAO,MAAM;MACXkB,cAAc,CAACwB,OAAO,GAAG,IAAI;IAC/B,CAAC;EACH,CAAC,EAAE,CAAC1C,EAAE,EAAEgC,cAAc,CAAC,CAAC;EAExBtE,SAAS,CAAC,MAAM;IACd,MAAM8G,mBAAmB,GAAI9D,OAAoC,IAAK;MACpEK,cAAc,CAAC2B,OAAO,GAAG,CAAC;MAC1B3B,cAAc,CAAC2B,OAAO,GAAG,IAAI;MAE7B/B,UAAU,CAACD,OAAO,CAAC;MAEnBO,mBAAmB,CAACyB,OAAO,GAAG,IAAI;MAElC,IAAIhC,OAAO,EAAE;QACXK,cAAc,CAAC2B,OAAO,GAAGhC,OAAO,CAAC+D,SAAS,CAAEC,KAAK,IAAK;UACpD,IAAIzD,mBAAmB,CAACyB,OAAO,KAAKgC,KAAK,CAACC,YAAY,EAAE;YACtD1D,mBAAmB,CAACyB,OAAO,GAAGgC,KAAK,CAACC,YAAY;YAChD3D,gBAAgB,CAAC0B,OAAO,GAAGgC,KAAK,CAACC,YAAY,CAAC;UAChD;QACF,CAAC,CAAC;QACF;MACF;IACF,CAAC;IAED,MAAMC,uBAAuB,GAAGnG,QAAQ,CAACoG,kBAAkB,CAAC7E,EAAE,EAAEwE,mBAAmB,CAAC;IAEpF,OAAO,MAAM;MACXI,uBAAuB,CAAC,CAAC;MACzB7D,cAAc,CAAC2B,OAAO,GAAG,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAAC1C,EAAE,CAAC,CAAC;EAERtC,SAAS,CAAC,MAAM;IACd,IAAI,CAACgD,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAACoE,aAAa,CAAC7C,UAAU,CAAC;IACjCvB,OAAO,CAACqE,qBAAqB,CAACvF,kBAAkB,CAAC;IACjDkB,OAAO,CAACsE,eAAe,CAACjG,YAAY,CAAC;IACrC2B,OAAO,CAACuE,QAAQ,CAAC/F,KAAK,GAAGY,WAAW,CAAC;IACrCY,OAAO,CAACwE,SAAS,CAAC7E,YAAY,CAAC;IAC/BK,OAAO,CAACyE,mBAAmB,CAACzD,KAAK,EAAED,UAAU,EAAED,UAAU,EAAE3B,YAAY,CAAC;IACxEa,OAAO,CAAC0E,WAAW,CAACxD,QAAQ,CAAC;IAC7BlB,OAAO,CAAC2E,aAAa,CAACzF,UAAU,CAAC;IACjCc,OAAO,CAAC4E,iBAAiB,CAAC,CAAC;EAC7B,CAAC,EAAE,CACDrD,UAAU,EACVzC,kBAAkB,EAClBT,YAAY,EACZ2B,OAAO,EACPxB,KAAK,EACLY,WAAW,EACXD,YAAY,EACZD,UAAU,EACV8B,KAAK,EACLrB,YAAY,EACZoB,UAAU,EACVD,UAAU,EACVI,QAAQ,CACT,CAAC;EAEFlE,SAAS,CAAC,MAAM;IACd,IAAI,CAACgD,OAAO,IAAI,CAACI,OAAO,CAAC4B,OAAO,EAAE;MAChC;IACF;IAEAhC,OAAO,CAAC6E,UAAU,CAACzE,OAAO,CAAC4B,OAAO,CAAC;EACrC,CAAC,EAAE,CAAChC,OAAO,CAAC,CAAC;EAEbhD,SAAS,CAAC,MAAM;IACd8D,UAAU,CAAC6B,KAAK,GAAG,CAAC;IACpB5B,UAAU,CAAC4B,KAAK,GAAG,CAAC;IACpB3B,KAAK,CAAC2B,KAAK,GAAG,CAAC;IACf1B,eAAe,CAAC0B,KAAK,GAAG,CAAC;IACzB9B,UAAU,CAAC8B,KAAK,GAAG,CAAC;IACpBzB,QAAQ,CAACyB,KAAK,GAAG,CAAC;IAElB,IAAIb,oBAAoB,IAAI,CAAC,IAAI,CAAC1B,OAAO,CAAC4B,OAAO,EAAE;MACjD;IACF;IAEA,MAAM8C,oBAAoB,GAAG1H,kBAAkB,CAAC0H,oBAAoB,CAAC,MAAM;MACzE7C,QAAQ,CAACH,oBAAoB,EAAE,KAAK,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXgD,oBAAoB,EAAEC,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,CAACjD,oBAAoB,EAAEhB,UAAU,EAAEG,eAAe,EAAEF,UAAU,EAAEC,KAAK,EAAEH,UAAU,EAAEK,QAAQ,EAAEe,QAAQ,CAAC,CAAC;EAE1G,MAAM+C,aAAa,GAAGjI,WAAW,CAAC,MAAM;IACtCwC,cAAc,GAAG,CAAC;IAElB,IAAIiB,cAAc,CAACwB,OAAO,EAAE;MAC1B,MAAMiD,IAAI,GAAGzE,cAAc,CAACwB,OAAO,CAACe,CAAC,GAAGvC,cAAc,CAACwB,OAAO,CAACxD,KAAK,GAAG,CAAC,GAAGiB,WAAW,GAAG,CAAC;MAC1F,MAAMyF,IAAI,GAAG1E,cAAc,CAACwB,OAAO,CAACiB,CAAC,GAAGzC,cAAc,CAACwB,OAAO,CAACtC,MAAM,GAAG,CAAC,GAAGC,YAAY,GAAG,CAAC;MAC5F,MAAMwF,QAAQ,GAAGhC,IAAI,CAACC,GAAG,CACvB5C,cAAc,CAACwB,OAAO,CAACxD,KAAK,GAAGiB,WAAW,EAC1Ce,cAAc,CAACwB,OAAO,CAACtC,MAAM,GAAGC,YAClC,CAAC;MAEDwB,YAAY,CAACwB,KAAK,GAAG7E,UAAU,CAACqH,QAAQ,EAAE1D,eAAe,CAAC;MAC1DL,iBAAiB,CAACuB,KAAK,GAAG7E,UAAU,CAACmH,IAAI,EAAExD,eAAe,CAAC;MAC3DJ,iBAAiB,CAACsB,KAAK,GAAG7E,UAAU,CAACoH,IAAI,EAAEzD,eAAe,CAAC;MAC3DH,cAAc,CAACqB,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE2D,eAAe,EAAG4B,QAAQ,IAAK;QAClE,IAAIA,QAAQ,IAAI9E,SAAS,EAAE;UACzBd,OAAO,CAACc,SAAS,CAAC,CAAC,CAAC;QACtB;MACF,CAAC,CAAC;MACF;IACF;IAEA,IAAIA,SAAS,EAAE;MACbd,OAAO,CAACc,SAAS,CAAC,CAAC,CAAC;IACtB;EACF,CAAC,EAAE,CACDkD,eAAe,EACflD,SAAS,EACTgB,cAAc,EACdE,WAAW,EACXE,YAAY,EACZyB,iBAAiB,EACjBD,YAAY,EACZE,iBAAiB,EACjBC,cAAc,CACf,CAAC;EAEF,MAAM8D,mBAAmB,GAAGrI,WAAW,CACpCsI,KAA8C,IAAK;IAClD,IAAI,CAACvG,kBAAkB,EAAE;MACvB;IACF;IAEA,MAAMwG,aAAa,GAAGD,KAAK,CAACE,WAAW,CAACD,aAAa;IACrD,MAAME,WAAW,GAAGrC,IAAI,CAACsC,KAAK,CAACH,aAAa,CAACvC,CAAC,IAAIvE,KAAK,GAAGY,WAAW,CAAC,CAAC;IAEvE,MAAMsG,aAAa,GAAG1F,OAAO,EAAE2F,uBAAuB,CAACH,WAAW,CAAC;IAEnE,IAAIE,aAAa,EAAE;MACjB;IACF;IAEA,MAAM;MAAEE,SAAS;MAAEC,SAAS;MAAEC;IAAY,CAAC,GAAG5H,oBAAoB,CAACsH,WAAW,EAAEjE,UAAU,EAAErC,UAAU,CAAC;IAEvG,IAAI2G,SAAS,IAAIC,WAAW,KAAKC,SAAS,EAAE;MAC1C9D,QAAQ,CAAC6D,WAAW,EAAE,KAAK,CAAC;IAC9B;IAEA,MAAM7B,YAAY,GAAGjE,OAAO,EAAEgG,QAAQ,CAAC,CAAC,CAAC/B,YAAY;IAErD,IAAI2B,SAAS,KAAK3B,YAAY,IAAI2B,SAAS,IAAI,CAAC,IAAIA,SAAS,GAAGrE,UAAU,EAAE;MAC1E,IAAIvB,OAAO,EAAE;QACXA,OAAO,CAACsE,eAAe,CAACsB,SAAS,CAAC;QAClC5F,OAAO,CAAC4E,iBAAiB,CAAC,CAAC;MAC7B;MAEA7D,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;MAChCgD,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;MAChC8C,iBAAiB,CAAC+B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;MACvC6C,iBAAiB,CAACgC,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;MACvC+C,UAAU,CAAC8B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;MAChCkD,KAAK,CAAC2B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;MAC3BoD,QAAQ,CAACyB,KAAK,GAAG,CAAC;IACpB;EACF,CAAC,EACD,CACEV,QAAQ,EACRjC,OAAO,EACPuB,UAAU,EACV/C,KAAK,EACLY,WAAW,EACXN,kBAAkB,EAClBI,UAAU,EACV6B,UAAU,EACVD,UAAU,EACVE,KAAK,EACLJ,iBAAiB,EACjBD,iBAAiB,EACjBE,UAAU,EACVK,QAAQ,CAEZ,CAAC;EAED,MAAM+E,cAAc,GAAGhJ,OAAO,CAAC,MAAM;IACnC,MAAMiJ,UAAU,GAAG,CAACtG,QAAQ,IAAIf,oBAAoB;IAEpD,OAAOvB,OAAO,CAAC6I,GAAG,CAAC,CAAC,CACjBC,WAAW,CAAC,EAAE,CAAC,CACfC,cAAc,CAAC,IAAI,CAAC,CACpBC,YAAY,CAAC,UAAU,CAAC,CACxBC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACxBC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACtBC,OAAO,CAACP,UAAU,CAAC,CACnBQ,QAAQ,CAAErB,KAAK,IAAK;MACnBvE,UAAU,CAAC6B,KAAK,GAAG0C,KAAK,CAACsB,YAAY,GAAGhI,UAAU;IACpD,CAAC,CAAC,CACDiI,KAAK,CAAEvB,KAAK,IAAK;MAChB,IAAIa,UAAU,IAAIb,KAAK,CAACsB,YAAY,GAAGjI,gBAAgB,IAAIsG,aAAa,EAAE;QACxEvH,OAAO,CAACuH,aAAa,CAAC,CAAC,CAAC;QACxB;MACF;MAEAlE,UAAU,CAAC6B,KAAK,GAAG9E,UAAU,CAAC,CAAC,EAAE;QAC/BgJ,OAAO,EAAE,EAAE;QACXC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAAChG,UAAU,EAAEpC,gBAAgB,EAAEG,oBAAoB,EAAEmG,aAAa,EAAErG,UAAU,EAAEiB,QAAQ,CAAC,CAAC;EAE7F,MAAMmH,gBAAgB,GAAG9J,OAAO,CAAC,MAAM;IACrC,OAAOK,OAAO,CAAC0J,KAAK,CAAC,CAAC,CACnBP,OAAO,CAAC1H,iBAAiB,CAAC,CAC1BkI,OAAO,CAAC,MAAM;MACbpG,UAAU,CAAC8B,KAAK,GAAG3B,KAAK,CAAC2B,KAAK;MAC9B/B,iBAAiB,CAAC+B,KAAK,GAAG5B,UAAU,CAAC4B,KAAK;MAC1ChC,iBAAiB,CAACgC,KAAK,GAAG7B,UAAU,CAAC6B,KAAK;IAC5C,CAAC,CAAC,CACD+D,QAAQ,CAAErB,KAAK,IAAK;MACnB,MAAM6B,QAAQ,GAAGrG,UAAU,CAAC8B,KAAK,GAAG0C,KAAK,CAACrE,KAAK;MAE/CA,KAAK,CAAC2B,KAAK,GAAGuE,QAAQ;MAEtB,IAAIA,QAAQ,IAAI,CAAC,EAAE;QACjBnG,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;QAChCgD,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;QAChC;MACF;MAEA,MAAMqJ,UAAU,GAAGD,QAAQ,GAAGrG,UAAU,CAAC8B,KAAK;MAC9C,MAAMyE,OAAO,GAAG/B,KAAK,CAACgC,MAAM,GAAG7I,KAAK,GAAG,CAAC;MACxC,MAAM8I,OAAO,GAAGjC,KAAK,CAACkC,MAAM,GAAG5H,YAAY,GAAG,CAAC;;MAE/C;MACA,MAAM6H,aAAa,GAAG5G,iBAAiB,CAAC+B,KAAK,GAAIyE,OAAO,GAAGD,UAAU,GAAItG,UAAU,CAAC8B,KAAK;MACzF,MAAM8E,aAAa,GAAG9G,iBAAiB,CAACgC,KAAK,GAAI2E,OAAO,GAAGH,UAAU,GAAItG,UAAU,CAAC8B,KAAK;MAEzF,MAAM;QAAE5B,UAAU,EAAE2G,qBAAqB;QAAE5G,UAAU,EAAE6G;MAAsB,CAAC,GAAG5F,oBAAoB,CAAC;QACpGhB,UAAU,EAAEyG,aAAa;QACzB1G,UAAU,EAAE2G,aAAa;QACzBzG,KAAK,EAAEkG;MACT,CAAC,CAAC;MAEFnG,UAAU,CAAC4B,KAAK,GAAG+E,qBAAqB;MACxC5G,UAAU,CAAC6B,KAAK,GAAGgF,qBAAqB;IAC1C,CAAC,CAAC,CACDf,KAAK,CAAC,MAAM;MACX,IAAI5F,KAAK,CAAC2B,KAAK,GAAGxD,YAAY,EAAE;QAC9B6B,KAAK,CAAC2B,KAAK,GAAG7E,UAAU,CAACqB,YAAY,EAAE;UACrCuC,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAC5C,CAAC,CAAC;QAEF,MAAM;UAAEb,UAAU,EAAE2G,qBAAqB;UAAE5G,UAAU,EAAE6G;QAAsB,CAAC,GAAG5F,oBAAoB,CAAC;UACpGhB,UAAU,EAAEA,UAAU,CAAC4B,KAAK;UAC5B7B,UAAU,EAAEA,UAAU,CAAC6B,KAAK;UAC5B3B,KAAK,EAAE7B;QACT,CAAC,CAAC;QAEF4B,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC4J,qBAAqB,CAAC;QACpD5G,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC6J,qBAAqB,CAAC;QAEpD;MACF;MAEA,IAAI3G,KAAK,CAAC2B,KAAK,GAAG,CAAC,EAAE;QACnB3B,KAAK,CAAC2B,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE;UAC1B4D,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAC5C,CAAC,CAAC;QACFb,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;QAChCgD,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;QAChC8C,iBAAiB,CAAC+B,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;QACvC6C,iBAAiB,CAACgC,KAAK,GAAG7E,UAAU,CAAC,CAAC,CAAC;QACvC;MACF;MAEA,MAAM;QAAEiD,UAAU,EAAE2G,qBAAqB;QAAE5G,UAAU,EAAE6G;MAAsB,CAAC,GAAG5F,oBAAoB,CAAC;QACpGhB,UAAU,EAAEA,UAAU,CAAC4B,KAAK;QAC5B7B,UAAU,EAAEA,UAAU,CAAC6B,KAAK;QAC5B3B,KAAK,EAAEA,KAAK,CAAC2B;MACf,CAAC,CAAC;MAEF5B,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC4J,qBAAqB,CAAC;MACpD5G,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC6J,qBAAqB,CAAC;IACtD,CAAC,CAAC;EACN,CAAC,EAAE,CACD3G,KAAK,EACLjC,iBAAiB,EACjBI,YAAY,EACZ4B,UAAU,EACVD,UAAU,EACVD,UAAU,EACVD,iBAAiB,EACjBD,iBAAiB,EACjBnC,KAAK,EACLmB,YAAY,EACZoC,oBAAoB,CACrB,CAAC;EAEF,MAAM6F,cAAc,GAAG3K,OAAO,CAAC,MAAM;IACnC,OAAOK,OAAO,CAAC6I,GAAG,CAAC,CAAC,CACjBM,OAAO,CAACxH,oBAAoB,IAAIW,QAAQ,CAAC,CACzC0G,YAAY,CAAC,UAAU,CAAC,CACxBD,cAAc,CAAC,IAAI,CAAC,CACpBY,OAAO,CAAC,MAAM;MACbrG,iBAAiB,CAAC+B,KAAK,GAAG5B,UAAU,CAAC4B,KAAK;MAC1ChC,iBAAiB,CAACgC,KAAK,GAAG7B,UAAU,CAAC6B,KAAK;IAC5C,CAAC,CAAC,CACD+D,QAAQ,CAAErB,KAAK,IAAK;MACnB,IAAIrE,KAAK,CAAC2B,KAAK,GAAG,CAAC,EAAE;QACnB,MAAM6E,aAAa,GAAG5G,iBAAiB,CAAC+B,KAAK,GAAG0C,KAAK,CAACwC,YAAY;QAClE,MAAMJ,aAAa,GAAG9G,iBAAiB,CAACgC,KAAK,GAAG0C,KAAK,CAACsB,YAAY;QAElE,MAAM;UAAE5F,UAAU,EAAE2G,qBAAqB;UAAE5G,UAAU,EAAE6G;QAAsB,CAAC,GAAG5F,oBAAoB,CAAC;UACpGhB,UAAU,EAAEyG,aAAa;UACzB1G,UAAU,EAAE2G,aAAa;UACzBzG,KAAK,EAAEA,KAAK,CAAC2B;QACf,CAAC,CAAC;QAEF5B,UAAU,CAAC4B,KAAK,GAAG+E,qBAAqB;QACxC5G,UAAU,CAAC6B,KAAK,GAAGgF,qBAAqB;MAC1C;IACF,CAAC,CAAC;EACN,CAAC,EAAE,CACD5G,UAAU,EACVD,UAAU,EACV7B,oBAAoB,EACpBW,QAAQ,EACRoB,KAAK,EACLJ,iBAAiB,EACjBD,iBAAiB,EACjBoB,oBAAoB,CACrB,CAAC;EAEF,MAAM+F,gBAAgB,GAAG7K,OAAO,CAAC,MAAM;IACrC,OAAOK,OAAO,CAACyK,GAAG,CAAC,CAAC,CACjBtB,OAAO,CAACzH,sBAAsB,CAAC,CAC/BgJ,YAAY,CAAC,CAAC,CAAC,CACfpB,KAAK,CAAEvB,KAAK,IAAK;MAChB,MAAM4C,SAAS,GAAGjH,KAAK,CAAC2B,KAAK,GAAG,CAAC,GAAG,CAAC,GAAGxD,YAAY;MAEpD,IAAI8I,SAAS,GAAG,CAAC,EAAE;QACjB,MAAMb,OAAO,GAAG/B,KAAK,CAACtC,CAAC,GAAGvE,KAAK,GAAG,CAAC;QACnC,MAAM8I,OAAO,GAAGjC,KAAK,CAACpC,CAAC,GAAGtD,YAAY,GAAG,CAAC;;QAE1C;QACAoB,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC,CAACsJ,OAAO,IAAIa,SAAS,GAAG,CAAC,CAAC,EAAE;UACxDvG,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAC5C,CAAC,CAAC;QACFd,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC,CAACwJ,OAAO,IAAIW,SAAS,GAAG,CAAC,CAAC,EAAE;UACxDvG,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAC5C,CAAC,CAAC;MACJ,CAAC,MAAM;QACLb,UAAU,CAAC4B,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE;UAC/B4D,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAC5C,CAAC,CAAC;QACFd,UAAU,CAAC6B,KAAK,GAAG7E,UAAU,CAAC,CAAC,EAAE;UAC/B4D,QAAQ,EAAE,GAAG;UACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;QAC5C,CAAC,CAAC;MACJ;MAEAZ,KAAK,CAAC2B,KAAK,GAAG7E,UAAU,CAACmK,SAAS,EAAE;QAClCvG,QAAQ,EAAE,GAAG;QACbC,MAAM,EAAEpE,MAAM,CAACqE,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG;MAC5C,CAAC,CAAC;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAACZ,KAAK,EAAEhC,sBAAsB,EAAEG,YAAY,EAAE4B,UAAU,EAAED,UAAU,EAAEtC,KAAK,EAAEmB,YAAY,CAAC,CAAC;EAE9F,MAAMuI,WAAW,GAAGjL,OAAO,CAAC,MAAM;IAChC,OAAOK,OAAO,CAAC6K,IAAI,CAACpB,gBAAgB,EAAEzJ,OAAO,CAAC8K,SAAS,CAACR,cAAc,EAAEE,gBAAgB,CAAC,CAAC;EAC5F,CAAC,EAAE,CAACf,gBAAgB,EAAEa,cAAc,EAAEE,gBAAgB,CAAC,CAAC;EAExD,MAAMO,aAAa,GAAG1K,gBAAgB,CAAC,MAAM;IAC3C,OAAO;MACL2K,OAAO,EAAEhH,cAAc,CAACqB,KAAK;MAC7B4F,SAAS,EAAE,CACT;QAAExH,UAAU,EAAEK,iBAAiB,CAACuB;MAAM,CAAC,EACvC;QAAE7B,UAAU,EAAEO,iBAAiB,CAACsB;MAAM,CAAC,EACvC;QAAE3B,KAAK,EAAEG,YAAY,CAACwB;MAAM,CAAC,EAE7B;QAAE7B,UAAU,EAAEA,UAAU,CAAC6B;MAAM,CAAC,EAChC;QAAE5B,UAAU,EAAEA,UAAU,CAAC4B;MAAM,CAAC,EAChC;QAAE3B,KAAK,EAAEA,KAAK,CAAC2B;MAAM,CAAC,EACtB;QAAE6F,MAAM,EAAE,GAAGtH,QAAQ,CAACyB,KAAK;MAAM,CAAC;IAEtC,CAAC;EACH,CAAC,CAAC;EAEF,MAAM8F,aAAa,GAAG9K,gBAAgB,CAAC,MAAM;IAC3C,MAAM+K,WAAW,GAAGpH,cAAc,CAACqB,KAAK;IAExC,IAAI,CAAC/D,eAAe,IAAIoC,KAAK,CAAC2B,KAAK,KAAK,CAAC,EAAE;MACzC,OAAO;QAAE2F,OAAO,EAAEI;MAAY,CAAC;IACjC;IAEA,MAAMC,cAAc,GAAGnL,WAAW,CAACsD,UAAU,CAAC6B,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;IAE/E,OAAO;MAAE2F,OAAO,EAAEK,cAAc,GAAGD;IAAY,CAAC;EAClD,CAAC,EAAE,CAAC9J,eAAe,CAAC,CAAC;EAErB,MAAMgK,iBAAiB,GAAG7L,WAAW,CAAC,MAAM;IAC1CiD,OAAO,EAAE6I,qBAAqB,CAAC,CAAC;EAClC,CAAC,EAAE,CAAC7I,OAAO,CAAC,CAAC;EAEb,OAAO;IACLuB,UAAU;IACVnB,OAAO;IACPR,QAAQ;IACRE,SAAS;IACTmG,cAAc;IACdiC,WAAW;IAEX9C,mBAAmB;IACnBwD,iBAAiB;IACjB5D,aAAa;IAEbqD,aAAa;IACbI;EACF,CAAC;AACH,CAAC","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":[]}
@@ -1,4 +1,4 @@
1
1
  import { type FlatList } from 'react-native';
2
2
  import type { GestureViewerProps } from './types';
3
- export declare function GestureViewer<T = any, LC = typeof FlatList>({ id, data, renderItem: renderItemProp, renderContainer, ListComponent, width: customWidth, listProps, backdropStyle: backdropStyleProps, containerStyle, initialIndex, itemSpacing, useSnap, enableLoop, ...props }: GestureViewerProps<T, LC>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function GestureViewer<T = any, LC = typeof FlatList>({ id, data, renderItem: renderItemProp, renderContainer, ListComponent, width: customWidth, height: customHeight, listProps, backdropStyle: backdropStyleProps, containerStyle, initialIndex, itemSpacing, useSnap, enableLoop, ...props }: GestureViewerProps<T, LC>): import("react/jsx-runtime").JSX.Element;
4
4
  //# sourceMappingURL=GestureViewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAyE,MAAM,cAAc,CAAC;AAIpH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,EAC3D,EAAc,EACd,IAAI,EACJ,UAAU,EAAE,cAAc,EAC1B,eAAe,EACf,aAAa,EACb,KAAK,EAAE,WAAW,EAClB,SAAS,EACT,aAAa,EAAE,kBAAkB,EACjC,cAAc,EACd,YAAgB,EAChB,WAAe,EACf,OAAe,EACf,UAAkB,EAClB,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,2CA6J3B"}
1
+ {"version":3,"file":"GestureViewer.d.ts","sourceRoot":"","sources":["../../../src/GestureViewer.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAyE,MAAM,cAAc,CAAC;AAIpH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,OAAO,QAAQ,EAAE,EAC3D,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,CAAC,EAAE,EAAE,CAAC,2CA8J3B"}
@@ -83,6 +83,12 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
83
83
  * @defaultValue screen width
84
84
  */
85
85
  width?: number;
86
+ /**
87
+ * The height of the `GestureViewer`.
88
+ * @remarks If you don't set this prop, the height of the `GestureViewer` will be the same as the height of the screen.
89
+ * @defaultValue screen height
90
+ */
91
+ height?: number;
86
92
  /**
87
93
  * Enables snap scrolling mode.
88
94
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type NativeScrollEvent, type NativeSyntheticEvent } from 'react-native';
2
2
  import type { GestureViewerProps } from './types';
3
- type UseGestureViewerProps<T = any> = Omit<GestureViewerProps<T>, 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle'>;
4
- export declare const useGestureViewer: <T = any>({ data, initialIndex, onIndexChange, onDismiss, width: customWidth, dismissThreshold, resistance, animateBackdrop, enableDismissGesture, enableSwipeGesture, enableZoomGesture, enableDoubleTapGesture, enableZoomPanGesture, enableLoop, maxZoomScale, itemSpacing, useSnap, id, onDismissStart, triggerAnimation, }: UseGestureViewerProps<T>) => {
3
+ type UseGestureViewerProps<T = any> = Omit<GestureViewerProps<T>, 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle' | 'useSnap'>;
4
+ export declare const useGestureViewer: <T = any>({ data, initialIndex, onIndexChange, onDismiss, width: customWidth, height: customHeight, dismissThreshold, resistance, animateBackdrop, enableDismissGesture, enableSwipeGesture, enableZoomGesture, enableDoubleTapGesture, enableZoomPanGesture, enableLoop, maxZoomScale, itemSpacing, id, onDismissStart, triggerAnimation, }: UseGestureViewerProps<T>) => {
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,CAAC,GAAG,GAAG,IAAI,IAAI,CACxC,kBAAkB,CAAC,CAAC,CAAC,EACrB,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,CACtG,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,uTAqBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;iCA6Sf,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuSlD,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,CAAC,GAAG,GAAG,IAAI,IAAI,CACxC,kBAAkB,CAAC,CAAC,CAAC,EACrB,YAAY,GAAG,iBAAiB,GAAG,eAAe,GAAG,WAAW,GAAG,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAClH,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,CAAC,GAAG,GAAG,EAAE,oUAqBvC,qBAAqB,CAAC,CAAC,CAAC;;;;;;;iCAwSf,oBAAoB,CAAC,iBAAiB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuSlD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-gesture-image-viewer",
3
- "version": "1.7.2",
3
+ "version": "1.8.0",
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",
@@ -15,6 +15,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
15
15
  renderContainer,
16
16
  ListComponent,
17
17
  width: customWidth,
18
+ height: customHeight,
18
19
  listProps,
19
20
  backdropStyle: backdropStyleProps,
20
21
  containerStyle,
@@ -30,7 +31,8 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
30
31
 
31
32
  const { width: screenWidth, height: screenHeight } = useWindowDimensions();
32
33
 
33
- const width = useSnap ? customWidth || screenWidth : screenWidth;
34
+ const width = customWidth || screenWidth;
35
+ const height = customHeight || screenHeight;
34
36
 
35
37
  const loopData = useMemo(() => createLoopData(dataRef, enableLoop), [enableLoop]);
36
38
 
@@ -51,9 +53,9 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
51
53
  id,
52
54
  data,
53
55
  width,
56
+ height,
54
57
  initialIndex,
55
58
  itemSpacing,
56
- useSnap,
57
59
  enableLoop,
58
60
  ...props,
59
61
  });
@@ -77,7 +79,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
77
79
  style={[
78
80
  {
79
81
  width,
80
- height: screenHeight,
82
+ height,
81
83
  marginHorizontal: itemSpacing / 2,
82
84
  },
83
85
  styles.item,
@@ -87,7 +89,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
87
89
  </View>
88
90
  );
89
91
  },
90
- [width, itemSpacing, renderItemProp, keyExtractor, isScrollView, screenHeight],
92
+ [width, itemSpacing, renderItemProp, keyExtractor, isScrollView, height],
91
93
  );
92
94
 
93
95
  const getItemLayout = useCallback(
@@ -141,7 +143,7 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
141
143
  const listComponent = (
142
144
  <GestureHandlerRootView>
143
145
  <GestureDetector gesture={gesture}>
144
- <View style={[styles.container, containerStyle]}>
146
+ <View style={[{ height, width }, containerStyle]}>
145
147
  <Animated.View style={[styles.background, backdropStyleProps, backdropStyle]} />
146
148
  <Animated.View
147
149
  style={[styles.content, animatedStyle]}
@@ -183,9 +185,6 @@ export function GestureViewer<T = any, LC = typeof FlatList>({
183
185
  }
184
186
 
185
187
  const styles = StyleSheet.create({
186
- container: {
187
- flex: 1,
188
- },
189
188
  item: {
190
189
  justifyContent: 'center',
191
190
  alignItems: 'center',
package/src/types.ts CHANGED
@@ -91,6 +91,12 @@ export interface GestureViewerProps<T = any, LC = typeof RNFlatList> {
91
91
  * @defaultValue screen width
92
92
  */
93
93
  width?: number;
94
+ /**
95
+ * The height of the `GestureViewer`.
96
+ * @remarks If you don't set this prop, the height of the `GestureViewer` will be the same as the height of the screen.
97
+ * @defaultValue screen height
98
+ */
99
+ height?: number;
94
100
  /**
95
101
  * Enables snap scrolling mode.
96
102
  *
@@ -23,7 +23,7 @@ import { createBoundsConstraint, createScrollAction, getLoopAdjustedIndex } from
23
23
 
24
24
  type UseGestureViewerProps<T = any> = Omit<
25
25
  GestureViewerProps<T>,
26
- 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle'
26
+ 'renderItem' | 'renderContainer' | 'ListComponent' | 'listProps' | 'containerStyle' | 'backdropStyle' | 'useSnap'
27
27
  >;
28
28
 
29
29
  export const useGestureViewer = <T = any>({
@@ -32,6 +32,7 @@ export const useGestureViewer = <T = any>({
32
32
  onIndexChange,
33
33
  onDismiss,
34
34
  width: customWidth,
35
+ height: customHeight,
35
36
  dismissThreshold = 80,
36
37
  resistance = 2,
37
38
  animateBackdrop = true,
@@ -43,13 +44,13 @@ export const useGestureViewer = <T = any>({
43
44
  enableLoop = false,
44
45
  maxZoomScale = 2,
45
46
  itemSpacing = 0,
46
- useSnap = false,
47
47
  id = 'default',
48
48
  onDismissStart,
49
49
  triggerAnimation,
50
50
  }: UseGestureViewerProps<T>) => {
51
51
  const { width: screenWidth, height: screenHeight } = useWindowDimensions();
52
- const width = useSnap ? customWidth || screenWidth : screenWidth;
52
+ const width = customWidth || screenWidth;
53
+ const height = customHeight || screenHeight;
53
54
 
54
55
  const [isZoomed, setIsZoomed] = useState(false);
55
56
  const [isRotated, setIsRotated] = useState(false);
@@ -97,10 +98,7 @@ export const useGestureViewer = <T = any>({
97
98
  return initialIndex;
98
99
  }, [enableLoop, data.length, initialIndex]);
99
100
 
100
- const constrainTranslation = useMemo(
101
- () => createBoundsConstraint({ width, height: screenHeight }),
102
- [width, screenHeight],
103
- );
101
+ const constrainTranslation = useMemo(() => createBoundsConstraint({ width, height }), [width, height]);
104
102
 
105
103
  const onAnimationComplete = useCallback(() => {
106
104
  onAnimationCompleteRef.current?.();
@@ -167,11 +165,11 @@ export const useGestureViewer = <T = any>({
167
165
 
168
166
  useEffect(() => {
169
167
  if (shouldStartTriggerAnimation && triggerRectRef.current) {
170
- const startX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - screenWidth / 2;
171
- const startY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - screenHeight / 2;
168
+ const startX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
169
+ const startY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - height / 2;
172
170
  const initialScaleFromTrigger = Math.min(
173
- triggerRectRef.current.width / screenWidth,
174
- triggerRectRef.current.height / screenHeight,
171
+ triggerRectRef.current.width / width,
172
+ triggerRectRef.current.height / height,
175
173
  );
176
174
 
177
175
  triggerScale.value = initialScaleFromTrigger;
@@ -197,8 +195,8 @@ export const useGestureViewer = <T = any>({
197
195
  }, [
198
196
  shouldStartTriggerAnimation,
199
197
  animationConfig,
200
- screenWidth,
201
- screenHeight,
198
+ width,
199
+ height,
202
200
  triggerOpacity,
203
201
  triggerScale,
204
202
  triggerTranslateX,
@@ -260,7 +258,7 @@ export const useGestureViewer = <T = any>({
260
258
  manager.setEnableSwipeGesture(enableSwipeGesture);
261
259
  manager.setCurrentIndex(initialIndex);
262
260
  manager.setWidth(width + itemSpacing);
263
- manager.setHeight(screenHeight);
261
+ manager.setHeight(height);
264
262
  manager.setZoomSharedValues(scale, translateX, translateY, maxZoomScale);
265
263
  manager.setRotation(rotation);
266
264
  manager.setEnableLoop(enableLoop);
@@ -275,7 +273,7 @@ export const useGestureViewer = <T = any>({
275
273
  maxZoomScale,
276
274
  enableLoop,
277
275
  scale,
278
- screenHeight,
276
+ height,
279
277
  translateX,
280
278
  translateY,
281
279
  rotation,
@@ -314,12 +312,9 @@ export const useGestureViewer = <T = any>({
314
312
  onDismissStart?.();
315
313
 
316
314
  if (triggerRectRef.current) {
317
- const endX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - screenWidth / 2;
318
- const endY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - screenHeight / 2;
319
- const endScale = Math.min(
320
- triggerRectRef.current.width / screenWidth,
321
- triggerRectRef.current.height / screenHeight,
322
- );
315
+ const endX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
316
+ const endY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - height / 2;
317
+ const endScale = Math.min(triggerRectRef.current.width / width, triggerRectRef.current.height / height);
323
318
 
324
319
  triggerScale.value = withTiming(endScale, animationConfig);
325
320
  triggerTranslateX.value = withTiming(endX, animationConfig);
@@ -339,8 +334,8 @@ export const useGestureViewer = <T = any>({
339
334
  animationConfig,
340
335
  onDismiss,
341
336
  onDismissStart,
342
- screenWidth,
343
- screenHeight,
337
+ width,
338
+ height,
344
339
  triggerTranslateX,
345
340
  triggerScale,
346
341
  triggerTranslateY,
@@ -450,7 +445,7 @@ export const useGestureViewer = <T = any>({
450
445
 
451
446
  const deltaScale = newScale - startScale.value;
452
447
  const centerX = event.focalX - width / 2;
453
- const centerY = event.focalY - screenHeight / 2;
448
+ const centerY = event.focalY - height / 2;
454
449
 
455
450
  // NOTE 새로운 이동값 = 기존 이동값 - (중심점 거리 × 스케일 변화량) / 원래 스케일 (중심점이 화면 중심에서 멀수록, 확대 배율이 클수록 더 많이 이동)
456
451
  const newTranslateX = initialTranslateX.value - (centerX * deltaScale) / startScale.value;
@@ -515,7 +510,7 @@ export const useGestureViewer = <T = any>({
515
510
  initialTranslateX,
516
511
  initialTranslateY,
517
512
  width,
518
- screenHeight,
513
+ height,
519
514
  constrainTranslation,
520
515
  ]);
521
516
 
@@ -563,7 +558,7 @@ export const useGestureViewer = <T = any>({
563
558
 
564
559
  if (nextScale > 1) {
565
560
  const centerX = event.x - width / 2;
566
- const centerY = event.y - screenHeight / 2;
561
+ const centerY = event.y - height / 2;
567
562
 
568
563
  // NOTE 확대로 밀려난 거리만큼 반대로 이동해서 탭 지점을 제자리에 유지
569
564
  translateX.value = withTiming(-centerX * (nextScale - 1), {
@@ -590,7 +585,7 @@ export const useGestureViewer = <T = any>({
590
585
  easing: Easing.bezier(0.25, 0.1, 0.25, 1.0),
591
586
  });
592
587
  });
593
- }, [scale, enableDoubleTapGesture, maxZoomScale, translateX, translateY, width, screenHeight]);
588
+ }, [scale, enableDoubleTapGesture, maxZoomScale, translateX, translateY, width, height]);
594
589
 
595
590
  const zoomGesture = useMemo(() => {
596
591
  return Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, doubleTapGesture));