react-native-gesture-image-viewer 2.1.4 → 2.3.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.
Files changed (56) hide show
  1. package/README.md +6 -1
  2. package/lib/module/GestureTrigger.js +22 -5
  3. package/lib/module/GestureTrigger.js.map +1 -1
  4. package/lib/module/GestureViewer.js +2 -2
  5. package/lib/module/GestureViewer.js.map +1 -1
  6. package/lib/module/GestureViewerManager.js +3 -0
  7. package/lib/module/GestureViewerManager.js.map +1 -1
  8. package/lib/module/GestureViewerRegistry.js +52 -8
  9. package/lib/module/GestureViewerRegistry.js.map +1 -1
  10. package/lib/module/index.js.map +1 -1
  11. package/lib/module/useGestureViewer.js +141 -43
  12. package/lib/module/useGestureViewer.js.map +1 -1
  13. package/lib/module/useGestureViewerEvent.js +15 -1
  14. package/lib/module/useGestureViewerEvent.js.map +1 -1
  15. package/lib/module/useGestureViewerPaging.js +16 -2
  16. package/lib/module/useGestureViewerPaging.js.map +1 -1
  17. package/lib/module/useGestureViewerPaging.web.js +62 -28
  18. package/lib/module/useGestureViewerPaging.web.js.map +1 -1
  19. package/lib/module/utils/dismiss.js +25 -0
  20. package/lib/module/utils/dismiss.js.map +1 -0
  21. package/lib/typescript/src/GestureTrigger.d.ts +9 -3
  22. package/lib/typescript/src/GestureTrigger.d.ts.map +1 -1
  23. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  24. package/lib/typescript/src/GestureViewerManager.d.ts +2 -1
  25. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  26. package/lib/typescript/src/GestureViewerRegistry.d.ts +11 -4
  27. package/lib/typescript/src/GestureViewerRegistry.d.ts.map +1 -1
  28. package/lib/typescript/src/index.d.ts +1 -1
  29. package/lib/typescript/src/index.d.ts.map +1 -1
  30. package/lib/typescript/src/types.d.ts +33 -4
  31. package/lib/typescript/src/types.d.ts.map +1 -1
  32. package/lib/typescript/src/useGestureViewer.d.ts +2 -2
  33. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  34. package/lib/typescript/src/useGestureViewerEvent.d.ts +15 -1
  35. package/lib/typescript/src/useGestureViewerEvent.d.ts.map +1 -1
  36. package/lib/typescript/src/useGestureViewerPaging.d.ts +1 -1
  37. package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
  38. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +10 -1
  39. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +1 -1
  40. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +1 -1
  41. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +1 -1
  42. package/lib/typescript/src/utils/dismiss.d.ts +4 -0
  43. package/lib/typescript/src/utils/dismiss.d.ts.map +1 -0
  44. package/package.json +1 -1
  45. package/src/GestureTrigger.tsx +31 -6
  46. package/src/GestureViewer.tsx +4 -2
  47. package/src/GestureViewerManager.ts +4 -0
  48. package/src/GestureViewerRegistry.ts +67 -8
  49. package/src/index.tsx +1 -0
  50. package/src/types.ts +31 -4
  51. package/src/useGestureViewer.ts +219 -81
  52. package/src/useGestureViewerEvent.ts +15 -1
  53. package/src/useGestureViewerPaging.ts +18 -2
  54. package/src/useGestureViewerPaging.types.ts +8 -1
  55. package/src/useGestureViewerPaging.web.ts +77 -33
  56. package/src/utils/dismiss.ts +36 -0
@@ -8,11 +8,13 @@ import { scheduleOnRN } from 'react-native-worklets';
8
8
  import { registry } from "./GestureViewerRegistry.js";
9
9
  import { useGestureViewerPaging } from './useGestureViewerPaging';
10
10
  import { createBoundsConstraint, createScrollAction } from "./utils/index.js";
11
+ import { getDismissDistance, shouldDismissByDirection } from "./utils/dismiss.js";
11
12
  import { applyTapZoomAtPoint } from "./utils/tapZoom.js";
