react-native-gesture-image-viewer 2.3.3 → 3.0.0-beta.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 (137) hide show
  1. package/README.md +5 -3
  2. package/lib/module/GestureViewer.js +88 -140
  3. package/lib/module/GestureViewer.js.map +1 -1
  4. package/lib/module/GestureViewerManager.js +49 -105
  5. package/lib/module/GestureViewerManager.js.map +1 -1
  6. package/lib/module/gestureViewerAnimation.js +18 -0
  7. package/lib/module/gestureViewerAnimation.js.map +1 -0
  8. package/lib/module/gestureViewerPaging.js +66 -0
  9. package/lib/module/gestureViewerPaging.js.map +1 -0
  10. package/lib/module/gestureViewerRenderWindow.js +29 -0
  11. package/lib/module/gestureViewerRenderWindow.js.map +1 -0
  12. package/lib/module/getWebContentProps.js +6 -0
  13. package/lib/module/getWebContentProps.js.map +1 -0
  14. package/lib/module/getWebContentProps.web.js +8 -0
  15. package/lib/module/getWebContentProps.web.js.map +1 -0
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/platformTapGestures.js +4 -0
  18. package/lib/module/platformTapGestures.js.map +1 -0
  19. package/lib/module/platformTapGestures.web.js +4 -0
  20. package/lib/module/platformTapGestures.web.js.map +1 -0
  21. package/lib/module/renderWindow.js +160 -0
  22. package/lib/module/renderWindow.js.map +1 -0
  23. package/lib/module/useGestureViewer.js +386 -200
  24. package/lib/module/useGestureViewer.js.map +1 -1
  25. package/lib/module/useGestureViewerController.js +3 -3
  26. package/lib/module/useGestureViewerController.js.map +1 -1
  27. package/lib/module/useGestureViewerManagerBridge.js +85 -0
  28. package/lib/module/useGestureViewerManagerBridge.js.map +1 -0
  29. package/lib/module/useGestureViewerPaging.js +147 -65
  30. package/lib/module/useGestureViewerPaging.js.map +1 -1
  31. package/lib/module/useWebClickHandler.js +7 -0
  32. package/lib/module/useWebClickHandler.js.map +1 -0
  33. package/lib/module/useWebClickHandler.web.js +85 -0
  34. package/lib/module/useWebClickHandler.web.js.map +1 -0
  35. package/lib/module/useWebSingleTapTimer.js +12 -0
  36. package/lib/module/useWebSingleTapTimer.js.map +1 -0
  37. package/lib/module/useWebSingleTapTimer.web.js +25 -0
  38. package/lib/module/useWebSingleTapTimer.web.js.map +1 -0
  39. package/lib/module/utils/index.js +0 -77
  40. package/lib/module/utils/index.js.map +1 -1
  41. package/lib/module/utils/tapZoom.js +4 -3
  42. package/lib/module/utils/tapZoom.js.map +1 -1
  43. package/lib/typescript/src/GestureViewer.d.ts +1 -1
  44. package/lib/typescript/src/GestureViewer.d.ts.map +1 -1
  45. package/lib/typescript/src/GestureViewerManager.d.ts +20 -20
  46. package/lib/typescript/src/GestureViewerManager.d.ts.map +1 -1
  47. package/lib/typescript/src/gestureViewerAnimation.d.ts +15 -0
  48. package/lib/typescript/src/gestureViewerAnimation.d.ts.map +1 -0
  49. package/lib/typescript/src/gestureViewerPaging.d.ts +13 -0
  50. package/lib/typescript/src/gestureViewerPaging.d.ts.map +1 -0
  51. package/lib/typescript/src/gestureViewerRenderWindow.d.ts +15 -0
  52. package/lib/typescript/src/gestureViewerRenderWindow.d.ts.map +1 -0
  53. package/lib/typescript/src/getWebContentProps.d.ts +3 -0
  54. package/lib/typescript/src/getWebContentProps.d.ts.map +1 -0
  55. package/lib/typescript/src/getWebContentProps.web.d.ts +5 -0
  56. package/lib/typescript/src/getWebContentProps.web.d.ts.map +1 -0
  57. package/lib/typescript/src/index.d.ts +1 -1
  58. package/lib/typescript/src/index.d.ts.map +1 -1
  59. package/lib/typescript/src/platformTapGestures.d.ts +2 -0
  60. package/lib/typescript/src/platformTapGestures.d.ts.map +1 -0
  61. package/lib/typescript/src/platformTapGestures.web.d.ts +2 -0
  62. package/lib/typescript/src/platformTapGestures.web.d.ts.map +1 -0
  63. package/lib/typescript/src/renderWindow.d.ts +44 -0
  64. package/lib/typescript/src/renderWindow.d.ts.map +1 -0
  65. package/lib/typescript/src/types.d.ts +45 -52
  66. package/lib/typescript/src/types.d.ts.map +1 -1
  67. package/lib/typescript/src/useGestureViewer.d.ts +9 -8
  68. package/lib/typescript/src/useGestureViewer.d.ts.map +1 -1
  69. package/lib/typescript/src/useGestureViewerController.d.ts +1 -1
  70. package/lib/typescript/src/useGestureViewerManagerBridge.d.ts +28 -0
  71. package/lib/typescript/src/useGestureViewerManagerBridge.d.ts.map +1 -0
  72. package/lib/typescript/src/useGestureViewerPaging.d.ts +31 -2
  73. package/lib/typescript/src/useGestureViewerPaging.d.ts.map +1 -1
  74. package/lib/typescript/src/useWebClickHandler.d.ts +35 -0
  75. package/lib/typescript/src/useWebClickHandler.d.ts.map +1 -0
  76. package/lib/typescript/src/useWebClickHandler.web.d.ts +36 -0
  77. package/lib/typescript/src/useWebClickHandler.web.d.ts.map +1 -0
  78. package/lib/typescript/src/useWebSingleTapTimer.d.ts +6 -0
  79. package/lib/typescript/src/useWebSingleTapTimer.d.ts.map +1 -0
  80. package/lib/typescript/src/useWebSingleTapTimer.web.d.ts +6 -0
  81. package/lib/typescript/src/useWebSingleTapTimer.web.d.ts.map +1 -0
  82. package/lib/typescript/src/utils/index.d.ts +0 -20
  83. package/lib/typescript/src/utils/index.d.ts.map +1 -1
  84. package/lib/typescript/src/utils/tapZoom.d.ts.map +1 -1
  85. package/package.json +1 -1
  86. package/src/GestureViewer.tsx +104 -191
  87. package/src/GestureViewerManager.ts +77 -122
  88. package/src/gestureViewerAnimation.ts +18 -0
  89. package/src/gestureViewerPaging.ts +116 -0
  90. package/src/gestureViewerRenderWindow.ts +56 -0
  91. package/src/getWebContentProps.ts +5 -0
  92. package/src/getWebContentProps.web.ts +5 -0
  93. package/src/index.tsx +1 -0
  94. package/src/platformTapGestures.ts +1 -0
  95. package/src/platformTapGestures.web.ts +1 -0
  96. package/src/renderWindow.ts +253 -0
  97. package/src/types.ts +44 -99
  98. package/src/useGestureViewer.ts +557 -258
  99. package/src/useGestureViewerController.ts +3 -3
  100. package/src/useGestureViewerManagerBridge.ts +118 -0
  101. package/src/useGestureViewerPaging.ts +277 -98
  102. package/src/useWebClickHandler.ts +44 -0
  103. package/src/useWebClickHandler.web.ts +146 -0
  104. package/src/useWebSingleTapTimer.ts +10 -0
  105. package/src/useWebSingleTapTimer.web.ts +30 -0
  106. package/src/utils/index.ts +0 -102
  107. package/src/utils/tapZoom.ts +4 -3
  108. package/lib/module/WebPagingFixStyle.js +0 -25
  109. package/lib/module/WebPagingFixStyle.js.map +0 -1
  110. package/lib/module/scheduleInitialScroll.js +0 -21
  111. package/lib/module/scheduleInitialScroll.js.map +0 -1
  112. package/lib/module/useGestureViewerPaging.types.js +0 -4
  113. package/lib/module/useGestureViewerPaging.types.js.map +0 -1
  114. package/lib/module/useGestureViewerPaging.web.js +0 -275
  115. package/lib/module/useGestureViewerPaging.web.js.map +0 -1
  116. package/lib/module/utils/FlashList.js +0 -9
  117. package/lib/module/utils/FlashList.js.map +0 -1
  118. package/lib/module/utils/webScroll.js +0 -70
  119. package/lib/module/utils/webScroll.js.map +0 -1
  120. package/lib/typescript/src/WebPagingFixStyle.d.ts +0 -6
  121. package/lib/typescript/src/WebPagingFixStyle.d.ts.map +0 -1
  122. package/lib/typescript/src/scheduleInitialScroll.d.ts +0 -3
  123. package/lib/typescript/src/scheduleInitialScroll.d.ts.map +0 -1
  124. package/lib/typescript/src/useGestureViewerPaging.types.d.ts +0 -41
  125. package/lib/typescript/src/useGestureViewerPaging.types.d.ts.map +0 -1
  126. package/lib/typescript/src/useGestureViewerPaging.web.d.ts +0 -3
  127. package/lib/typescript/src/useGestureViewerPaging.web.d.ts.map +0 -1
  128. package/lib/typescript/src/utils/FlashList.d.ts +0 -2
  129. package/lib/typescript/src/utils/FlashList.d.ts.map +0 -1
  130. package/lib/typescript/src/utils/webScroll.d.ts +0 -18
  131. package/lib/typescript/src/utils/webScroll.d.ts.map +0 -1
  132. package/src/WebPagingFixStyle.tsx +0 -25
  133. package/src/scheduleInitialScroll.ts +0 -36
  134. package/src/useGestureViewerPaging.types.ts +0 -41
  135. package/src/useGestureViewerPaging.web.ts +0 -434
  136. package/src/utils/FlashList.ts +0 -7
  137. package/src/utils/webScroll.ts +0 -96
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- export let FlashList = null;
4
- try {
5
- FlashList = require('@shopify/flash-list').FlashList;
6
- } catch {
7
- FlashList = null;
8
- }
9
- //# sourceMappingURL=FlashList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["FlashList","require"],"sourceRoot":"../../../src","sources":["utils/FlashList.ts"],"mappings":";;AAAA,OAAO,IAAIA,SAAc,GAAG,IAAI;AAEhC,IAAI;EACFA,SAAS,GAAGC,OAAO,CAAC,qBAAqB,CAAC,CAACD,SAAS;AACtD,CAAC,CAAC,MAAM;EACNA,SAAS,GAAG,IAAI;AAClB","ignoreList":[]}
@@ -1,70 +0,0 @@
1
- "use strict";
2
-
3
- export const getWebScrollPhysicalIndex = (offsetX, pageWidth) => {
4
- if (!Number.isFinite(offsetX) || !Number.isFinite(pageWidth) || pageWidth <= 0) {
5
- return 0;
6
- }
7
- return Math.max(0, Math.round(offsetX / pageWidth));
8
- };
9
- export const resolveWebScrollFinalState = ({
10
- dataLength,
11
- enableLoop,
12
- lastSettledPhysicalIndex,
13
- offsetX,
14
- pageWidth
15
- }) => {
16
- if (dataLength <= 0 || !Number.isFinite(offsetX) || !Number.isFinite(pageWidth) || pageWidth <= 0) {
17
- return null;
18
- }
19
- const maxPhysicalIndex = enableLoop && dataLength > 1 ? dataLength + 1 : dataLength - 1;
20
- const rawPhysicalIndex = getWebScrollPhysicalIndex(offsetX, pageWidth);
21
- if (enableLoop && dataLength > 1) {
22
- const isWrappingBackward = lastSettledPhysicalIndex === 1 && rawPhysicalIndex >= dataLength;
23
- const isWrappingForward = lastSettledPhysicalIndex === dataLength && rawPhysicalIndex <= 1;
24
- if (isWrappingBackward || rawPhysicalIndex === 0) {
25
- return {
26
- logicalIndex: dataLength - 1,
27
- rawPhysicalIndex,
28
- settledPhysicalIndex: dataLength
29
- };
30
- }
31
- if (isWrappingForward || rawPhysicalIndex >= dataLength + 1) {
32
- return {
33
- logicalIndex: 0,
34
- rawPhysicalIndex,
35
- settledPhysicalIndex: 1
36
- };
37
- }
38
- }
39
- const targetPhysicalIndex = Math.max(0, Math.min(maxPhysicalIndex, rawPhysicalIndex));
40
- if (enableLoop && dataLength > 1) {
41
- return {
42
- logicalIndex: targetPhysicalIndex - 1,
43
- rawPhysicalIndex,
44
- settledPhysicalIndex: targetPhysicalIndex
45
- };
46
- }
47
- return {
48
- logicalIndex: targetPhysicalIndex,
49
- rawPhysicalIndex,
50
- settledPhysicalIndex: targetPhysicalIndex
51
- };
52
- };
53
- export const getWebAutoPlayTargetPhysicalIndex = ({
54
- currentIndex,
55
- dataLength,
56
- enableLoop
57
- }) => {
58
- if (dataLength <= 1) {
59
- return null;
60
- }
61
- if (enableLoop && currentIndex === dataLength - 1) {
62
- return dataLength + 1;
63
- }
64
- const nextIndex = currentIndex + 1;
65
- if (nextIndex >= dataLength) {
66
- return null;
67
- }
68
- return enableLoop ? nextIndex + 1 : nextIndex;
69
- };
70
- //# sourceMappingURL=webScroll.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getWebScrollPhysicalIndex","offsetX","pageWidth","Number","isFinite","Math","max","round","resolveWebScrollFinalState","dataLength","enableLoop","lastSettledPhysicalIndex","maxPhysicalIndex","rawPhysicalIndex","isWrappingBackward","isWrappingForward","logicalIndex","settledPhysicalIndex","targetPhysicalIndex","min","getWebAutoPlayTargetPhysicalIndex","currentIndex","nextIndex"],"sourceRoot":"../../../src","sources":["utils/webScroll.ts"],"mappings":";;AAAA,OAAO,MAAMA,yBAAyB,GAAGA,CAACC,OAAe,EAAEC,SAAiB,KAAa;EACvF,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACH,OAAO,CAAC,IAAI,CAACE,MAAM,CAACC,QAAQ,CAACF,SAAS,CAAC,IAAIA,SAAS,IAAI,CAAC,EAAE;IAC9E,OAAO,CAAC;EACV;EAEA,OAAOG,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAACN,OAAO,GAAGC,SAAS,CAAC,CAAC;AACrD,CAAC;AAED,OAAO,MAAMM,0BAA0B,GAAGA,CAAC;EACzCC,UAAU;EACVC,UAAU;EACVC,wBAAwB;EACxBV,OAAO;EACPC;AAOF,CAAC,KAA8F;EAC7F,IACEO,UAAU,IAAI,CAAC,IACf,CAACN,MAAM,CAACC,QAAQ,CAACH,OAAO,CAAC,IACzB,CAACE,MAAM,CAACC,QAAQ,CAACF,SAAS,CAAC,IAC3BA,SAAS,IAAI,CAAC,EACd;IACA,OAAO,IAAI;EACb;EAEA,MAAMU,gBAAgB,GAAGF,UAAU,IAAID,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAC;EACvF,MAAMI,gBAAgB,GAAGb,yBAAyB,CAACC,OAAO,EAAEC,SAAS,CAAC;EAEtE,IAAIQ,UAAU,IAAID,UAAU,GAAG,CAAC,EAAE;IAChC,MAAMK,kBAAkB,GAAGH,wBAAwB,KAAK,CAAC,IAAIE,gBAAgB,IAAIJ,UAAU;IAC3F,MAAMM,iBAAiB,GAAGJ,wBAAwB,KAAKF,UAAU,IAAII,gBAAgB,IAAI,CAAC;IAE1F,IAAIC,kBAAkB,IAAID,gBAAgB,KAAK,CAAC,EAAE;MAChD,OAAO;QACLG,YAAY,EAAEP,UAAU,GAAG,CAAC;QAC5BI,gBAAgB;QAChBI,oBAAoB,EAAER;MACxB,CAAC;IACH;IAEA,IAAIM,iBAAiB,IAAIF,gBAAgB,IAAIJ,UAAU,GAAG,CAAC,EAAE;MAC3D,OAAO;QACLO,YAAY,EAAE,CAAC;QACfH,gBAAgB;QAChBI,oBAAoB,EAAE;MACxB,CAAC;IACH;EACF;EAEA,MAAMC,mBAAmB,GAAGb,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACc,GAAG,CAACP,gBAAgB,EAAEC,gBAAgB,CAAC,CAAC;EAErF,IAAIH,UAAU,IAAID,UAAU,GAAG,CAAC,EAAE;IAChC,OAAO;MACLO,YAAY,EAAEE,mBAAmB,GAAG,CAAC;MACrCL,gBAAgB;MAChBI,oBAAoB,EAAEC;IACxB,CAAC;EACH;EAEA,OAAO;IACLF,YAAY,EAAEE,mBAAmB;IACjCL,gBAAgB;IAChBI,oBAAoB,EAAEC;EACxB,CAAC;AACH,CAAC;AAED,OAAO,MAAME,iCAAiC,GAAGA,CAAC;EAChDC,YAAY;EACZZ,UAAU;EACVC;AAKF,CAAC,KAAoB;EACnB,IAAID,UAAU,IAAI,CAAC,EAAE;IACnB,OAAO,IAAI;EACb;EAEA,IAAIC,UAAU,IAAIW,YAAY,KAAKZ,UAAU,GAAG,CAAC,EAAE;IACjD,OAAOA,UAAU,GAAG,CAAC;EACvB;EAEA,MAAMa,SAAS,GAAGD,YAAY,GAAG,CAAC;EAElC,IAAIC,SAAS,IAAIb,UAAU,EAAE;IAC3B,OAAO,IAAI;EACb;EAEA,OAAOC,UAAU,GAAGY,SAAS,GAAG,CAAC,GAAGA,SAAS;AAC/C,CAAC","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- type WebPagingFixStyleProps = {
2
- Component: React.ComponentType<any>;
3
- };
4
- declare function WebPagingFixStyle({ Component }: WebPagingFixStyleProps): import("react/jsx-runtime").JSX.Element | null;
5
- export default WebPagingFixStyle;
6
- //# sourceMappingURL=WebPagingFixStyle.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebPagingFixStyle.d.ts","sourceRoot":"","sources":["../../../src/WebPagingFixStyle.tsx"],"names":[],"mappings":"AAIA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CACrC,CAAC;AAEF,iBAAS,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,sBAAsB,kDAc/D;AAED,eAAe,iBAAiB,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare const INITIAL_SCROLL_IDLE_TIMEOUT_MS = 100;
2
- export declare const scheduleInitialScroll: (callback: () => void) => (() => void);
3
- //# sourceMappingURL=scheduleInitialScroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduleInitialScroll.d.ts","sourceRoot":"","sources":["../../../src/scheduleInitialScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAelD,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAoBvE,CAAC"}
@@ -1,41 +0,0 @@
1
- import type { MouseEvent } from 'react';
2
- import type { ScrollViewProps } from 'react-native';
3
- import type { SharedValue } from 'react-native-reanimated';
4
- import type GestureViewerManager from './GestureViewerManager';
5
- export type UseGestureViewerPagingArgs = {
6
- adjustedInitialIndex: number;
7
- autoPlay: boolean;
8
- autoPlayInterval: number;
9
- currentIndex: number;
10
- dataLength: number;
11
- enableDoubleTapZoom: boolean;
12
- enableHorizontalSwipe: boolean;
13
- enableLoop: boolean;
14
- height: number;
15
- isRotated: boolean;
16
- isZoomed: boolean;
17
- itemSpacing: number;
18
- manager: GestureViewerManager | null;
19
- maxZoomScale: number;
20
- onSingleTap?: (x: number, y: number) => void;
21
- scale: SharedValue<number>;
22
- scrollTo: (index: number, animated: boolean) => void;
23
- syncCurrentIndex: (nextIndex: number) => void;
24
- syncPendingIndex: (nextIndex: number) => void;
25
- translateX: SharedValue<number>;
26
- translateY: SharedValue<number>;
27
- width: number;
28
- };
29
- export type WebClickTarget = {
30
- getBoundingClientRect: () => {
31
- left: number;
32
- top: number;
33
- };
34
- };
35
- export type UseGestureViewerPagingResult = {
36
- onMomentumScrollEnd?: ScrollViewProps['onMomentumScrollEnd'];
37
- onScroll?: ScrollViewProps['onScroll'];
38
- onScrollBeginDrag?: ScrollViewProps['onScrollBeginDrag'];
39
- onWebClick?: (event: MouseEvent<WebClickTarget>) => void;
40
- };
41
- //# sourceMappingURL=useGestureViewerPaging.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGestureViewerPaging.types.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,KAAK,oBAAoB,MAAM,wBAAwB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACrD,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,qBAAqB,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,iBAAiB,CAAC,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;IACzD,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;CAC1D,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { UseGestureViewerPagingArgs, UseGestureViewerPagingResult } from './useGestureViewerPaging.types';
2
- export declare function useGestureViewerPaging({ adjustedInitialIndex, autoPlay, autoPlayInterval, currentIndex, dataLength, enableDoubleTapZoom, enableHorizontalSwipe, enableLoop, height, onSingleTap, isRotated, isZoomed, itemSpacing, manager, maxZoomScale, scale, scrollTo, syncCurrentIndex, syncPendingIndex, translateX, translateY, width, }: UseGestureViewerPagingArgs): UseGestureViewerPagingResult;
3
- //# sourceMappingURL=useGestureViewerPaging.web.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useGestureViewerPaging.web.d.ts","sourceRoot":"","sources":["../../../src/useGestureViewerPaging.web.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,0BAA0B,EAC1B,4BAA4B,EAE7B,MAAM,gCAAgC,CAAC;AAqBxC,wBAAgB,sBAAsB,CAAC,EACrC,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,OAAO,EACP,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,KAAK,GACN,EAAE,0BAA0B,GAAG,4BAA4B,CA8X3D"}
@@ -1,2 +0,0 @@
1
- export declare let FlashList: any;
2
- //# sourceMappingURL=FlashList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FlashList.d.ts","sourceRoot":"","sources":["../../../../src/utils/FlashList.ts"],"names":[],"mappings":"AAAA,eAAO,IAAI,SAAS,EAAE,GAAU,CAAC"}
@@ -1,18 +0,0 @@
1
- export declare const getWebScrollPhysicalIndex: (offsetX: number, pageWidth: number) => number;
2
- export declare const resolveWebScrollFinalState: ({ dataLength, enableLoop, lastSettledPhysicalIndex, offsetX, pageWidth, }: {
3
- offsetX: number;
4
- pageWidth: number;
5
- lastSettledPhysicalIndex: number;
6
- dataLength: number;
7
- enableLoop: boolean;
8
- }) => {
9
- logicalIndex: number;
10
- rawPhysicalIndex: number;
11
- settledPhysicalIndex: number;
12
- } | null;
13
- export declare const getWebAutoPlayTargetPhysicalIndex: ({ currentIndex, dataLength, enableLoop, }: {
14
- currentIndex: number;
15
- dataLength: number;
16
- enableLoop: boolean;
17
- }) => number | null;
18
- //# sourceMappingURL=webScroll.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"webScroll.d.ts","sourceRoot":"","sources":["../../../../src/utils/webScroll.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,yBAAyB,GAAI,SAAS,MAAM,EAAE,WAAW,MAAM,KAAG,MAM9E,CAAC;AAEF,eAAO,MAAM,0BAA0B,GAAI,2EAMxC;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,KAAG;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAAG,IAiDtF,CAAC;AAEF,eAAO,MAAM,iCAAiC,GAAI,2CAI/C;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,KAAG,MAAM,GAAG,IAgBZ,CAAC"}
@@ -1,25 +0,0 @@
1
- import { Platform } from 'react-native';
2
-
3
- import { isFlashListLike, isFlatListLike } from './utils';
4
-
5
- type WebPagingFixStyleProps = {
6
- Component: React.ComponentType<any>;
7
- };
8
-
9
- function WebPagingFixStyle({ Component }: WebPagingFixStyleProps) {
10
- if (Platform.OS !== 'web') {
11
- return null;
12
- }
13
-
14
- if (isFlashListLike(Component)) {
15
- return <style>{`[data-flash-list-paging-enabled-fix] > div {height: 100%;}`}</style>;
16
- }
17
-
18
- if (isFlatListLike(Component)) {
19
- return <style>{`[data-flat-list-paging-enabled-fix] > div > div > div {height: 100%;}`}</style>;
20
- }
21
-
22
- return null;
23
- }
24
-
25
- export default WebPagingFixStyle;
@@ -1,36 +0,0 @@
1
- export const INITIAL_SCROLL_IDLE_TIMEOUT_MS = 100;
2
-
3
- type IdleCallbackOptions = {
4
- timeout?: number;
5
- };
6
-
7
- type IdleSchedulerGlobal = typeof globalThis & {
8
- requestIdleCallback?: (
9
- this: IdleSchedulerGlobal,
10
- callback: () => void,
11
- options?: IdleCallbackOptions,
12
- ) => number;
13
- cancelIdleCallback?: (this: IdleSchedulerGlobal, handle: number) => void;
14
- };
15
-
16
- export const scheduleInitialScroll = (callback: () => void): (() => void) => {
17
- const idleGlobal = globalThis as IdleSchedulerGlobal;
18
- const requestIdleCallback = idleGlobal.requestIdleCallback?.bind(idleGlobal);
19
- const cancelIdleCallback = idleGlobal.cancelIdleCallback?.bind(idleGlobal);
20
-
21
- if (requestIdleCallback && cancelIdleCallback) {
22
- const idleCallbackId = requestIdleCallback(callback, {
23
- timeout: INITIAL_SCROLL_IDLE_TIMEOUT_MS,
24
- });
25
-
26
- return () => {
27
- cancelIdleCallback(idleCallbackId);
28
- };
29
- }
30
-
31
- const timeoutId = setTimeout(callback, 0);
32
-
33
- return () => {
34
- clearTimeout(timeoutId);
35
- };
36
- };
@@ -1,41 +0,0 @@
1
- import type { MouseEvent } from 'react';
2
- import type { ScrollViewProps } from 'react-native';
3
- import type { SharedValue } from 'react-native-reanimated';
4
-
5
- import type GestureViewerManager from './GestureViewerManager';
6
-
7
- export type UseGestureViewerPagingArgs = {
8
- adjustedInitialIndex: number;
9
- autoPlay: boolean;
10
- autoPlayInterval: number;
11
- currentIndex: number;
12
- dataLength: number;
13
- enableDoubleTapZoom: boolean;
14
- enableHorizontalSwipe: boolean;
15
- enableLoop: boolean;
16
- height: number;
17
- isRotated: boolean;
18
- isZoomed: boolean;
19
- itemSpacing: number;
20
- manager: GestureViewerManager | null;
21
- maxZoomScale: number;
22
- onSingleTap?: (x: number, y: number) => void;
23
- scale: SharedValue<number>;
24
- scrollTo: (index: number, animated: boolean) => void;
25
- syncCurrentIndex: (nextIndex: number) => void;
26
- syncPendingIndex: (nextIndex: number) => void;
27
- translateX: SharedValue<number>;
28
- translateY: SharedValue<number>;
29
- width: number;
30
- };
31
-
32
- export type WebClickTarget = {
33
- getBoundingClientRect: () => { left: number; top: number };
34
- };
35
-
36
- export type UseGestureViewerPagingResult = {
37
- onMomentumScrollEnd?: ScrollViewProps['onMomentumScrollEnd'];
38
- onScroll?: ScrollViewProps['onScroll'];
39
- onScrollBeginDrag?: ScrollViewProps['onScrollBeginDrag'];
40
- onWebClick?: (event: MouseEvent<WebClickTarget>) => void;
41
- };