12
13
  export const useGestureViewer = ({
13
14
  data,
14
15
  initialIndex = 0,
15
16
  onDismiss,
17
+ onSingleTap,
16
18
  width: customWidth,
17
19
  dismiss,
18
20
  enableDoubleTapZoom = true,
@@ -42,9 +44,17 @@ export const useGestureViewer = ({
42
44
  const [shouldStartTriggerAnimation, setShouldStartTriggerAnimation] = useState(false);
43
45
  const [manager, setManager] = useState(null);
44
46
  const [currentIndex, setCurrentIndex] = useState(initialIndex);
47
+ const [activeTriggerNode, setActiveTriggerNode] = useState(null);
45
48
  const listRef = useRef(null);
46
49
  const triggerRectRef = useRef(null);
50
+ const pendingIndexRef = useRef(initialIndex);
47
51
  const onAnimationCompleteRef = useRef(triggerAnimation?.onAnimationComplete);
52
+ const onSingleTapRef = useRef(onSingleTap);
53
+ const dataRef = useRef(data);
54
+ const managerRef = useRef(manager);
55
+ const isValidTriggerRect = useCallback(rect => {
56
+ return !!rect && rect.width > 0 && rect.height > 0;
57
+ }, []);
48
58
  const initialTranslateY = useSharedValue(0);
49
59
  const initialTranslateX = useSharedValue(0);
50
60
  const startScale = useSharedValue(1);
@@ -66,11 +76,12 @@ export const useGestureViewer = ({
66
76
  reduceMotion: triggerAnimation?.reduceMotion
67
77
  }), [triggerAnimation?.duration, triggerAnimation?.easing, triggerAnimation?.reduceMotion]);
68
78
  const dismissOptions = useMemo(() => ({
79
+ direction: dismiss?.direction ?? 'down',
69
80
  enabled: dismiss?.enabled ?? true,
70
81
  fadeBackdrop: dismiss?.fadeBackdrop ?? true,
71
82
  resistance: dismiss?.resistance ?? 2,
72
83
  threshold: dismiss?.threshold ?? 80
73
- }), [dismiss?.enabled, dismiss?.threshold, dismiss?.resistance, dismiss?.fadeBackdrop]);
84
+ }), [dismiss?.direction, dismiss?.enabled, dismiss?.threshold, dismiss?.resistance, dismiss?.fadeBackdrop]);
74
85
  const adjustedInitialIndex = useMemo(() => {
75
86
  if (enableLoop && dataLength > 1) {
76
87
  return initialIndex + 1;
@@ -94,10 +105,17 @@ export const useGestureViewer = ({
94
105
  scale.value = withTiming(1);
95
106
  rotation.value = 0;
96
107
  }, [initialTranslateX, initialTranslateY, rotation, scale, startScale, translateX, translateY]);
108
+ const syncPendingIndex = useCallback(nextIndex => {
109
+ if (nextIndex < 0 || nextIndex >= dataLength) {
110
+ return;
111
+ }
112
+ pendingIndexRef.current = nextIndex;
113
+ }, [dataLength]);
97
114
  const syncCurrentIndex = useCallback(nextIndex => {
98
115
  if (!manager || nextIndex < 0 || nextIndex >= dataLength) {
99
116
  return;
100
117
  }
118
+ pendingIndexRef.current = nextIndex;
101
119
  const managerCurrentIndex = manager.getState().currentIndex;
102
120
  if (nextIndex === managerCurrentIndex) {
103
121
  return;
@@ -107,15 +125,11 @@ export const useGestureViewer = ({
107
125
  resetTransformState();
108
126
  }, [dataLength, manager, resetTransformState]);
109
127
  const emitZoomChange = useCallback((currentScale, prevScale) => {
110
- if (manager) {
111
- manager.emitZoomChange(currentScale, prevScale);
112
- }
113
- }, [manager]);
128
+ managerRef.current?.emitZoomChange(currentScale, prevScale);
129
+ }, []);
114
130
  const emitRotationChange = useCallback((currentRotation, prevRotation) => {
115
- if (manager) {
116
- manager.emitRotationChange(currentRotation, prevRotation);
117
- }
118
- }, [manager]);
131
+ managerRef.current?.emitRotationChange(currentRotation, prevRotation);
132
+ }, []);
119
133
  const onAnimationComplete = useCallback(() => {
120
134
  onAnimationCompleteRef.current?.();
121
135
  }, []);
@@ -135,7 +149,10 @@ export const useGestureViewer = ({
135
149
  let unsubscribe;
136
150
  const unsubscribeFromRegistry = registry.subscribeToManager(id, managerInstance => {
137
151
  setManager(managerInstance);
138
- unsubscribe = managerInstance?.subscribe(state => setCurrentIndex(state.currentIndex));
152
+ unsubscribe = managerInstance?.subscribe(state => {
153
+ pendingIndexRef.current = state.currentIndex;
154
+ setCurrentIndex(state.currentIndex);
155
+ });
139
156
  });
140
157
  return () => {
141
158
  unsubscribeFromRegistry();
@@ -143,6 +160,10 @@ export const useGestureViewer = ({
143
160
  };
144
161
  }, [id]);
145
162
  useEffect(() => {
163
+ return registry.subscribeToActiveTrigger(id, setActiveTriggerNode);
164
+ }, [id]);
165
+ useEffect(() => {
166
+ pendingIndexRef.current = initialIndex;
146
167
  if (!manager) {
147
168
  return;
148
169
  }
@@ -183,6 +204,15 @@ export const useGestureViewer = ({
183
204
  useEffect(() => {
184
205
  onAnimationCompleteRef.current = triggerAnimation?.onAnimationComplete;
185
206
  }, [triggerAnimation?.onAnimationComplete]);
207
+ useEffect(() => {
208
+ dataRef.current = data;
209
+ }, [data]);
210
+ useEffect(() => {
211
+ managerRef.current = manager;
212
+ }, [manager]);
213
+ useEffect(() => {
214
+ onSingleTapRef.current = onSingleTap;
215
+ }, [onSingleTap]);
186
216
  useEffect(() => {
187
217
  if (shouldStartTriggerAnimation && triggerRectRef.current) {
188
218
  const startX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
@@ -208,50 +238,85 @@ export const useGestureViewer = ({
208
238
  }
209
239
  }, [shouldStartTriggerAnimation, animationConfig, width, height, triggerOpacity, triggerScale, triggerTranslateX, triggerTranslateY, onAnimationComplete]);
210
240
  useEffect(() => {
211
- const node = registry.getTriggerNode(id);
212
- if (node && typeof node.measure === 'function') {
213
- node.measure((_x, _y, width, height, pageX, pageY) => {
214
- triggerRectRef.current = {
215
- height,
216
- width,
217
- x: pageX,
218
- y: pageY
219
- };
220
- triggerOpacity.value = 0;
221
- setShouldStartTriggerAnimation(true);
222
- registry.clearTriggerNode(id);
223
- });
241
+ if (!activeTriggerNode || typeof activeTriggerNode.measure !== 'function') {
242
+ return;
224
243
  }
244
+ activeTriggerNode.measure((_x, _y, measuredWidth, measuredHeight, pageX, pageY) => {
245
+ const nextTriggerRect = {
246
+ height: measuredHeight,
247
+ width: measuredWidth,
248
+ x: pageX,
249
+ y: pageY
250
+ };
251
+ if (!isValidTriggerRect(nextTriggerRect)) {
252
+ registry.clearActiveTriggerNode(id);
253
+ return;
254
+ }
255
+ triggerRectRef.current = nextTriggerRect;
256
+ triggerOpacity.value = 0;
257
+ setShouldStartTriggerAnimation(true);
258
+ registry.clearActiveTriggerNode(id);
259
+ });
260
+ }, [activeTriggerNode, id, isValidTriggerRect, triggerOpacity]);
261
+ useEffect(() => {
225
262
  return () => {
226
263
  triggerRectRef.current = null;
227
264
  };
228
- }, [id, triggerOpacity]);
265
+ }, []);
266
+ const animateDismissToRect = useCallback(rect => {
267
+ const endX = rect.x + rect.width / 2 - width / 2;
268
+ const endY = rect.y + rect.height / 2 - height / 2;
269
+ const endScale = Math.min(rect.width / width, rect.height / height);
270
+ triggerScale.value = withTiming(endScale, animationConfig);
271
+ triggerTranslateX.value = withTiming(endX, animationConfig);
272
+ triggerTranslateY.value = withTiming(endY, animationConfig);
273
+ triggerOpacity.value = withTiming(0, animationConfig, finished => {
274
+ if (finished && onDismiss) {
275
+ scheduleOnRN(onDismiss);
276
+ }
277
+ });
278
+ }, [animationConfig, height, onDismiss, triggerOpacity, triggerScale, triggerTranslateX, triggerTranslateY, width]);
279
+ const dismissWithoutTrigger = useCallback(() => {
280
+ if (onDismiss) {
281
+ scheduleOnRN(onDismiss);
282
+ }
283
+ }, [onDismiss]);
229
284
  const handleDismiss = useCallback(() => {
230
285
  onDismissStart?.();
231
- if (triggerRectRef.current) {
232
- const endX = triggerRectRef.current.x + triggerRectRef.current.width / 2 - width / 2;
233
- const endY = triggerRectRef.current.y + triggerRectRef.current.height / 2 - height / 2;
234
- const endScale = Math.min(triggerRectRef.current.width / width, triggerRectRef.current.height / height);
235
- triggerScale.value = withTiming(endScale, animationConfig);
236
- triggerTranslateX.value = withTiming(endX, animationConfig);
237
- triggerTranslateY.value = withTiming(endY, animationConfig);
238
- triggerOpacity.value = withTiming(0, animationConfig, finished => {
239
- if (finished && onDismiss) {
240
- scheduleOnRN(onDismiss);
286
+ const dismissTargetIndex = pendingIndexRef.current;
287
+ const indexedTriggerNode = registry.getIndexedTriggerNode(id, dismissTargetIndex);
288
+ if (indexedTriggerNode && typeof indexedTriggerNode.measure === 'function') {
289
+ indexedTriggerNode.measure((_x, _y, measuredWidth, measuredHeight, pageX, pageY) => {
290
+ const currentTriggerRect = {
291
+ height: measuredHeight,
292
+ width: measuredWidth,
293
+ x: pageX,
294
+ y: pageY
295
+ };
296
+ if (isValidTriggerRect(currentTriggerRect)) {
297
+ animateDismissToRect(currentTriggerRect);
298
+ return;
299
+ }
300
+ if (isValidTriggerRect(triggerRectRef.current)) {
301
+ animateDismissToRect(triggerRectRef.current);
302
+ return;
241
303
  }
304
+ dismissWithoutTrigger();
242
305
  });
243
306
  return;
244
307
  }
245
- if (onDismiss) {
246
- scheduleOnRN(onDismiss);
308
+ if (isValidTriggerRect(triggerRectRef.current)) {
309
+ animateDismissToRect(triggerRectRef.current);
310
+ return;
247
311
  }
248
- }, [animationConfig, onDismiss, onDismissStart, width, height, triggerTranslateX, triggerScale, triggerTranslateY, triggerOpacity]);
312
+ dismissWithoutTrigger();
313
+ }, [animateDismissToRect, dismissWithoutTrigger, id, isValidTriggerRect, onDismissStart]);
249
314
  const dismissGesture = useMemo(() => {
250
315
  const canDismiss = !isZoomed && dismissOptions.enabled;
251
316
  return Gesture.Pan().minDistance(10).averageTouches(true).activeCursor('grabbing').activeOffsetY([-10, 10]).failOffsetX([-10, 10]).withRef(dismissGestureRef).enabled(canDismiss).onUpdate(event => {
252
317
  translateY.value = event.translationY / dismissOptions.resistance;
253
318
  }).onEnd(event => {
254
- if (canDismiss && event.translationY > dismissOptions.threshold) {
319
+ if (canDismiss && shouldDismissByDirection(event.translationY, dismissOptions.threshold, dismissOptions.direction)) {
255
320
  scheduleOnRN(handleDismiss);
256
321
  return;
257
322
  }
@@ -369,6 +434,35 @@ export const useGestureViewer = ({
369
434
  translateY.value = constrainedTranslateY;
370
435
  }
371
436
  }), [translateX, translateY, enablePanWhenZoomed, isZoomed, scale, initialTranslateX, initialTranslateY, constrainTranslation]);
437
+ const emitSingleTap = useCallback((x, y) => {
438
+ const index = pendingIndexRef.current;
439
+ const currentData = dataRef.current;
440
+ if (index < 0 || index >= currentData.length) {
441
+ return;
442
+ }
443
+ managerRef.current?.emitTap({
444
+ kind: 'single',
445
+ x,
446
+ y,
447
+ index
448
+ });
449
+ const item = currentData[index];
450
+ if (item === undefined) {
451
+ return;
452
+ }
453
+ onSingleTapRef.current?.({
454
+ x,
455
+ y,
456
+ index,
457
+ item
458
+ });
459
+ }, []);
460
+ const singleTapGesture = useMemo(() => Gesture.Tap().enabled(Platform.OS !== 'web').numberOfTaps(1).onEnd((event, success) => {
461
+ if (!success) {
462
+ return;
463
+ }
464
+ scheduleOnRN(emitSingleTap, event.x, event.y);
465
+ }), [emitSingleTap]);
372
466
  const doubleTapGesture = useMemo(() => Gesture.Tap().enabled(enableDoubleTapZoom && Platform.OS !== 'web').numberOfTaps(2).onEnd(event => {
373
467
  applyTapZoomAtPoint({
374
468
  x: event.x,
@@ -381,7 +475,8 @@ export const useGestureViewer = ({
381
475
  translateY
382
476
  });
383
477
  }), [enableDoubleTapZoom, height, maxZoomScale, scale, translateX, translateY, width]);
384
- const zoomGesture = useMemo(() => Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, doubleTapGesture)), [zoomPinchGesture, zoomPanGesture, doubleTapGesture]);
478
+ const tapGesture = useMemo(() => Gesture.Exclusive(doubleTapGesture, singleTapGesture), [doubleTapGesture, singleTapGesture]);
479
+ const zoomGesture = useMemo(() => Gesture.Race(zoomPinchGesture, Gesture.Exclusive(zoomPanGesture, tapGesture)), [zoomPinchGesture, zoomPanGesture, tapGesture]);
385
480
  const animatedStyle = useAnimatedStyle(() => ({
386
481
  opacity: triggerOpacity.value,
387
482
  transform: [{
@@ -407,11 +502,12 @@ export const useGestureViewer = ({
407
502
  opacity: baseOpacity
408
503
  };
409
504
  }
410
- const dismissOpacity = interpolate(translateY.value, [0, 200], [1, 0], 'clamp');
505
+ const dismissDistance = getDismissDistance(translateY.value, dismissOptions.direction);
506
+ const dismissOpacity = interpolate(dismissDistance, [0, 200], [1, 0], 'clamp');
411
507
  return {
412
508
  opacity: baseOpacity * dismissOpacity
413
509
  };
414
- }, [dismissOptions.fadeBackdrop]);
510
+ }, [dismissOptions.direction, dismissOptions.fadeBackdrop]);
415
511
  const nativeScrollGesture = useMemo(() => {
416
512
  return Gesture.Native().requireExternalGestureToFail(dismissGestureRef);
417
513
  }, []);
@@ -419,7 +515,7 @@ export const useGestureViewer = ({
419
515
  onMomentumScrollEnd,
420
516
  onScroll,
421
517
  onScrollBeginDrag,
422
- onWebDoubleClick
518
+ onWebClick
423
519
  } = useGestureViewerPaging({
424
520
  adjustedInitialIndex,
425
521
  autoPlay,
@@ -435,9 +531,11 @@ export const useGestureViewer = ({
435
531
  itemSpacing,
436
532
  manager,
437
533
  maxZoomScale,
534
+ onSingleTap: emitSingleTap,
438
535
  scale,
439
536
  scrollTo,
440
537
  syncCurrentIndex,
538
+ syncPendingIndex,
441
539
  translateX,
442
540
  translateY,
443
541
  width
@@ -453,7 +551,7 @@ export const useGestureViewer = ({
453
551
  isZoomed,
454
552
  listRef,
455
553
  nativeScrollGesture,
456
- onWebDoubleClick,
554
+ onWebClick,
457
555
  onMomentumScrollEnd,
458
556
  onScroll,
459
557
  onScrollBeginDrag,
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","Platform","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","useGestureViewerPaging","createBoundsConstraint","createScrollAction","applyTapZoomAtPoint","useGestureViewer","data","initialIndex","onDismiss","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","dismissGestureRef","undefined","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","listRef","triggerRectRef","onAnimationCompleteRef","onAnimationComplete","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","enabled","fadeBackdrop","resistance","threshold","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","resetTransformState","value","syncCurrentIndex","nextIndex","managerCurrentIndex","getState","notifyStateChange","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setResetTransformCallback","setRotation","setEnableLoop","setListRef","runAfterInteractions","cancel","startX","x","startY","y","initialScaleFromTrigger","Math","min","finished","node","getTriggerNode","measure","_x","_y","pageX","pageY","clearTriggerNode","handleDismiss","endX","endY","endScale","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","withRef","onUpdate","event","translationY","onEnd","damping","energyThreshold","mass","overshootClamping","stiffness","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","focalX","focalY","newScale","focalDeltaX","abs","focalDeltaY","deltaScale","centerX","centerY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","doubleTapGesture","Tap","OS","numberOfTaps","zoomGesture","Race","Exclusive","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissOpacity","nativeScrollGesture","Native","requireExternalGestureToFail","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onWebDoubleClick"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useMemo","useRef","useState","InteractionManager","Platform","useWindowDimensions","Gesture","Easing","interpolate","useAnimatedReaction","useAnimatedStyle","useSharedValue","withSpring","withTiming","scheduleOnRN","registry","useGestureViewerPaging","createBoundsConstraint","createScrollAction","getDismissDistance","shouldDismissByDirection","applyTapZoomAtPoint","useGestureViewer","data","initialIndex","onDismiss","onSingleTap","width","customWidth","dismiss","enableDoubleTapZoom","enablePinchZoom","enableHorizontalSwipe","enablePanWhenZoomed","enableLoop","maxZoomScale","itemSpacing","height","customHeight","id","onDismissStart","triggerAnimation","autoPlay","autoPlayInterval","screenWidth","screenHeight","dismissGestureRef","undefined","isZoomed","setIsZoomed","isRotated","setIsRotated","isPinching","setIsPinching","shouldStartTriggerAnimation","setShouldStartTriggerAnimation","manager","setManager","currentIndex","setCurrentIndex","activeTriggerNode","setActiveTriggerNode","listRef","triggerRectRef","pendingIndexRef","onAnimationCompleteRef","onAnimationComplete","onSingleTapRef","dataRef","managerRef","isValidTriggerRect","rect","initialTranslateY","initialTranslateX","startScale","translateY","translateX","scale","backdropOpacity","rotation","triggerScale","triggerTranslateX","triggerTranslateY","triggerOpacity","lastFocalX","lastFocalY","dataLength","length","animationConfig","duration","easing","bezier","reduceMotion","dismissOptions","direction","enabled","fadeBackdrop","resistance","threshold","adjustedInitialIndex","constrainTranslation","scrollTo","index","animated","scrollAction","current","resetTransformState","value","syncPendingIndex","nextIndex","syncCurrentIndex","managerCurrentIndex","getState","notifyStateChange","emitZoomChange","currentScale","prevScale","emitRotationChange","currentRotation","prevRotation","previousScale","previousRotation","unsubscribe","unsubscribeFromRegistry","subscribeToManager","managerInstance","subscribe","state","subscribeToActiveTrigger","setDataLength","setEnableHorizontalSwipe","setWidth","setHeight","setZoomSharedValues","setResetTransformCallback","setRotation","setEnableLoop","setListRef","runAfterInteractions","cancel","startX","x","startY","y","initialScaleFromTrigger","Math","min","finished","measure","_x","_y","measuredWidth","measuredHeight","pageX","pageY","nextTriggerRect","clearActiveTriggerNode","animateDismissToRect","endX","endY","endScale","dismissWithoutTrigger","handleDismiss","dismissTargetIndex","indexedTriggerNode","getIndexedTriggerNode","currentTriggerRect","dismissGesture","canDismiss","Pan","minDistance","averageTouches","activeCursor","activeOffsetY","failOffsetX","withRef","onUpdate","event","translationY","onEnd","damping","energyThreshold","mass","overshootClamping","stiffness","zoomPinchGesture","Pinch","onTouchesDown","numberOfTouches","onBegin","focalX","focalY","newScale","focalDeltaX","abs","focalDeltaY","deltaScale","centerX","centerY","newTranslateX","newTranslateY","constrainedTranslateX","constrainedTranslateY","onTouchesUp","onFinalize","zoomPanGesture","translationX","emitSingleTap","currentData","emitTap","kind","item","singleTapGesture","Tap","OS","numberOfTaps","success","doubleTapGesture","tapGesture","Exclusive","zoomGesture","Race","animatedStyle","opacity","transform","rotate","backdropStyle","baseOpacity","dismissDistance","dismissOpacity","nativeScrollGesture","Native","requireExternalGestureToFail","onMomentumScrollEnd","onScroll","onScrollBeginDrag","onWebClick"],"sourceRoot":"../../src","sources":["useGestureViewer.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AACzE,SAASC,kBAAkB,EAAEC,QAAQ,EAAaC,mBAAmB,QAAQ,cAAc;AAC3F,SAASC,OAAO,QAA0B,8BAA8B;AACxE,SACEC,MAAM,EACNC,WAAW,EACXC,mBAAmB,EACnBC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,UAAU,QACL,yBAAyB;AAChC,SAASC,YAAY,QAAQ,uBAAuB;AAGpD,SAASC,QAAQ,QAAQ,4BAAyB;AAElD,SAASC,sBAAsB,QAAQ,0BAA0B;AACjE,SAASC,sBAAsB,EAAEC,kBAAkB,QAAQ,kBAAS;AACpE,SAASC,kBAAkB,EAAEC,wBAAwB,QAAQ,oBAAiB;AAC9E,SAASC,mBAAmB,QAAQ,oBAAiB;AAarD,OAAO,MAAMC,gBAAgB,GAAGA,CAAY;EAC1CC,IAAI;EACJC,YAAY,GAAG,CAAC;EAChBC,SAAS;EACTC,WAAW;EACXC,KAAK,EAAEC,WAAW;EAClBC,OAAO;EACPC,mBAAmB,GAAG,IAAI;EAC1BC,eAAe,GAAG,IAAI;EACtBC,qBAAqB,GAAG,IAAI;EAC5BC,mBAAmB,GAAG,IAAI;EAC1BC,UAAU,GAAG,KAAK;EAClBC,YAAY,GAAG,CAAC;EAChBC,WAAW,GAAG,CAAC;EACfC,MAAM,EAAEC,YAAY;EACpBC,EAAE,GAAG,SAAS;EACdC,cAAc;EACdC,gBAAgB;EAChBC,QAAQ,GAAG,KAAK;EAChBC,gBAAgB,GAAG;AACa,CAAC,KAAK;EACtC,MAAM;IAAEhB,KAAK,EAAEiB,WAAW;IAAEP,MAAM,EAAEQ;EAAa,CAAC,GAAGxC,mBAAmB,CAAC,CAAC;EAC1E,MAAMsB,KAAK,GAAGC,WAAW,IAAIgB,WAAW;EACxC,MAAMP,MAAM,GAAGC,YAAY,IAAIO,YAAY;EAE3C,MAAMC,iBAAiB,GAAG7C,MAAM,CAAc8C,SAAS,CAAC;EAExD,MAAM,CAACC,QAAQ,EAAEC,WAAW,CAAC,GAAG/C,QAAQ,CAAC,KAAK,CAAC;EAC/C,MAAM,CAACgD,SAAS,EAAEC,YAAY,CAAC,GAAGjD,QAAQ,CAAC,KAAK,CAAC;EACjD,MAAM,CAACkD,UAAU,EAAEC,aAAa,CAAC,GAAGnD,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACoD,2BAA2B,EAAEC,8BAA8B,CAAC,GAAGrD,QAAQ,CAAC,KAAK,CAAC;EACrF,MAAM,CAACsD,OAAO,EAAEC,UAAU,CAAC,GAAGvD,QAAQ,CAA8B,IAAI,CAAC;EACzE,MAAM,CAACwD,YAAY,EAAEC,eAAe,CAAC,GAAGzD,QAAQ,CAACsB,YAAY,CAAC;EAC9D,MAAM,CAACoC,iBAAiB,EAAEC,oBAAoB,CAAC,GAAG3D,QAAQ,CAAc,IAAI,CAAC;EAE7E,MAAM4D,OAAO,GAAG7D,MAAM,CAAM,IAAI,CAAC;EACjC,MAAM8D,cAAc,GAAG9D,MAAM,CAAqB,IAAI,CAAC;EACvD,MAAM+D,eAAe,GAAG/D,MAAM,CAACuB,YAAY,CAAC;EAC5C,MAAMyC,sBAAsB,GAAGhE,MAAM,CAACwC,gBAAgB,EAAEyB,mBAAmB,CAAC;EAC5E,MAAMC,cAAc,GAAGlE,MAAM,CAACyB,WAAW,CAAC;EAC1C,MAAM0C,OAAO,GAAGnE,MAAM,CAACsB,IAAI,CAAC;EAC5B,MAAM8C,UAAU,GAAGpE,MAAM,CAACuD,OAAO,CAAC;EAElC,MAAMc,kBAAkB,GAAGxE,WAAW,CAAEyE,IAAwB,IAA0B;IACxF,OAAO,CAAC,CAACA,IAAI,IAAIA,IAAI,CAAC5C,KAAK,GAAG,CAAC,IAAI4C,IAAI,CAAClC,MAAM,GAAG,CAAC;EACpD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMmC,iBAAiB,GAAG7D,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAM8D,iBAAiB,GAAG9D,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAM+D,UAAU,GAAG/D,cAAc,CAAC,CAAC,CAAC;EAEpC,MAAMgE,UAAU,GAAGhE,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMiE,UAAU,GAAGjE,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMkE,KAAK,GAAGlE,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMmE,eAAe,GAAGnE,cAAc,CAAC,CAAC,CAAC;EACzC,MAAMoE,QAAQ,GAAGpE,cAAc,CAAC,CAAC,CAAC;EAElC,MAAMqE,YAAY,GAAGrE,cAAc,CAAC,CAAC,CAAC;EACtC,MAAMsE,iBAAiB,GAAGtE,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMuE,iBAAiB,GAAGvE,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMwE,cAAc,GAAGxE,cAAc,CAAC,CAAC,CAAC;EAExC,MAAMyE,UAAU,GAAGzE,cAAc,CAAC,CAAC,CAAC;EACpC,MAAM0E,UAAU,GAAG1E,cAAc,CAAC,CAAC,CAAC;EAEpC,MAAM2E,UAAU,GAAG/D,IAAI,EAAEgE,MAAM,IAAI,CAAC;EAEpC,MAAMC,eAAe,GAAGxF,OAAO,CAC7B,OAAO;IACLyF,QAAQ,EAAEhD,gBAAgB,EAAEgD,QAAQ,IAAI,GAAG;IAC3CC,MAAM,EAAEjD,gBAAgB,EAAEiD,MAAM,IAAInF,MAAM,CAACoF,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACrEC,YAAY,EAAEnD,gBAAgB,EAAEmD;EAClC,CAAC,CAAC,EACF,CAACnD,gBAAgB,EAAEgD,QAAQ,EAAEhD,gBAAgB,EAAEiD,MAAM,EAAEjD,gBAAgB,EAAEmD,YAAY,CACvF,CAAC;EAED,MAAMC,cAAc,GAAG7F,OAAO,CAC5B,OAAO;IACL8F,SAAS,EAAEjE,OAAO,EAAEiE,SAAS,IAAI,MAAM;IACvCC,OAAO,EAAElE,OAAO,EAAEkE,OAAO,IAAI,IAAI;IACjCC,YAAY,EAAEnE,OAAO,EAAEmE,YAAY,IAAI,IAAI;IAC3CC,UAAU,EAAEpE,OAAO,EAAEoE,UAAU,IAAI,CAAC;IACpCC,SAAS,EAAErE,OAAO,EAAEqE,SAAS,IAAI;EACnC,CAAC,CAAC,EACF,CACErE,OAAO,EAAEiE,SAAS,EAClBjE,OAAO,EAAEkE,OAAO,EAChBlE,OAAO,EAAEqE,SAAS,EAClBrE,OAAO,EAAEoE,UAAU,EACnBpE,OAAO,EAAEmE,YAAY,CAEzB,CAAC;EAED,MAAMG,oBAAoB,GAAGnG,OAAO,CAAC,MAAM;IACzC,IAAIkC,UAAU,IAAIoD,UAAU,GAAG,CAAC,EAAE;MAChC,OAAO9D,YAAY,GAAG,CAAC;IACzB;IAEA,OAAOA,YAAY;EACrB,CAAC,EAAE,CAACU,UAAU,EAAEoD,UAAU,EAAE9D,YAAY,CAAC,CAAC;EAE1C,MAAM4E,oBAAoB,GAAGpG,OAAO,CAClC,MAAMiB,sBAAsB,CAAC;IAAEoB,MAAM;IAAEV;EAAM,CAAC,CAAC,EAC/C,CAACA,KAAK,EAAEU,MAAM,CAChB,CAAC;EAED,MAAMgE,QAAQ,GAAGvG,WAAW,CAC1B,CAACwG,KAAa,EAAEC,QAAiB,KAAK;IACpC,MAAMC,YAAY,GAAGtF,kBAAkB,CAAC4C,OAAO,CAAC2C,OAAO,EAAE9E,KAAK,GAAGS,WAAW,CAAC;IAE7E,OAAOoE,YAAY,CAACH,QAAQ,CAACC,KAAK,EAAEC,QAAQ,CAAC;EAC/C,CAAC,EACD,CAAC5E,KAAK,EAAES,WAAW,CACrB,CAAC;EAED,MAAMsE,mBAAmB,GAAG5G,WAAW,CAAC,MAAM;IAC5C8E,UAAU,CAAC+B,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;IAChC8D,UAAU,CAACgC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;IAChC4D,iBAAiB,CAACkC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;IACvC2D,iBAAiB,CAACmC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;IACvC6D,UAAU,CAACiC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;IAChCgE,KAAK,CAAC8B,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;IAC3BkE,QAAQ,CAAC4B,KAAK,GAAG,CAAC;EACpB,CAAC,EAAE,CAAClC,iBAAiB,EAAED,iBAAiB,EAAEO,QAAQ,EAAEF,KAAK,EAAEH,UAAU,EAAEE,UAAU,EAAED,UAAU,CAAC,CAAC;EAE/F,MAAMiC,gBAAgB,GAAG9G,WAAW,CACjC+G,SAAiB,IAAK;IACrB,IAAIA,SAAS,GAAG,CAAC,IAAIA,SAAS,IAAIvB,UAAU,EAAE;MAC5C;IACF;IAEAtB,eAAe,CAACyC,OAAO,GAAGI,SAAS;EACrC,CAAC,EACD,CAACvB,UAAU,CACb,CAAC;EAED,MAAMwB,gBAAgB,GAAGhH,WAAW,CACjC+G,SAAiB,IAAK;IACrB,IAAI,CAACrD,OAAO,IAAIqD,SAAS,GAAG,CAAC,IAAIA,SAAS,IAAIvB,UAAU,EAAE;MACxD;IACF;IAEAtB,eAAe,CAACyC,OAAO,GAAGI,SAAS;IAEnC,MAAME,mBAAmB,GAAGvD,OAAO,CAACwD,QAAQ,CAAC,CAAC,CAACtD,YAAY;IAE3D,IAAImD,SAAS,KAAKE,mBAAmB,EAAE;MACrC;IACF;IAEAvD,OAAO,CAACG,eAAe,CAACkD,SAAS,CAAC;IAClCrD,OAAO,CAACyD,iBAAiB,CAAC,CAAC;IAC3BP,mBAAmB,CAAC,CAAC;EACvB,CAAC,EACD,CAACpB,UAAU,EAAE9B,OAAO,EAAEkD,mBAAmB,CAC3C,CAAC;EAED,MAAMQ,cAAc,GAAGpH,WAAW,CAAC,CAACqH,YAAoB,EAAEC,SAAwB,KAAK;IACrF/C,UAAU,CAACoC,OAAO,EAAES,cAAc,CAACC,YAAY,EAAEC,SAAS,CAAC;EAC7D,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,kBAAkB,GAAGvH,WAAW,CAAC,CAACwH,eAAuB,EAAEC,YAA2B,KAAK;IAC/FlD,UAAU,CAACoC,OAAO,EAAEY,kBAAkB,CAACC,eAAe,EAAEC,YAAY,CAAC;EACvE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMrD,mBAAmB,GAAGpE,WAAW,CAAC,MAAM;IAC5CmE,sBAAsB,CAACwC,OAAO,GAAG,CAAC;EACpC,CAAC,EAAE,EAAE,CAAC;EAENhG,mBAAmB,CACjB,MAAMoE,KAAK,CAAC8B,KAAK,EACjB,CAACQ,YAAY,EAAEK,aAAa,KAAK;IAC/B,IAAIL,YAAY,KAAKK,aAAa,EAAE;MAClC1G,YAAY,CAACoG,cAAc,EAAEC,YAAY,EAAEK,aAAa,CAAC;IAC3D;IAEA1G,YAAY,CAACmC,WAAW,EAAEkE,YAAY,GAAG,CAAC,CAAC;EAC7C,CACF,CAAC;EAED1G,mBAAmB,CACjB,MAAMsE,QAAQ,CAAC4B,KAAK,EACpB,CAACW,eAAe,EAAEG,gBAAgB,KAAK;IACrC,IAAIH,eAAe,KAAKG,gBAAgB,EAAE;MACxC3G,YAAY,CAACuG,kBAAkB,EAAEC,eAAe,EAAEG,gBAAgB,CAAC;IACrE;IAEA3G,YAAY,CAACqC,YAAY,EAAEmE,eAAe,GAAG,GAAG,KAAK,CAAC,CAAC;EACzD,CACF,CAAC;EAEDvH,SAAS,CAAC,MAAM;IACd,IAAI2H,WAAqC;IAEzC,MAAMC,uBAAuB,GAAG5G,QAAQ,CAAC6G,kBAAkB,CAACrF,EAAE,EAAGsF,eAAe,IAAK;MACnFpE,UAAU,CAACoE,eAAe,CAAC;MAC3BH,WAAW,GAAGG,eAAe,EAAEC,SAAS,CAAEC,KAAK,IAAK;QAClD/D,eAAe,CAACyC,OAAO,GAAGsB,KAAK,CAACrE,YAAY;QAC5CC,eAAe,CAACoE,KAAK,CAACrE,YAAY,CAAC;MACrC,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACXiE,uBAAuB,CAAC,CAAC;MACzBD,WAAW,GAAG,CAAC;IACjB,CAAC;EACH,CAAC,EAAE,CAACnF,EAAE,CAAC,CAAC;EAERxC,SAAS,CAAC,MAAM;IACd,OAAOgB,QAAQ,CAACiH,wBAAwB,CAACzF,EAAE,EAAEsB,oBAAoB,CAAC;EACpE,CAAC,EAAE,CAACtB,EAAE,CAAC,CAAC;EAERxC,SAAS,CAAC,MAAM;IACdiE,eAAe,CAACyC,OAAO,GAAGjF,YAAY;IAEtC,IAAI,CAACgC,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAACyE,aAAa,CAAC3C,UAAU,CAAC;IACjC9B,OAAO,CAAC0E,wBAAwB,CAAClG,qBAAqB,CAAC;IACvDwB,OAAO,CAACG,eAAe,CAACnC,YAAY,CAAC;IACrCgC,OAAO,CAAC2E,QAAQ,CAACxG,KAAK,GAAGS,WAAW,CAAC;IACrCoB,OAAO,CAAC4E,SAAS,CAAC/F,MAAM,CAAC;IACzBmB,OAAO,CAAC6E,mBAAmB,CAACxD,KAAK,EAAED,UAAU,EAAED,UAAU,EAAExC,YAAY,CAAC;IACxEqB,OAAO,CAAC8E,yBAAyB,CAAC5B,mBAAmB,CAAC;IACtDlD,OAAO,CAAC+E,WAAW,CAACxD,QAAQ,CAAC;IAC7BvB,OAAO,CAACgF,aAAa,CAACtG,UAAU,CAAC;IACjCsB,OAAO,CAACyD,iBAAiB,CAAC,CAAC;EAC7B,CAAC,EAAE,CACD3B,UAAU,EACVtD,qBAAqB,EACrBR,YAAY,EACZgC,OAAO,EACP7B,KAAK,EACLS,WAAW,EACXD,YAAY,EACZD,UAAU,EACV2C,KAAK,EACLxC,MAAM,EACNqE,mBAAmB,EACnB9B,UAAU,EACVD,UAAU,EACVI,QAAQ,CACT,CAAC;EAEFhF,SAAS,CAAC,MAAM;IACd,IAAI,CAACyD,OAAO,IAAI,CAACM,OAAO,CAAC2C,OAAO,EAAE;MAChC;IACF;IAEAjD,OAAO,CAACiF,UAAU,CAAC3E,OAAO,CAAC2C,OAAO,CAAC;EACrC,CAAC,EAAE,CAACjD,OAAO,CAAC,CAAC;EAEbzD,SAAS,CAAC,MAAM;IACd4E,UAAU,CAACgC,KAAK,GAAG,CAAC;IACpB/B,UAAU,CAAC+B,KAAK,GAAG,CAAC;IACpB9B,KAAK,CAAC8B,KAAK,GAAG,CAAC;IACf7B,eAAe,CAAC6B,KAAK,GAAG,CAAC;IACzBjC,UAAU,CAACiC,KAAK,GAAG,CAAC;IACpB5B,QAAQ,CAAC4B,KAAK,GAAG,CAAC;IAElB,IAAIR,oBAAoB,IAAI,CAAC,IAAI,CAACrC,OAAO,CAAC2C,OAAO,EAAE;MACjD;IACF;IAEA,MAAMiC,oBAAoB,GAAGvI,kBAAkB,CAACuI,oBAAoB,CAAC,MAAM;MACzErC,QAAQ,CAACF,oBAAoB,EAAE,KAAK,CAAC;IACvC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXuC,oBAAoB,EAAEC,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,CACDxC,oBAAoB,EACpBxB,UAAU,EACVG,eAAe,EACfF,UAAU,EACVC,KAAK,EACLH,UAAU,EACVK,QAAQ,EACRsB,QAAQ,CACT,CAAC;EAEFtG,SAAS,CAAC,MAAM;IACdkE,sBAAsB,CAACwC,OAAO,GAAGhE,gBAAgB,EAAEyB,mBAAmB;EACxE,CAAC,EAAE,CAACzB,gBAAgB,EAAEyB,mBAAmB,CAAC,CAAC;EAE3CnE,SAAS,CAAC,MAAM;IACdqE,OAAO,CAACqC,OAAO,GAAGlF,IAAI;EACxB,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEVxB,SAAS,CAAC,MAAM;IACdsE,UAAU,CAACoC,OAAO,GAAGjD,OAAO;EAC9B,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEbzD,SAAS,CAAC,MAAM;IACdoE,cAAc,CAACsC,OAAO,GAAG/E,WAAW;EACtC,CAAC,EAAE,CAACA,WAAW,CAAC,CAAC;EAEjB3B,SAAS,CAAC,MAAM;IACd,IAAIuD,2BAA2B,IAAIS,cAAc,CAAC0C,OAAO,EAAE;MACzD,MAAMmC,MAAM,GAAG7E,cAAc,CAAC0C,OAAO,CAACoC,CAAC,GAAG9E,cAAc,CAAC0C,OAAO,CAAC9E,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC;MACtF,MAAMmH,MAAM,GAAG/E,cAAc,CAAC0C,OAAO,CAACsC,CAAC,GAAGhF,cAAc,CAAC0C,OAAO,CAACpE,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;MACxF,MAAM2G,uBAAuB,GAAGC,IAAI,CAACC,GAAG,CACtCnF,cAAc,CAAC0C,OAAO,CAAC9E,KAAK,GAAGA,KAAK,EACpCoC,cAAc,CAAC0C,OAAO,CAACpE,MAAM,GAAGA,MAClC,CAAC;MAED2C,YAAY,CAAC2B,KAAK,GAAGqC,uBAAuB;MAC5C/D,iBAAiB,CAAC0B,KAAK,GAAGiC,MAAM;MAChC1D,iBAAiB,CAACyB,KAAK,GAAGmC,MAAM;MAChC3D,cAAc,CAACwB,KAAK,GAAG,CAAC;MAExB3B,YAAY,CAAC2B,KAAK,GAAG9F,UAAU,CAAC,CAAC,EAAE2E,eAAe,EAAG2D,QAAQ,IAAK;QAChE,IAAIA,QAAQ,EAAE;UACZrI,YAAY,CAACoD,mBAAmB,CAAC;QACnC;MACF,CAAC,CAAC;MACFe,iBAAiB,CAAC0B,KAAK,GAAG9F,UAAU,CAAC,CAAC,EAAE2E,eAAe,CAAC;MACxDN,iBAAiB,CAACyB,KAAK,GAAG9F,UAAU,CAAC,CAAC,EAAE2E,eAAe,CAAC;MACxDL,cAAc,CAACwB,KAAK,GAAG9F,UAAU,CAAC,CAAC,EAAE;QACnC4E,QAAQ,EAAED,eAAe,CAACC,QAAQ,GAAG,CAAC;QACtCC,MAAM,EAAEF,eAAe,CAACE,MAAM;QAC9BE,YAAY,EAAEJ,eAAe,CAACI;MAChC,CAAC,CAAC;MAEFrC,8BAA8B,CAAC,KAAK,CAAC;IACvC;EACF,CAAC,EAAE,CACDD,2BAA2B,EAC3BkC,eAAe,EACf7D,KAAK,EACLU,MAAM,EACN8C,cAAc,EACdH,YAAY,EACZC,iBAAiB,EACjBC,iBAAiB,EACjBhB,mBAAmB,CACpB,CAAC;EAEFnE,SAAS,CAAC,MAAM;IACd,IAAI,CAAC6D,iBAAiB,IAAI,OAAOA,iBAAiB,CAACwF,OAAO,KAAK,UAAU,EAAE;MACzE;IACF;IAEAxF,iBAAiB,CAACwF,OAAO,CAAC,CAACC,EAAE,EAAEC,EAAE,EAAEC,aAAa,EAAEC,cAAc,EAAEC,KAAK,EAAEC,KAAK,KAAK;MACjF,MAAMC,eAAe,GAAG;QACtBtH,MAAM,EAAEmH,cAAc;QACtB7H,KAAK,EAAE4H,aAAa;QACpBV,CAAC,EAAEY,KAAK;QACRV,CAAC,EAAEW;MACL,CAAuB;MAEvB,IAAI,CAACpF,kBAAkB,CAACqF,eAAe,CAAC,EAAE;QACxC5I,QAAQ,CAAC6I,sBAAsB,CAACrH,EAAE,CAAC;QACnC;MACF;MAEAwB,cAAc,CAAC0C,OAAO,GAAGkD,eAAe;MACxCxE,cAAc,CAACwB,KAAK,GAAG,CAAC;MACxBpD,8BAA8B,CAAC,IAAI,CAAC;MACpCxC,QAAQ,CAAC6I,sBAAsB,CAACrH,EAAE,CAAC;IACrC,CAAC,CAAC;EACJ,CAAC,EAAE,CAACqB,iBAAiB,EAAErB,EAAE,EAAE+B,kBAAkB,EAAEa,cAAc,CAAC,CAAC;EAE/DpF,SAAS,CAAC,MAAM;IACd,OAAO,MAAM;MACXgE,cAAc,CAAC0C,OAAO,GAAG,IAAI;IAC/B,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMoD,oBAAoB,GAAG/J,WAAW,CACrCyE,IAAiB,IAAK;IACrB,MAAMuF,IAAI,GAAGvF,IAAI,CAACsE,CAAC,GAAGtE,IAAI,CAAC5C,KAAK,GAAG,CAAC,GAAGA,KAAK,GAAG,CAAC;IAChD,MAAMoI,IAAI,GAAGxF,IAAI,CAACwE,CAAC,GAAGxE,IAAI,CAAClC,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;IAClD,MAAM2H,QAAQ,GAAGf,IAAI,CAACC,GAAG,CAAC3E,IAAI,CAAC5C,KAAK,GAAGA,KAAK,EAAE4C,IAAI,CAAClC,MAAM,GAAGA,MAAM,CAAC;IAEnE2C,YAAY,CAAC2B,KAAK,GAAG9F,UAAU,CAACmJ,QAAQ,EAAExE,eAAe,CAAC;IAC1DP,iBAAiB,CAAC0B,KAAK,GAAG9F,UAAU,CAACiJ,IAAI,EAAEtE,eAAe,CAAC;IAC3DN,iBAAiB,CAACyB,KAAK,GAAG9F,UAAU,CAACkJ,IAAI,EAAEvE,eAAe,CAAC;IAC3DL,cAAc,CAACwB,KAAK,GAAG9F,UAAU,CAAC,CAAC,EAAE2E,eAAe,EAAG2D,QAAQ,IAAK;MAClE,IAAIA,QAAQ,IAAI1H,SAAS,EAAE;QACzBX,YAAY,CAACW,SAAS,CAAC;MACzB;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CACE+D,eAAe,EACfnD,MAAM,EACNZ,SAAS,EACT0D,cAAc,EACdH,YAAY,EACZC,iBAAiB,EACjBC,iBAAiB,EACjBvD,KAAK,CAET,CAAC;EAED,MAAMsI,qBAAqB,GAAGnK,WAAW,CAAC,MAAM;IAC9C,IAAI2B,SAAS,EAAE;MACbX,YAAY,CAACW,SAAS,CAAC;IACzB;EACF,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEf,MAAMyI,aAAa,GAAGpK,WAAW,CAAC,MAAM;IACtC0C,cAAc,GAAG,CAAC;IAElB,MAAM2H,kBAAkB,GAAGnG,eAAe,CAACyC,OAAO;IAClD,MAAM2D,kBAAkB,GAAGrJ,QAAQ,CAACsJ,qBAAqB,CAAC9H,EAAE,EAAE4H,kBAAkB,CAAC;IAEjF,IAAIC,kBAAkB,IAAI,OAAOA,kBAAkB,CAAChB,OAAO,KAAK,UAAU,EAAE;MAC1EgB,kBAAkB,CAAChB,OAAO,CAAC,CAACC,EAAE,EAAEC,EAAE,EAAEC,aAAa,EAAEC,cAAc,EAAEC,KAAK,EAAEC,KAAK,KAAK;QAClF,MAAMY,kBAAkB,GAAG;UACzBjI,MAAM,EAAEmH,cAAc;UACtB7H,KAAK,EAAE4H,aAAa;UACpBV,CAAC,EAAEY,KAAK;UACRV,CAAC,EAAEW;QACL,CAAuB;QAEvB,IAAIpF,kBAAkB,CAACgG,kBAAkB,CAAC,EAAE;UAC1CT,oBAAoB,CAACS,kBAAkB,CAAC;UACxC;QACF;QAEA,IAAIhG,kBAAkB,CAACP,cAAc,CAAC0C,OAAO,CAAC,EAAE;UAC9CoD,oBAAoB,CAAC9F,cAAc,CAAC0C,OAAO,CAAC;UAC5C;QACF;QAEAwD,qBAAqB,CAAC,CAAC;MACzB,CAAC,CAAC;MACF;IACF;IAEA,IAAI3F,kBAAkB,CAACP,cAAc,CAAC0C,OAAO,CAAC,EAAE;MAC9CoD,oBAAoB,CAAC9F,cAAc,CAAC0C,OAAO,CAAC;MAC5C;IACF;IAEAwD,qBAAqB,CAAC,CAAC;EACzB,CAAC,EAAE,CAACJ,oBAAoB,EAAEI,qBAAqB,EAAE1H,EAAE,EAAE+B,kBAAkB,EAAE9B,cAAc,CAAC,CAAC;EAEzF,MAAM+H,cAAc,GAAGvK,OAAO,CAAC,MAAM;IACnC,MAAMwK,UAAU,GAAG,CAACxH,QAAQ,IAAI6C,cAAc,CAACE,OAAO;IAEtD,OAAOzF,OAAO,CAACmK,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,CAACjI,iBAAiB,CAAC,CAC1BiD,OAAO,CAACyE,UAAU,CAAC,CACnBQ,QAAQ,CAAEC,KAAK,IAAK;MACnBtG,UAAU,CAACgC,KAAK,GAAGsE,KAAK,CAACC,YAAY,GAAGrF,cAAc,CAACI,UAAU;IACnE,CAAC,CAAC,CACDkF,KAAK,CAAEF,KAAK,IAAK;MAChB,IACET,UAAU,IACVpJ,wBAAwB,CACtB6J,KAAK,CAACC,YAAY,EAClBrF,cAAc,CAACK,SAAS,EACxBL,cAAc,CAACC,SACjB,CAAC,EACD;QACAhF,YAAY,CAACoJ,aAAa,CAAC;QAC3B;MACF;MAEAvF,UAAU,CAACgC,KAAK,GAAG/F,UAAU,CAAC,CAAC,EAAE;QAC/BwK,OAAO,EAAE,EAAE;QACXC,eAAe,EAAE,IAAI;QACrBC,IAAI,EAAE,CAAC;QACPC,iBAAiB,EAAE,KAAK;QACxBC,SAAS,EAAE;MACb,CAAC,CAAC;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,CAAC7G,UAAU,EAAEkB,cAAc,EAAEqE,aAAa,EAAElH,QAAQ,CAAC,CAAC;EAEzD,MAAMyI,gBAAgB,GAAGzL,OAAO,CAC9B,MACEM,OAAO,CAACoL,KAAK,CAAC,CAAC,CACZ3F,OAAO,CAAChE,eAAe,CAAC,CACxB4J,aAAa,CAAEV,KAAK,IAAK;IACxB,IAAIA,KAAK,CAACW,eAAe,KAAK,CAAC,EAAE;MAC/B9K,YAAY,CAACuC,aAAa,EAAE,IAAI,CAAC;IACnC;EACF,CAAC,CAAC,CACDwI,OAAO,CAAEZ,KAAK,IAAK;IAClBvG,UAAU,CAACiC,KAAK,GAAG9B,KAAK,CAAC8B,KAAK;IAC9BlC,iBAAiB,CAACkC,KAAK,GAAG/B,UAAU,CAAC+B,KAAK;IAC1CnC,iBAAiB,CAACmC,KAAK,GAAGhC,UAAU,CAACgC,KAAK;IAC1CvB,UAAU,CAACuB,KAAK,GAAGsE,KAAK,CAACa,MAAM;IAC/BzG,UAAU,CAACsB,KAAK,GAAGsE,KAAK,CAACc,MAAM;EACjC,CAAC,CAAC,CACDf,QAAQ,CAAEC,KAAK,IAAK;IACnB,MAAMe,QAAQ,GAAGtH,UAAU,CAACiC,KAAK,GAAGsE,KAAK,CAACpG,KAAK;IAE/CA,KAAK,CAAC8B,KAAK,GAAGqF,QAAQ;IAEtB,IAAIA,QAAQ,IAAI,CAAC,EAAE;MACjBpH,UAAU,CAAC+B,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;MAChC8D,UAAU,CAACgC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;MAChC;IACF;IAEA,MAAMoL,WAAW,GAAGhD,IAAI,CAACiD,GAAG,CAACjB,KAAK,CAACa,MAAM,GAAG1G,UAAU,CAACuB,KAAK,CAAC;IAC7D,MAAMwF,WAAW,GAAGlD,IAAI,CAACiD,GAAG,CAACjB,KAAK,CAACc,MAAM,GAAG1G,UAAU,CAACsB,KAAK,CAAC;IAC7D,MAAMT,SAAS,GAAG,EAAE;IAEpB,IAAI+F,WAAW,GAAG/F,SAAS,IAAIiG,WAAW,GAAGjG,SAAS,EAAE;MACtDd,UAAU,CAACuB,KAAK,GAAGsE,KAAK,CAACa,MAAM;MAC/BzG,UAAU,CAACsB,KAAK,GAAGsE,KAAK,CAACc,MAAM;IACjC;IAEA,MAAMK,UAAU,GAAGJ,QAAQ,GAAGtH,UAAU,CAACiC,KAAK;IAC9C,MAAM0F,OAAO,GAAGjH,UAAU,CAACuB,KAAK,GAAGhF,KAAK,GAAG,CAAC;IAC5C,MAAM2K,OAAO,GAAGjH,UAAU,CAACsB,KAAK,GAAGtE,MAAM,GAAG,CAAC;;IAE7C;IACA,MAAMkK,aAAa,GAAG9H,iBAAiB,CAACkC,KAAK,GAAI0F,OAAO,GAAGD,UAAU,GAAI1H,UAAU,CAACiC,KAAK;IACzF,MAAM6F,aAAa,GAAGhI,iBAAiB,CAACmC,KAAK,GAAI2F,OAAO,GAAGF,UAAU,GAAI1H,UAAU,CAACiC,KAAK;IAEzF,MAAM;MAAE/B,UAAU,EAAE6H,qBAAqB;MAAE9H,UAAU,EAAE+H;IAAsB,CAAC,GAC5EtG,oBAAoB,CAAC;MACnBvB,KAAK,EAAEmH,QAAQ;MACfpH,UAAU,EAAE2H,aAAa;MACzB5H,UAAU,EAAE6H;IACd,CAAC,CAAC;IAEJ5H,UAAU,CAAC+B,KAAK,GAAG8F,qBAAqB;IACxC9H,UAAU,CAACgC,KAAK,GAAG+F,qBAAqB;EAC1C,CAAC,CAAC,CACDvB,KAAK,CAAC,MAAM;IACX,IAAItG,KAAK,CAAC8B,KAAK,GAAGxE,YAAY,EAAE;MAC9B0C,KAAK,CAAC8B,KAAK,GAAG9F,UAAU,CAACsB,YAAY,EAAE;QACrCsD,QAAQ,EAAE,GAAG;QACbC,MAAM,EAAEnF,MAAM,CAACoF,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;MAC1C,CAAC,CAAC;MAEF,MAAM;QAAEf,UAAU,EAAE6H,qBAAqB;QAAE9H,UAAU,EAAE+H;MAAsB,CAAC,GAC5EtG,oBAAoB,CAAC;QACnBvB,KAAK,EAAE1C,YAAY;QACnByC,UAAU,EAAEA,UAAU,CAAC+B,KAAK;QAC5BhC,UAAU,EAAEA,UAAU,CAACgC;MACzB,CAAC,CAAC;MAEJ/B,UAAU,CAAC+B,KAAK,GAAG9F,UAAU,CAAC4L,qBAAqB,CAAC;MACpD9H,UAAU,CAACgC,KAAK,GAAG9F,UAAU,CAAC6L,qBAAqB,CAAC;MAEpD;IACF;IAEA,IAAI7H,KAAK,CAAC8B,KAAK,GAAG,CAAC,EAAE;MACnB9B,KAAK,CAAC8B,KAAK,GAAG9F,UAAU,CAAC,CAAC,EAAE;QAC1B4E,QAAQ,EAAE,GAAG;QACbC,MAAM,EAAEnF,MAAM,CAACoF,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;MAC1C,CAAC,CAAC;MACFf,UAAU,CAAC+B,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;MAChC8D,UAAU,CAACgC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;MAChC4D,iBAAiB,CAACkC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;MACvC2D,iBAAiB,CAACmC,KAAK,GAAG9F,UAAU,CAAC,CAAC,CAAC;MACvC;IACF;IAEA,MAAM;MAAE+D,UAAU,EAAE6H,qBAAqB;MAAE9H,UAAU,EAAE+H;IAAsB,CAAC,GAC5EtG,oBAAoB,CAAC;MACnBvB,KAAK,EAAEA,KAAK,CAAC8B,KAAK;MAClB/B,UAAU,EAAEA,UAAU,CAAC+B,KAAK;MAC5BhC,UAAU,EAAEA,UAAU,CAACgC;IACzB,CAAC,CAAC;IAEJ/B,UAAU,CAAC+B,KAAK,GAAG9F,UAAU,CAAC4L,qBAAqB,CAAC;IACpD9H,UAAU,CAACgC,KAAK,GAAG9F,UAAU,CAAC6L,qBAAqB,CAAC;EACtD,CAAC,CAAC,CACDC,WAAW,CAAC,MAAM;IACjB7L,YAAY,CAACuC,aAAa,EAAE,KAAK,CAAC;EACpC,CAAC,CAAC,CACDuJ,UAAU,CAAC,MAAM;IAChB9L,YAAY,CAACuC,aAAa,EAAE,KAAK,CAAC;EACpC,CAAC,CAAC,EACN,CACEwB,KAAK,EACL9C,eAAe,EACfI,YAAY,EACZyC,UAAU,EACVD,UAAU,EACVD,UAAU,EACVD,iBAAiB,EACjBD,iBAAiB,EACjB7C,KAAK,EACLU,MAAM,EACN+D,oBAAoB,EACpBhB,UAAU,EACVC,UAAU,CAEd,CAAC;EAED,MAAMwH,cAAc,GAAG7M,OAAO,CAC5B,MACEM,OAAO,CAACmK,GAAG,CAAC,CAAC,CACV1E,OAAO,CAAC9D,mBAAmB,IAAIe,QAAQ,CAAC,CACxC4H,YAAY,CAAC,UAAU,CAAC,CACxBD,cAAc,CAAC,IAAI,CAAC,CACpBkB,OAAO,CAAC,MAAM;IACbpH,iBAAiB,CAACkC,KAAK,GAAG/B,UAAU,CAAC+B,KAAK;IAC1CnC,iBAAiB,CAACmC,KAAK,GAAGhC,UAAU,CAACgC,KAAK;EAC5C,CAAC,CAAC,CACDqE,QAAQ,CAAEC,KAAK,IAAK;IACnB,IAAIpG,KAAK,CAAC8B,KAAK,GAAG,CAAC,EAAE;MACnB,MAAM4F,aAAa,GAAG9H,iBAAiB,CAACkC,KAAK,GAAGsE,KAAK,CAAC6B,YAAY;MAClE,MAAMN,aAAa,GAAGhI,iBAAiB,CAACmC,KAAK,GAAGsE,KAAK,CAACC,YAAY;MAElE,MAAM;QAAEtG,UAAU,EAAE6H,qBAAqB;QAAE9H,UAAU,EAAE+H;MAAsB,CAAC,GAC5EtG,oBAAoB,CAAC;QACnBvB,KAAK,EAAEA,KAAK,CAAC8B,KAAK;QAClB/B,UAAU,EAAE2H,aAAa;QACzB5H,UAAU,EAAE6H;MACd,CAAC,CAAC;MAEJ5H,UAAU,CAAC+B,KAAK,GAAG8F,qBAAqB;MACxC9H,UAAU,CAACgC,KAAK,GAAG+F,qBAAqB;IAC1C;EACF,CAAC,CAAC,EACN,CACE9H,UAAU,EACVD,UAAU,EACV1C,mBAAmB,EACnBe,QAAQ,EACR6B,KAAK,EACLJ,iBAAiB,EACjBD,iBAAiB,EACjB4B,oBAAoB,CAExB,CAAC;EAED,MAAM2G,aAAa,GAAGjN,WAAW,CAAC,CAAC+I,CAAS,EAAEE,CAAS,KAAK;IAC1D,MAAMzC,KAAK,GAAGtC,eAAe,CAACyC,OAAO;IACrC,MAAMuG,WAAW,GAAG5I,OAAO,CAACqC,OAAO;IAEnC,IAAIH,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI0G,WAAW,CAACzH,MAAM,EAAE;MAC5C;IACF;IAEAlB,UAAU,CAACoC,OAAO,EAAEwG,OAAO,CAAC;MAAEC,IAAI,EAAE,QAAQ;MAAErE,CAAC;MAAEE,CAAC;MAAEzC;IAAM,CAAC,CAAC;IAE5D,MAAM6G,IAAI,GAAGH,WAAW,CAAC1G,KAAK,CAAC;IAE/B,IAAI6G,IAAI,KAAKpK,SAAS,EAAE;MACtB;IACF;IAEAoB,cAAc,CAACsC,OAAO,GAAG;MAAEoC,CAAC;MAAEE,CAAC;MAAEzC,KAAK;MAAE6G;IAAK,CAAC,CAAC;EACjD,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,gBAAgB,GAAGpN,OAAO,CAC9B,MACEM,OAAO,CAAC+M,GAAG,CAAC,CAAC,CACVtH,OAAO,CAAC3F,QAAQ,CAACkN,EAAE,KAAK,KAAK,CAAC,CAC9BC,YAAY,CAAC,CAAC,CAAC,CACfpC,KAAK,CAAC,CAACF,KAAK,EAAEuC,OAAO,KAAK;IACzB,IAAI,CAACA,OAAO,EAAE;MACZ;IACF;IAEA1M,YAAY,CAACiM,aAAa,EAAE9B,KAAK,CAACpC,CAAC,EAAEoC,KAAK,CAAClC,CAAC,CAAC;EAC/C,CAAC,CAAC,EACN,CAACgE,aAAa,CAChB,CAAC;EAED,MAAMU,gBAAgB,GAAGzN,OAAO,CAC9B,MACEM,OAAO,CAAC+M,GAAG,CAAC,CAAC,CACVtH,OAAO,CAACjE,mBAAmB,IAAI1B,QAAQ,CAACkN,EAAE,KAAK,KAAK,CAAC,CACrDC,YAAY,CAAC,CAAC,CAAC,CACfpC,KAAK,CAAEF,KAAK,IAAK;IAChB5J,mBAAmB,CAAC;MAClBwH,CAAC,EAAEoC,KAAK,CAACpC,CAAC;MACVE,CAAC,EAAEkC,KAAK,CAAClC,CAAC;MACVpH,KAAK;MACLU,MAAM;MACNF,YAAY;MACZ0C,KAAK;MACLD,UAAU;MACVD;IACF,CAAC,CAAC;EACJ,CAAC,CAAC,EACN,CAAC7C,mBAAmB,EAAEO,MAAM,EAAEF,YAAY,EAAE0C,KAAK,EAAED,UAAU,EAAED,UAAU,EAAEhD,KAAK,CAClF,CAAC;EAED,MAAM+L,UAAU,GAAG1N,OAAO,CACxB,MAAMM,OAAO,CAACqN,SAAS,CAACF,gBAAgB,EAAEL,gBAAgB,CAAC,EAC3D,CAACK,gBAAgB,EAAEL,gBAAgB,CACrC,CAAC;EAED,MAAMQ,WAAW,GAAG5N,OAAO,CACzB,MAAMM,OAAO,CAACuN,IAAI,CAACpC,gBAAgB,EAAEnL,OAAO,CAACqN,SAAS,CAACd,cAAc,EAAEa,UAAU,CAAC,CAAC,EACnF,CAACjC,gBAAgB,EAAEoB,cAAc,EAAEa,UAAU,CAC/C,CAAC;EAED,MAAMI,aAAa,GAAGpN,gBAAgB,CAAC,OAAO;IAC5CqN,OAAO,EAAE5I,cAAc,CAACwB,KAAK;IAC7BqH,SAAS,EAAE,CACT;MAAEpJ,UAAU,EAAEK,iBAAiB,CAAC0B;IAAM,CAAC,EACvC;MAAEhC,UAAU,EAAEO,iBAAiB,CAACyB;IAAM,CAAC,EACvC;MAAE9B,KAAK,EAAEG,YAAY,CAAC2B;IAAM,CAAC,EAE7B;MAAEhC,UAAU,EAAEA,UAAU,CAACgC;IAAM,CAAC,EAChC;MAAE/B,UAAU,EAAEA,UAAU,CAAC+B;IAAM,CAAC,EAChC;MAAE9B,KAAK,EAAEA,KAAK,CAAC8B;IAAM,CAAC,EACtB;MAAEsH,MAAM,EAAE,GAAGlJ,QAAQ,CAAC4B,KAAK;IAAM,CAAC;EAEtC,CAAC,CAAC,CAAC;EAEH,MAAMuH,aAAa,GAAGxN,gBAAgB,CAAC,MAAM;IAC3C,MAAMyN,WAAW,GAAGhJ,cAAc,CAACwB,KAAK;IAExC,IAAI,CAACd,cAAc,CAACG,YAAY,IAAInB,KAAK,CAAC8B,KAAK,KAAK,CAAC,EAAE;MACrD,OAAO;QAAEoH,OAAO,EAAEI;MAAY,CAAC;IACjC;IAEA,MAAMC,eAAe,GAAGjN,kBAAkB,CAACwD,UAAU,CAACgC,KAAK,EAAEd,cAAc,CAACC,SAAS,CAAC;IACtF,MAAMuI,cAAc,GAAG7N,WAAW,CAAC4N,eAAe,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;IAE9E,OAAO;MAAEL,OAAO,EAAEI,WAAW,GAAGE;IAAe,CAAC;EAClD,CAAC,EAAE,CAACxI,cAAc,CAACC,SAAS,EAAED,cAAc,CAACG,YAAY,CAAC,CAAC;EAE3D,MAAMsI,mBAAmB,GAAGtO,OAAO,CAAC,MAAM;IACxC,OAAOM,OAAO,CAACiO,MAAM,CAAC,CAAC,CAACC,4BAA4B,CAAC1L,iBAAiB,CAAC;EACzE,CAAC,EAAE,EAAE,CAAC;EAEN,MAAM;IAAE2L,mBAAmB;IAAEC,QAAQ;IAAEC,iBAAiB;IAAEC;EAAW,CAAC,GAAG5N,sBAAsB,CAAC;IAC9FmF,oBAAoB;IACpBzD,QAAQ;IACRC,gBAAgB;IAChBe,YAAY;IACZ4B,UAAU;IACVxD,mBAAmB;IACnBE,qBAAqB;IACrBE,UAAU;IACVG,MAAM;IACNa,SAAS;IACTF,QAAQ;IACRZ,WAAW;IACXoB,OAAO;IACPrB,YAAY;IACZT,WAAW,EAAEqL,aAAa;IAC1BlI,KAAK;IACLwB,QAAQ;IACRS,gBAAgB;IAChBF,gBAAgB;IAChBhC,UAAU;IACVD,UAAU;IACVhD;EACF,CAAC,CAAC;EAEF,OAAO;IACLmM,aAAa;IACbI,aAAa;IACb5I,UAAU;IACViF,cAAc;IACdL,aAAa;IACb9G,UAAU;IACVF,SAAS;IAETF,QAAQ;IACRc,OAAO;IACPwK,mBAAmB;IACnBM,UAAU;IACVH,mBAAmB;IACnBC,QAAQ;IAERC,iBAAiB;IACjBf;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -7,7 +7,7 @@ import { registry } from "./GestureViewerRegistry.js";
7
7
  * Hook for subscribing to GestureViewer events on the default instance.
8
8
  *
9
9
  * This hook allows you to listen to specific events from the default GestureViewer instance
10
- * (with ID 'default'), such as zoom changes or rotation changes. Events are automatically
10
+ * (with ID 'default'), such as zoom changes, rotation changes, or confirmed tap events. Events are automatically
11
11
  * throttled to prevent excessive callback invocations during gestures.
12
12
  *
13
13
  * @param eventType - The type of event to listen for
@@ -24,6 +24,13 @@ import { registry } from "./GestureViewerRegistry.js";
24
24
  * useGestureViewerEvent('rotationChange', (data) => {
25
25
  * console.log(`Rotation changed from ${data.previousRotation}° to ${data.rotation}°`);
26
26
  * });
27
+ *
28
+ * // Listen to confirmed single taps on the default instance (ID: 'default')
29
+ * useGestureViewerEvent('tap', (data) => {
30
+ * if (data.kind === 'single') {
31
+ * console.log(`Tapped item ${data.index} at (${data.x}, ${data.y})`);
32
+ * }
33
+ * });
27
34
  * ```
28
35
  */
29
36
 
@@ -48,6 +55,13 @@ import { registry } from "./GestureViewerRegistry.js";
48
55
  * useGestureViewerEvent('modal-viewer', 'rotationChange', (data) => {
49
56
  * updateRotationIndicator(data.rotation);
50
57
  * });
58
+ *
59
+ * // Listen to confirmed single taps on a specific instance
60
+ * useGestureViewerEvent('gallery', 'tap', (data) => {
61
+ * if (data.kind === 'single') {
62
+ * console.log(`Gallery tap on item ${data.index}`);
63
+ * }
64
+ * });
51
65
  * ```
52
66
  */
53
67
 
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","registry","useGestureViewerEvent","idOrEventType","eventTypeOrCallback","callback","id","eventType","finalCallback","unsubscribeFromManager","handleManagerChange","manager","addEventListener","unsubscribeFromRegistry","subscribeToManager"],"sourceRoot":"../../src","sources":["useGestureViewerEvent.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AAGjC,SAASC,QAAQ,QAAQ,4BAAyB;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,aAAyB,EACzBC,mBAAsD,EACtDC,QAAwC,EACxC;EACA,MAAMC,EAAE,GAAG,OAAOH,aAAa,KAAK,QAAQ,IAAIE,QAAQ,GAAGF,aAAa,GAAG,SAAS;EACpF,MAAMI,SAAS,GACb,OAAOJ,aAAa,KAAK,QAAQ,IAAIE,QAAQ,GACxCD,mBAAmB,GACnBD,aAAmB;EAC1B,MAAMK,aAAa,GAAGH,QAAQ,IAAKD,mBAAqD;EAExFJ,SAAS,CAAC,MAAM;IACd,IAAIS,sBAA2C,GAAG,IAAI;IAEtD,MAAMC,mBAAmB,GAAIC,OAAoC,IAAK;MACpEF,sBAAsB,GAAG,CAAC;MAC1BA,sBAAsB,GAAG,IAAI;MAE7B,IAAIE,OAAO,EAAE;QACXF,sBAAsB,GAAGE,OAAO,CAACC,gBAAgB,CAACL,SAAS,EAAEC,aAAa,CAAC;MAC7E;IACF,CAAC;IAED,MAAMK,uBAAuB,GAAGZ,QAAQ,CAACa,kBAAkB,CAACR,EAAE,EAAEI,mBAAmB,CAAC;IAEpF,OAAO,MAAM;MACXG,uBAAuB,CAAC,CAAC;MACzBJ,sBAAsB,GAAG,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACH,EAAE,EAAEC,SAAS,EAAEC,aAAa,CAAC,CAAC;AACpC","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","registry","useGestureViewerEvent","idOrEventType","eventTypeOrCallback","callback","id","eventType","finalCallback","unsubscribeFromManager","handleManagerChange","manager","addEventListener","unsubscribeFromRegistry","subscribeToManager"],"sourceRoot":"../../src","sources":["useGestureViewerEvent.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AAGjC,SAASC,QAAQ,QAAQ,4BAAyB;;AAGlD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CACnCC,aAAyB,EACzBC,mBAAsD,EACtDC,QAAwC,EACxC;EACA,MAAMC,EAAE,GAAG,OAAOH,aAAa,KAAK,QAAQ,IAAIE,QAAQ,GAAGF,aAAa,GAAG,SAAS;EACpF,MAAMI,SAAS,GACb,OAAOJ,aAAa,KAAK,QAAQ,IAAIE,QAAQ,GACxCD,mBAAmB,GACnBD,aAAmB;EAC1B,MAAMK,aAAa,GAAGH,QAAQ,IAAKD,mBAAqD;EAExFJ,SAAS,CAAC,MAAM;IACd,IAAIS,sBAA2C,GAAG,IAAI;IAEtD,MAAMC,mBAAmB,GAAIC,OAAoC,IAAK;MACpEF,sBAAsB,GAAG,CAAC;MAC1BA,sBAAsB,GAAG,IAAI;MAE7B,IAAIE,OAAO,EAAE;QACXF,sBAAsB,GAAGE,OAAO,CAACC,gBAAgB,CAACL,SAAS,EAAEC,aAAa,CAAC;MAC7E;IACF,CAAC;IAED,MAAMK,uBAAuB,GAAGZ,QAAQ,CAACa,kBAAkB,CAACR,EAAE,EAAEI,mBAAmB,CAAC;IAEpF,OAAO,MAAM;MACXG,uBAAuB,CAAC,CAAC;MACzBJ,sBAAsB,GAAG,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACH,EAAE,EAAEC,SAAS,EAAEC,aAAa,CAAC,CAAC;AACpC","ignoreList":[]}
@@ -15,6 +15,7 @@ export function useGestureViewerPaging({
15
15
  manager,
16
16
  scrollTo,
17
17
  syncCurrentIndex,
18
+ syncPendingIndex,
18
19
  width
19
20
  }) {
20
21
  useEffect(() => {
@@ -55,14 +56,27 @@ export function useGestureViewerPaging({
55
56
  }
56
57
  syncCurrentIndex(realIndex);
57
58
  }, [dataLength, enableHorizontalSwipe, enableLoop, itemSpacing, manager, scrollTo, syncCurrentIndex, width]);
59
+ const onScroll = useCallback(event => {
60
+ if (!enableHorizontalSwipe) {
61
+ return;
62
+ }
63
+ const {
64
+ contentOffset
65
+ } = event.nativeEvent;
66
+ const scrollIndex = Math.round(contentOffset.x / (width + itemSpacing));
67
+ const {
68
+ realIndex
69
+ } = getLoopAdjustedIndex(scrollIndex, dataLength, enableLoop);
70
+ syncPendingIndex(realIndex);
71
+ }, [dataLength, enableHorizontalSwipe, enableLoop, itemSpacing, syncPendingIndex, width]);
58
72
  const onScrollBeginDrag = useCallback(() => {
59
73
  manager?.handleScrollBeginDrag();
60
74
  }, [manager]);
61
75
  return {
62
76
  onMomentumScrollEnd,
63
- onScroll: undefined,
77
+ onScroll,
64
78
  onScrollBeginDrag,
65
- onWebDoubleClick: undefined
79
+ onWebClick: undefined
66
80
  };
67
81
  }
68
82
  //# sourceMappingURL=useGestureViewerPaging.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","getLoopAdjustedIndex","useGestureViewerPaging","autoPlay","autoPlayInterval","currentIndex","dataLength","enableHorizontalSwipe","enableLoop","isRotated","isZoomed","itemSpacing","manager","scrollTo","syncCurrentIndex","width","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","onScrollBeginDrag","handleScrollBeginDrag","onScroll","onWebDoubleClick"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.ts"],"mappings":";;AAAA,SAASA,WAAW,EAAEC,SAAS,QAAQ,OAAO;AAO9C,SAASC,oBAAoB,QAAQ,kBAAS;AAE9C,OAAO,SAASC,sBAAsBA,CAAC;EACrCC,QAAQ;EACRC,gBAAgB;EAChBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,UAAU;EACVC,SAAS;EACTC,QAAQ;EACRC,WAAW;EACXC,OAAO;EACPC,QAAQ;EACRC,gBAAgB;EAChBC;AAC0B,CAAC,EAAgC;EAC3Df,SAAS,CAAC,MAAM;IACd,IACE,CAACG,QAAQ,IACT,CAACS,OAAO,IACRN,UAAU,IAAI,CAAC,IACfI,QAAQ,IACRD,SAAS,IACR,CAACD,UAAU,IAAIH,YAAY,KAAKC,UAAU,GAAG,CAAE,EAChD;MACA;IACF;IAEA,MAAMU,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAC,GAAG,EAAED,IAAI,CAACE,KAAK,CAACf,gBAAgB,IAAI,CAAC,CAAC,CAAC;IAEnE,IAAI,CAACgB,MAAM,CAACC,QAAQ,CAACL,UAAU,CAAC,EAAE;MAChC;IACF;IAEA,MAAMM,QAAQ,GAAGC,WAAW,CAAC,MAAM;MACjC,IAAIb,QAAQ,IAAID,SAAS,EAAE;QACzB;MACF;MAEAG,OAAO,CAACY,QAAQ,CAAC,CAAC;IACpB,CAAC,EAAER,UAAU,CAAC;IAEd,OAAO,MAAMS,aAAa,CAACH,QAAQ,CAAC;EACtC,CAAC,EAAE,CACDnB,QAAQ,EACRC,gBAAgB,EAChBC,YAAY,EACZC,UAAU,EACVE,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRE,OAAO,CACR,CAAC;EAEF,MAAMc,mBAAmB,GAAG3B,WAAW,CACpC4B,KAA8C,IAAK;IAClD,IAAI,CAACpB,qBAAqB,EAAE;MAC1B;IACF;IAEA,MAAM;MAAEqB;IAAc,CAAC,GAAGD,KAAK,CAACE,WAAW;IAC3C,MAAMC,WAAW,GAAGb,IAAI,CAACc,KAAK,CAACH,aAAa,CAACI,CAAC,IAAIjB,KAAK,GAAGJ,WAAW,CAAC,CAAC;IAEvE,MAAMsB,aAAa,GAAGrB,OAAO,EAAEsB,uBAAuB,CAACJ,WAAW,CAAC;IAEnE,IAAIG,aAAa,EAAE;MACjB;IACF;IAEA,MAAM;MAAEE,SAAS;MAAEC,SAAS;MAAEC;IAAY,CAAC,GAAGpC,oBAAoB,CAChE6B,WAAW,EACXxB,UAAU,EACVE,UACF,CAAC;IAED,IAAI4B,SAAS,IAAIC,WAAW,KAAKC,SAAS,EAAE;MAC1CzB,QAAQ,CAACwB,WAAW,EAAE,KAAK,CAAC;IAC9B;IAEAvB,gBAAgB,CAACqB,SAAS,CAAC;EAC7B,CAAC,EACD,CACE7B,UAAU,EACVC,qBAAqB,EACrBC,UAAU,EACVG,WAAW,EACXC,OAAO,EACPC,QAAQ,EACRC,gBAAgB,EAChBC,KAAK,CAET,CAAC;EAED,MAAMwB,iBAAiB,GAAGxC,WAAW,CAAC,MAAM;IAC1Ca,OAAO,EAAE4B,qBAAqB,CAAC,CAAC;EAClC,CAAC,EAAE,CAAC5B,OAAO,CAAC,CAAC;EAEb,OAAO;IACLc,mBAAmB;IACnBe,QAAQ,EAAEH,SAAS;IACnBC,iBAAiB;IACjBG,gBAAgB,EAAEJ;EACpB,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","getLoopAdjustedIndex","useGestureViewerPaging","autoPlay","autoPlayInterval","currentIndex","dataLength","enableHorizontalSwipe","enableLoop","isRotated","isZoomed","itemSpacing","manager","scrollTo","syncCurrentIndex","syncPendingIndex","width","intervalMs","Math","max","floor","Number","isFinite","interval","setInterval","goToNext","clearInterval","onMomentumScrollEnd","event","contentOffset","nativeEvent","scrollIndex","round","x","isLoopHandled","handleMomentumScrollEnd","realIndex","needsJump","jumpToIndex","undefined","onScroll","onScrollBeginDrag","handleScrollBeginDrag","onWebClick"],"sourceRoot":"../../src","sources":["useGestureViewerPaging.ts"],"mappings":"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","ignoreList":[]}