react-native-reanimated-carousel 4.0.0 → 4.0.2

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 (120) hide show
  1. package/README.md +2 -40
  2. package/lib/commonjs/components/Carousel.js +1 -42
  3. package/lib/commonjs/components/Carousel.js.map +1 -1
  4. package/lib/commonjs/components/Carousel.test.js +2 -678
  5. package/lib/commonjs/components/Carousel.test.js.map +1 -1
  6. package/lib/commonjs/components/CarouselLayout.js +1 -211
  7. package/lib/commonjs/components/CarouselLayout.js.map +1 -1
  8. package/lib/commonjs/components/ItemLayout.js +1 -98
  9. package/lib/commonjs/components/ItemLayout.js.map +1 -1
  10. package/lib/commonjs/components/ItemRenderer.js +1 -79
  11. package/lib/commonjs/components/ItemRenderer.js.map +1 -1
  12. package/lib/commonjs/components/LazyView.js +1 -21
  13. package/lib/commonjs/components/LazyView.js.map +1 -1
  14. package/lib/commonjs/components/Pagination/Basic/PaginationItem.js +1 -83
  15. package/lib/commonjs/components/Pagination/Basic/PaginationItem.js.map +1 -1
  16. package/lib/commonjs/components/Pagination/Basic/index.js +1 -53
  17. package/lib/commonjs/components/Pagination/Basic/index.js.map +1 -1
  18. package/lib/commonjs/components/Pagination/Custom/PaginationItem.js +1 -88
  19. package/lib/commonjs/components/Pagination/Custom/PaginationItem.js.map +1 -1
  20. package/lib/commonjs/components/Pagination/Custom/index.js +1 -61
  21. package/lib/commonjs/components/Pagination/Custom/index.js.map +1 -1
  22. package/lib/commonjs/components/Pagination/index.js +1 -16
  23. package/lib/commonjs/components/Pagination/index.js.map +1 -1
  24. package/lib/commonjs/components/ScrollViewGesture.js +1 -362
  25. package/lib/commonjs/components/ScrollViewGesture.js.map +1 -1
  26. package/lib/commonjs/components/rnr-demo.test.js +1 -44
  27. package/lib/commonjs/components/rnr-demo.test.js.map +1 -1
  28. package/lib/commonjs/constants/index.js +1 -21
  29. package/lib/commonjs/constants/index.js.map +1 -1
  30. package/lib/commonjs/hooks/useAutoPlay.js +1 -56
  31. package/lib/commonjs/hooks/useAutoPlay.js.map +1 -1
  32. package/lib/commonjs/hooks/useAutoPlay.test.js +1 -154
  33. package/lib/commonjs/hooks/useAutoPlay.test.js.map +1 -1
  34. package/lib/commonjs/hooks/useCarouselController.js +1 -301
  35. package/lib/commonjs/hooks/useCarouselController.js.map +1 -1
  36. package/lib/commonjs/hooks/useCarouselController.test.js +1 -456
  37. package/lib/commonjs/hooks/useCarouselController.test.js.map +1 -1
  38. package/lib/commonjs/hooks/useCheckMounted.js +1 -23
  39. package/lib/commonjs/hooks/useCheckMounted.js.map +1 -1
  40. package/lib/commonjs/hooks/useCheckMounted.test.js +1 -44
  41. package/lib/commonjs/hooks/useCheckMounted.test.js.map +1 -1
  42. package/lib/commonjs/hooks/useCommonVariables.js +1 -102
  43. package/lib/commonjs/hooks/useCommonVariables.js.map +1 -1
  44. package/lib/commonjs/hooks/useCommonVariables.test.js +1 -37
  45. package/lib/commonjs/hooks/useCommonVariables.test.js.map +1 -1
  46. package/lib/commonjs/hooks/useInitProps.js +1 -78
  47. package/lib/commonjs/hooks/useInitProps.js.map +1 -1
  48. package/lib/commonjs/hooks/useInitProps.test.js +1 -126
  49. package/lib/commonjs/hooks/useInitProps.test.js.map +1 -1
  50. package/lib/commonjs/hooks/useLayoutConfig.js +1 -39
  51. package/lib/commonjs/hooks/useLayoutConfig.js.map +1 -1
  52. package/lib/commonjs/hooks/useLayoutConfig.test.js +1 -241
  53. package/lib/commonjs/hooks/useLayoutConfig.test.js.map +1 -1
  54. package/lib/commonjs/hooks/useOffsetX.js +1 -51
  55. package/lib/commonjs/hooks/useOffsetX.js.map +1 -1
  56. package/lib/commonjs/hooks/useOffsetX.test.js +2 -40
  57. package/lib/commonjs/hooks/useOffsetX.test.js.map +1 -1
  58. package/lib/commonjs/hooks/useOnProgressChange.js +1 -46
  59. package/lib/commonjs/hooks/useOnProgressChange.js.map +1 -1
  60. package/lib/commonjs/hooks/useOnProgressChange.test.js +1 -162
  61. package/lib/commonjs/hooks/useOnProgressChange.test.js.map +1 -1
  62. package/lib/commonjs/hooks/usePanGestureProxy.js +1 -117
  63. package/lib/commonjs/hooks/usePanGestureProxy.js.map +1 -1
  64. package/lib/commonjs/hooks/usePanGestureProxy.test.js +1 -419
  65. package/lib/commonjs/hooks/usePanGestureProxy.test.js.map +1 -1
  66. package/lib/commonjs/hooks/usePropsErrorBoundary.js +1 -36
  67. package/lib/commonjs/hooks/usePropsErrorBoundary.js.map +1 -1
  68. package/lib/commonjs/hooks/useUpdateGestureConfig.js +1 -19
  69. package/lib/commonjs/hooks/useUpdateGestureConfig.js.map +1 -1
  70. package/lib/commonjs/hooks/useUpdateGestureConfig.test.js +1 -91
  71. package/lib/commonjs/hooks/useUpdateGestureConfig.test.js.map +1 -1
  72. package/lib/commonjs/hooks/useVisibleRanges.js +1 -71
  73. package/lib/commonjs/hooks/useVisibleRanges.js.map +1 -1
  74. package/lib/commonjs/hooks/useVisibleRanges.test.js +7 -101
  75. package/lib/commonjs/hooks/useVisibleRanges.test.js.map +1 -1
  76. package/lib/commonjs/index.js +1 -21
  77. package/lib/commonjs/index.js.map +1 -1
  78. package/lib/commonjs/layouts/index.js +1 -20
  79. package/lib/commonjs/layouts/index.js.map +1 -1
  80. package/lib/commonjs/layouts/normal.js +1 -27
  81. package/lib/commonjs/layouts/normal.js.map +1 -1
  82. package/lib/commonjs/layouts/parallax.js +1 -38
  83. package/lib/commonjs/layouts/parallax.js.map +1 -1
  84. package/lib/commonjs/layouts/stack.js +1 -213
  85. package/lib/commonjs/layouts/stack.js.map +1 -1
  86. package/lib/commonjs/layouts/stack.test.js +3 -22
  87. package/lib/commonjs/layouts/stack.test.js.map +1 -1
  88. package/lib/commonjs/store/index.js +1 -67
  89. package/lib/commonjs/store/index.js.map +1 -1
  90. package/lib/commonjs/types.js +1 -5
  91. package/lib/commonjs/utils/compute-offset-if-data-changed.js +1 -51
  92. package/lib/commonjs/utils/compute-offset-if-data-changed.js.map +1 -1
  93. package/lib/commonjs/utils/compute-offset-if-data-changed.test.js +1 -29
  94. package/lib/commonjs/utils/compute-offset-if-data-changed.test.js.map +1 -1
  95. package/lib/commonjs/utils/compute-offset-if-size-changed.js +1 -17
  96. package/lib/commonjs/utils/compute-offset-if-size-changed.js.map +1 -1
  97. package/lib/commonjs/utils/compute-offset-if-size-changed.test.js +1 -71
  98. package/lib/commonjs/utils/compute-offset-if-size-changed.test.js.map +1 -1
  99. package/lib/commonjs/utils/computed-with-auto-fill-data.js +1 -123
  100. package/lib/commonjs/utils/computed-with-auto-fill-data.js.map +1 -1
  101. package/lib/commonjs/utils/computed-with-auto-fill-data.test.js +1 -179
  102. package/lib/commonjs/utils/computed-with-auto-fill-data.test.js.map +1 -1
  103. package/lib/commonjs/utils/deal-with-animation.js +1 -20
  104. package/lib/commonjs/utils/deal-with-animation.js.map +1 -1
  105. package/lib/commonjs/utils/deal-with-animation.test.js +1 -75
  106. package/lib/commonjs/utils/deal-with-animation.test.js.map +1 -1
  107. package/lib/commonjs/utils/handleroffset-direction.js +1 -15
  108. package/lib/commonjs/utils/handleroffset-direction.js.map +1 -1
  109. package/lib/commonjs/utils/handleroffset-direction.test.js +1 -45
  110. package/lib/commonjs/utils/handleroffset-direction.test.js.map +1 -1
  111. package/lib/commonjs/utils/index.test.js +1 -73
  112. package/lib/commonjs/utils/index.test.js.map +1 -1
  113. package/lib/commonjs/utils/log.js +1 -21
  114. package/lib/commonjs/utils/log.js.map +1 -1
  115. package/lib/commonjs/utils/log.test.js +1 -57
  116. package/lib/commonjs/utils/log.test.js.map +1 -1
  117. package/lib/module/hooks/useOnProgressChange.js +1 -1
  118. package/lib/module/hooks/useOnProgressChange.js.map +1 -1
  119. package/package.json +7 -2
  120. package/src/hooks/useOnProgressChange.ts +1 -1
@@ -1,163 +1,2 @@
1
- "use strict";
2
-
3
- var _reactNativeReanimated = require("react-native-reanimated");
4
-
5
- var _reactHooks = require("@testing-library/react-hooks");
6
-
7
- var _useOnProgressChange = require("./useOnProgressChange");
8
-
9
- // Mock Reanimated and Easing
10
- jest.mock("react-native-reanimated", () => {
11
- let reactionCallback = null;
12
- return {
13
- useSharedValue: jest.fn(initialValue => ({
14
- value: initialValue
15
- })),
16
- useAnimatedReaction: jest.fn((deps, cb) => {
17
- reactionCallback = cb;
18
- const depsResult = deps();
19
- cb(depsResult);
20
- return () => {
21
- reactionCallback = null;
22
- };
23
- }),
24
- runOnJS: jest.fn(fn => fn),
25
- Easing: {
26
- bezier: () => ({
27
- factory: () => 0
28
- })
29
- },
30
- // Export the helper function for testing
31
- __triggerReaction: value => {
32
- if (reactionCallback) reactionCallback(value);
33
- }
34
- };
35
- }); // Mock computedOffsetXValueWithAutoFillData
36
-
37
- jest.mock("../utils/computed-with-auto-fill-data", () => ({
38
- computedOffsetXValueWithAutoFillData: jest.fn(_ref => {
39
- let {
40
- value
41
- } = _ref;
42
- return value;
43
- })
44
- }));
45
- describe("useOnProgressChange", () => {
46
- const mockOffsetX = (0, _reactNativeReanimated.useSharedValue)(0);
47
- const mockOnProgressChange = jest.fn();
48
- const {
49
- __triggerReaction
50
- } = jest.requireMock("react-native-reanimated");
51
- beforeEach(() => {
52
- jest.clearAllMocks();
53
- mockOffsetX.value = 0;
54
- });
55
- it("should handle progress change with function callback", () => {
56
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
57
- size: 300,
58
- autoFillData: false,
59
- loop: false,
60
- offsetX: mockOffsetX,
61
- rawDataLength: 5,
62
- onProgressChange: mockOnProgressChange
63
- }));
64
- mockOffsetX.value = -300; // Move to next slide
65
-
66
- __triggerReaction(mockOffsetX.value);
67
-
68
- expect(mockOnProgressChange).toHaveBeenCalledWith(-300, 1);
69
- });
70
- it("should handle progress change with shared value", () => {
71
- const progressValue = (0, _reactNativeReanimated.useSharedValue)(0);
72
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
73
- size: 300,
74
- autoFillData: false,
75
- loop: false,
76
- offsetX: mockOffsetX,
77
- rawDataLength: 5,
78
- onProgressChange: progressValue
79
- }));
80
- mockOffsetX.value = -300; // Move to next slide
81
-
82
- __triggerReaction(mockOffsetX.value);
83
-
84
- expect(progressValue.value).toBe(1);
85
- });
86
- it("should handle loop mode", () => {
87
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
88
- size: 300,
89
- autoFillData: false,
90
- loop: true,
91
- offsetX: mockOffsetX,
92
- rawDataLength: 5,
93
- onProgressChange: mockOnProgressChange
94
- }));
95
- mockOffsetX.value = -1500; // Move to last slide
96
-
97
- __triggerReaction(mockOffsetX.value);
98
-
99
- expect(mockOnProgressChange).toHaveBeenCalledWith(-1500, 5);
100
- });
101
- it("should handle autoFillData mode", () => {
102
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
103
- size: 300,
104
- autoFillData: true,
105
- loop: false,
106
- offsetX: mockOffsetX,
107
- rawDataLength: 3,
108
- onProgressChange: mockOnProgressChange
109
- }));
110
- mockOffsetX.value = -300; // Move to next slide
111
-
112
- __triggerReaction(mockOffsetX.value);
113
-
114
- expect(mockOnProgressChange).toHaveBeenCalledWith(-300, 1);
115
- });
116
- it("should clamp values when not in loop mode", () => {
117
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
118
- size: 300,
119
- autoFillData: false,
120
- loop: false,
121
- offsetX: mockOffsetX,
122
- rawDataLength: 3,
123
- onProgressChange: mockOnProgressChange
124
- }));
125
- mockOffsetX.value = 300; // Try to move before first slide
126
-
127
- __triggerReaction(mockOffsetX.value);
128
-
129
- expect(mockOnProgressChange).toHaveBeenCalledWith(0, 0);
130
- mockOffsetX.value = -900; // Try to move after last slide
131
-
132
- __triggerReaction(mockOffsetX.value);
133
-
134
- expect(mockOnProgressChange).toHaveBeenCalledWith(-600, 2);
135
- });
136
- it("should handle positive offset values", () => {
137
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
138
- size: 300,
139
- autoFillData: false,
140
- loop: true,
141
- offsetX: mockOffsetX,
142
- rawDataLength: 5,
143
- onProgressChange: mockOnProgressChange
144
- }));
145
- mockOffsetX.value = 300; // Move backwards
146
-
147
- __triggerReaction(mockOffsetX.value);
148
-
149
- expect(mockOnProgressChange).toHaveBeenCalledWith(300, 4);
150
- });
151
- it("should not call onProgressChange if not provided", () => {
152
- (0, _reactHooks.renderHook)(() => (0, _useOnProgressChange.useOnProgressChange)({
153
- size: 300,
154
- autoFillData: false,
155
- loop: false,
156
- offsetX: mockOffsetX,
157
- rawDataLength: 5
158
- }));
159
- mockOffsetX.value = -300;
160
- expect(mockOnProgressChange).not.toHaveBeenCalled();
161
- });
162
- });
1
+ var _reactNativeReanimated=require("react-native-reanimated");var _reactHooks=require("@testing-library/react-hooks");var _useOnProgressChange=require("./useOnProgressChange");jest.mock("react-native-reanimated",function(){var reactionCallback=null;return{useSharedValue:jest.fn(function(initialValue){return{value:initialValue};}),useAnimatedReaction:jest.fn(function(deps,cb){reactionCallback=cb;var depsResult=deps();cb(depsResult);return function(){reactionCallback=null;};}),runOnJS:jest.fn(function(fn){return fn;}),Easing:{bezier:function bezier(){return{factory:function factory(){return 0;}};}},__triggerReaction:function __triggerReaction(value){if(reactionCallback)reactionCallback(value);}};});jest.mock("../utils/computed-with-auto-fill-data",function(){return{computedOffsetXValueWithAutoFillData:jest.fn(function(_ref){var value=_ref.value;return value;})};});describe("useOnProgressChange",function(){var mockOffsetX=(0,_reactNativeReanimated.useSharedValue)(0);var mockOnProgressChange=jest.fn();var _jest$requireMock=jest.requireMock("react-native-reanimated"),__triggerReaction=_jest$requireMock.__triggerReaction;beforeEach(function(){jest.clearAllMocks();mockOffsetX.value=0;});it("should handle progress change with function callback",function(){(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:false,loop:false,offsetX:mockOffsetX,rawDataLength:5,onProgressChange:mockOnProgressChange});});mockOffsetX.value=-300;__triggerReaction(mockOffsetX.value);expect(mockOnProgressChange).toHaveBeenCalledWith(-300,1);});it("should handle progress change with shared value",function(){var progressValue=(0,_reactNativeReanimated.useSharedValue)(0);(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:false,loop:false,offsetX:mockOffsetX,rawDataLength:5,onProgressChange:progressValue});});mockOffsetX.value=-300;__triggerReaction(mockOffsetX.value);expect(progressValue.value).toBe(1);});it("should handle loop mode",function(){(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:false,loop:true,offsetX:mockOffsetX,rawDataLength:5,onProgressChange:mockOnProgressChange});});mockOffsetX.value=-1500;__triggerReaction(mockOffsetX.value);expect(mockOnProgressChange).toHaveBeenCalledWith(-1500,5);});it("should handle autoFillData mode",function(){(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:true,loop:false,offsetX:mockOffsetX,rawDataLength:3,onProgressChange:mockOnProgressChange});});mockOffsetX.value=-300;__triggerReaction(mockOffsetX.value);expect(mockOnProgressChange).toHaveBeenCalledWith(-300,1);});it("should clamp values when not in loop mode",function(){(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:false,loop:false,offsetX:mockOffsetX,rawDataLength:3,onProgressChange:mockOnProgressChange});});mockOffsetX.value=300;__triggerReaction(mockOffsetX.value);expect(mockOnProgressChange).toHaveBeenCalledWith(0,0);mockOffsetX.value=-900;__triggerReaction(mockOffsetX.value);expect(mockOnProgressChange).toHaveBeenCalledWith(-600,2);});it("should handle positive offset values",function(){(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:false,loop:true,offsetX:mockOffsetX,rawDataLength:5,onProgressChange:mockOnProgressChange});});mockOffsetX.value=300;__triggerReaction(mockOffsetX.value);expect(mockOnProgressChange).toHaveBeenCalledWith(300,4);});it("should not call onProgressChange if not provided",function(){(0,_reactHooks.renderHook)(function(){return(0,_useOnProgressChange.useOnProgressChange)({size:300,autoFillData:false,loop:false,offsetX:mockOffsetX,rawDataLength:5});});mockOffsetX.value=-300;expect(mockOnProgressChange).not.toHaveBeenCalled();});});
163
2
  //# sourceMappingURL=useOnProgressChange.test.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["useOnProgressChange.test.tsx"],"names":["jest","mock","reactionCallback","useSharedValue","fn","initialValue","value","useAnimatedReaction","deps","cb","depsResult","runOnJS","Easing","bezier","factory","__triggerReaction","computedOffsetXValueWithAutoFillData","describe","mockOffsetX","mockOnProgressChange","requireMock","beforeEach","clearAllMocks","it","size","autoFillData","loop","offsetX","rawDataLength","onProgressChange","expect","toHaveBeenCalledWith","progressValue","toBe","not","toHaveBeenCalled"],"mappings":"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","sourcesContent":["import { useSharedValue } from \"react-native-reanimated\";\n\nimport { renderHook } from \"@testing-library/react-hooks\";\n\nimport { useOnProgressChange } from \"./useOnProgressChange\";\n\n// Mock Reanimated and Easing\njest.mock(\"react-native-reanimated\", () => {\n let reactionCallback: ((value: any) => void) | null = null;\n\n return {\n useSharedValue: jest.fn((initialValue) => ({\n value: initialValue,\n })),\n useAnimatedReaction: jest.fn((deps, cb) => {\n reactionCallback = cb;\n const depsResult = deps();\n cb(depsResult);\n return () => {\n reactionCallback = null;\n };\n }),\n runOnJS: jest.fn((fn) => fn),\n Easing: {\n bezier: () => ({\n factory: () => 0,\n }),\n },\n // Export the helper function for testing\n __triggerReaction: (value: any) => {\n if (reactionCallback) reactionCallback(value);\n },\n };\n});\n\n// Mock computedOffsetXValueWithAutoFillData\njest.mock(\"../utils/computed-with-auto-fill-data\", () => ({\n computedOffsetXValueWithAutoFillData: jest.fn(({ value }) => value),\n}));\n\ndescribe(\"useOnProgressChange\", () => {\n const mockOffsetX = useSharedValue(0);\n const mockOnProgressChange = jest.fn();\n const { __triggerReaction } = jest.requireMock(\"react-native-reanimated\");\n\n beforeEach(() => {\n jest.clearAllMocks();\n mockOffsetX.value = 0;\n });\n\n it(\"should handle progress change with function callback\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = -300; // Move to next slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-300, 1);\n });\n\n it(\"should handle progress change with shared value\", () => {\n const progressValue = useSharedValue(0);\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: progressValue,\n })\n );\n\n mockOffsetX.value = -300; // Move to next slide\n __triggerReaction(mockOffsetX.value);\n expect(progressValue.value).toBe(1);\n });\n\n it(\"should handle loop mode\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: true,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = -1500; // Move to last slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-1500, 5);\n });\n\n it(\"should handle autoFillData mode\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: true,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 3,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = -300; // Move to next slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-300, 1);\n });\n\n it(\"should clamp values when not in loop mode\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 3,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = 300; // Try to move before first slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(0, 0);\n\n mockOffsetX.value = -900; // Try to move after last slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-600, 2);\n });\n\n it(\"should handle positive offset values\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: true,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = 300; // Move backwards\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(300, 4);\n });\n\n it(\"should not call onProgressChange if not provided\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n })\n );\n\n mockOffsetX.value = -300;\n expect(mockOnProgressChange).not.toHaveBeenCalled();\n });\n});\n"]}
1
+ {"version":3,"sources":["useOnProgressChange.test.tsx"],"names":["jest","mock","reactionCallback","useSharedValue","fn","initialValue","value","useAnimatedReaction","deps","cb","depsResult","runOnJS","Easing","bezier","factory","__triggerReaction","computedOffsetXValueWithAutoFillData","describe","mockOffsetX","mockOnProgressChange","requireMock","beforeEach","clearAllMocks","it","size","autoFillData","loop","offsetX","rawDataLength","onProgressChange","expect","toHaveBeenCalledWith","progressValue","toBe","not","toHaveBeenCalled"],"mappings":"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","sourcesContent":["import { useSharedValue } from \"react-native-reanimated\";\n\nimport { renderHook } from \"@testing-library/react-hooks\";\n\nimport { useOnProgressChange } from \"./useOnProgressChange\";\n\n// Mock Reanimated and Easing\njest.mock(\"react-native-reanimated\", () => {\n let reactionCallback: ((value: any) => void) | null = null;\n\n return {\n useSharedValue: jest.fn((initialValue) => ({\n value: initialValue,\n })),\n useAnimatedReaction: jest.fn((deps, cb) => {\n reactionCallback = cb;\n const depsResult = deps();\n cb(depsResult);\n return () => {\n reactionCallback = null;\n };\n }),\n runOnJS: jest.fn((fn) => fn),\n Easing: {\n bezier: () => ({\n factory: () => 0,\n }),\n },\n // Export the helper function for testing\n __triggerReaction: (value: any) => {\n if (reactionCallback) reactionCallback(value);\n },\n };\n});\n\n// Mock computedOffsetXValueWithAutoFillData\njest.mock(\"../utils/computed-with-auto-fill-data\", () => ({\n computedOffsetXValueWithAutoFillData: jest.fn(({ value }) => value),\n}));\n\ndescribe(\"useOnProgressChange\", () => {\n const mockOffsetX = useSharedValue(0);\n const mockOnProgressChange = jest.fn();\n const { __triggerReaction } = jest.requireMock(\"react-native-reanimated\");\n\n beforeEach(() => {\n jest.clearAllMocks();\n mockOffsetX.value = 0;\n });\n\n it(\"should handle progress change with function callback\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = -300; // Move to next slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-300, 1);\n });\n\n it(\"should handle progress change with shared value\", () => {\n const progressValue = useSharedValue(0);\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: progressValue,\n })\n );\n\n mockOffsetX.value = -300; // Move to next slide\n __triggerReaction(mockOffsetX.value);\n expect(progressValue.value).toBe(1);\n });\n\n it(\"should handle loop mode\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: true,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = -1500; // Move to last slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-1500, 5);\n });\n\n it(\"should handle autoFillData mode\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: true,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 3,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = -300; // Move to next slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-300, 1);\n });\n\n it(\"should clamp values when not in loop mode\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 3,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = 300; // Try to move before first slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(0, 0);\n\n mockOffsetX.value = -900; // Try to move after last slide\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(-600, 2);\n });\n\n it(\"should handle positive offset values\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: true,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n onProgressChange: mockOnProgressChange,\n })\n );\n\n mockOffsetX.value = 300; // Move backwards\n __triggerReaction(mockOffsetX.value);\n expect(mockOnProgressChange).toHaveBeenCalledWith(300, 4);\n });\n\n it(\"should not call onProgressChange if not provided\", () => {\n renderHook(() =>\n useOnProgressChange({\n size: 300,\n autoFillData: false,\n loop: false,\n offsetX: mockOffsetX,\n rawDataLength: 5,\n })\n );\n\n mockOffsetX.value = -300;\n expect(mockOnProgressChange).not.toHaveBeenCalled();\n });\n});\n"]}
@@ -1,118 +1,2 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.usePanGestureProxy = void 0;
7
-
8
- var _react = require("react");
9
-
10
- var _reactNativeGestureHandler = require("react-native-gesture-handler");
11
-
12
- var _useUpdateGestureConfig = require("./useUpdateGestureConfig");
13
-
14
- const usePanGestureProxy = customization => {
15
- const {
16
- onConfigurePanGesture,
17
- onGestureStart,
18
- onGestureUpdate,
19
- onGestureEnd,
20
- options = {}
21
- } = customization;
22
- const gesture = (0, _react.useMemo)(() => {
23
- const gesture = _reactNativeGestureHandler.Gesture.Pan().withTestId("rnrc-gesture-handler"); // Save the original gesture callbacks
24
-
25
-
26
- const originalGestures = {
27
- onBegin: gesture.onBegin,
28
- onStart: gesture.onStart,
29
- onUpdate: gesture.onUpdate,
30
- onEnd: gesture.onEnd,
31
- onFinalize: gesture.onFinalize
32
- }; // Save the user defined gesture callbacks
33
-
34
- const userDefinedConflictGestures = {
35
- onBegin: undefined,
36
- onStart: undefined,
37
- onUpdate: undefined,
38
- onEnd: undefined,
39
- onFinalize: undefined
40
- };
41
-
42
- const fakeOnBegin = cb => {
43
- // Using fakeOnBegin to save the user defined callback
44
- userDefinedConflictGestures.onBegin = cb;
45
- return gesture;
46
- };
47
-
48
- const fakeOnStart = cb => {
49
- // Using fakeOnStart to save the user defined callback
50
- userDefinedConflictGestures.onStart = cb;
51
- return gesture;
52
- };
53
-
54
- const fakeOnUpdate = cb => {
55
- // Using fakeOnUpdate to save the user defined callback
56
- userDefinedConflictGestures.onUpdate = cb;
57
- return gesture;
58
- };
59
-
60
- const fakeOnEnd = cb => {
61
- // Using fakeOnEnd to save the user defined callback
62
- userDefinedConflictGestures.onEnd = cb;
63
- return gesture;
64
- };
65
-
66
- const fakeOnFinalize = cb => {
67
- // Using fakeOnFinalize to save the user defined callback
68
- userDefinedConflictGestures.onFinalize = cb;
69
- return gesture;
70
- }; // Setup the fake callbacks
71
-
72
-
73
- gesture.onBegin = fakeOnBegin;
74
- gesture.onStart = fakeOnStart;
75
- gesture.onUpdate = fakeOnUpdate;
76
- gesture.onEnd = fakeOnEnd;
77
- gesture.onFinalize = fakeOnFinalize;
78
- if (onConfigurePanGesture) // Get the gesture with the user defined configuration
79
- onConfigurePanGesture(gesture); // Restore the original callbacks
80
-
81
- gesture.onBegin = originalGestures.onBegin;
82
- gesture.onStart = originalGestures.onStart;
83
- gesture.onUpdate = originalGestures.onUpdate;
84
- gesture.onEnd = originalGestures.onEnd;
85
- gesture.onFinalize = originalGestures.onFinalize; // Setup the original callbacks with the user defined callbacks
86
-
87
- gesture.onBegin(e => {
88
- "worklet";
89
-
90
- if (userDefinedConflictGestures.onBegin) userDefinedConflictGestures.onBegin(e);
91
- }).onStart(e => {
92
- "worklet";
93
-
94
- onGestureStart(e);
95
- if (userDefinedConflictGestures.onStart) userDefinedConflictGestures.onStart(e);
96
- }).onUpdate(e => {
97
- "worklet";
98
-
99
- onGestureUpdate(e);
100
- if (userDefinedConflictGestures.onUpdate) userDefinedConflictGestures.onUpdate(e);
101
- }).onEnd((e, success) => {
102
- "worklet";
103
-
104
- onGestureEnd(e, success);
105
- if (userDefinedConflictGestures.onEnd) userDefinedConflictGestures.onEnd(e, success);
106
- }).onFinalize((e, success) => {
107
- "worklet";
108
-
109
- if (userDefinedConflictGestures.onFinalize) userDefinedConflictGestures.onFinalize(e, success);
110
- });
111
- return gesture;
112
- }, [onGestureStart, onGestureUpdate, onGestureEnd, onConfigurePanGesture]);
113
- (0, _useUpdateGestureConfig.useUpdateGestureConfig)(gesture, options);
114
- return gesture;
115
- };
116
-
117
- exports.usePanGestureProxy = usePanGestureProxy;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.usePanGestureProxy=void 0;var _react=require("react");var _reactNativeGestureHandler=require("react-native-gesture-handler");var _useUpdateGestureConfig=require("./useUpdateGestureConfig");var _worklet_1643536495627_init_data={code:"function anonymous(e){const{userDefinedConflictGestures}=this.__closure;if(userDefinedConflictGestures.onBegin)userDefinedConflictGestures.onBegin(e);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts",sourceMap:"{\"version\":3,\"mappings\":\"AA2GgBA,QAACC,UAADD,CAAMA,CAANA,CAAM,mDAGd,GAAIE,2BAA2B,CAACC,OAAhC,CAAyCD,2BAA2B,CAACC,OAA5BD,CAAoCF,CAApCE,EAHjCF\",\"names\":[\"e\",\"anonymous\",\"userDefinedConflictGestures\",\"onBegin\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts\"]}",version:"3.10.1"};var _worklet_16784598584632_init_data={code:"function anonymous(e){const{onGestureStart,userDefinedConflictGestures}=this.__closure;onGestureStart(e);if(userDefinedConflictGestures.onStart)userDefinedConflictGestures.onStart(e);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts",sourceMap:"{\"version\":3,\"mappings\":\"AAgHgBA,QAACC,UAADD,CAAMA,CAANA,CAAM,kEAEdE,cAAc,CAACF,CAAD,CAAdE,CAEA,GAAIC,2BAA2B,CAACC,OAAhC,CAAyCD,2BAA2B,CAACC,OAA5BD,CAAoCH,CAApCG,EAJjCH\",\"names\":[\"e\",\"anonymous\",\"onGestureStart\",\"userDefinedConflictGestures\",\"onStart\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts\"]}",version:"3.10.1"};var _worklet_2328906842392_init_data={code:"function anonymous(e){const{onGestureUpdate,userDefinedConflictGestures}=this.__closure;onGestureUpdate(e);if(userDefinedConflictGestures.onUpdate)userDefinedConflictGestures.onUpdate(e);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts",sourceMap:"{\"version\":3,\"mappings\":\"AAsHiBA,QAACC,UAADD,CAAMA,CAANA,CAAM,mEAEfE,eAAe,CAACF,CAAD,CAAfE,CAEA,GAAIC,2BAA2B,CAACC,QAAhC,CAA0CD,2BAA2B,CAACC,QAA5BD,CAAqCH,CAArCG,EAJjCH\",\"names\":[\"e\",\"anonymous\",\"onGestureUpdate\",\"userDefinedConflictGestures\",\"onUpdate\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts\"]}",version:"3.10.1"};var _worklet_15252565988695_init_data={code:"function anonymous(e,success){const{onGestureEnd,userDefinedConflictGestures}=this.__closure;onGestureEnd(e,success);if(userDefinedConflictGestures.onEnd)userDefinedConflictGestures.onEnd(e,success);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts",sourceMap:"{\"version\":3,\"mappings\":\"AA4Ha,QAACA,UAAD,CAAIC,CAAJ,CAACD,OAAD,CAAgB,gEAErBE,YAAY,CAACF,CAAD,CAAIC,OAAJ,CAAZC,CAEA,GAAIC,2BAA2B,CAACC,KAAhC,CAAuCD,2BAA2B,CAACC,KAA5BD,CAAkCH,CAAlCG,CAAqCF,OAArCE,EAJlC\",\"names\":[\"e\",\"success\",\"onGestureEnd\",\"userDefinedConflictGestures\",\"onEnd\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts\"]}",version:"3.10.1"};var _worklet_4420764882059_init_data={code:"function anonymous(e,success){const{userDefinedConflictGestures}=this.__closure;if(userDefinedConflictGestures.onFinalize)userDefinedConflictGestures.onFinalize(e,success);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts",sourceMap:"{\"version\":3,\"mappings\":\"AAkIkB,QAACA,UAAD,CAAIC,CAAJ,CAACD,OAAD,CAAgB,mDAG1B,GAAIE,2BAA2B,CAACC,UAAhC,CACED,2BAA2B,CAACC,UAA5BD,CAAuCF,CAAvCE,CAA0CD,OAA1CC,EAJQ\",\"names\":[\"e\",\"success\",\"userDefinedConflictGestures\",\"onFinalize\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/hooks/usePanGestureProxy.ts\"]}",version:"3.10.1"};var usePanGestureProxy=function usePanGestureProxy(customization){var onConfigurePanGesture=customization.onConfigurePanGesture,onGestureStart=customization.onGestureStart,onGestureUpdate=customization.onGestureUpdate,onGestureEnd=customization.onGestureEnd,_customization$option=customization.options,options=_customization$option===void 0?{}:_customization$option;var gesture=(0,_react.useMemo)(function(){var gesture=_reactNativeGestureHandler.Gesture.Pan().withTestId("rnrc-gesture-handler");var originalGestures={onBegin:gesture.onBegin,onStart:gesture.onStart,onUpdate:gesture.onUpdate,onEnd:gesture.onEnd,onFinalize:gesture.onFinalize};var userDefinedConflictGestures={onBegin:undefined,onStart:undefined,onUpdate:undefined,onEnd:undefined,onFinalize:undefined};var fakeOnBegin=function fakeOnBegin(cb){userDefinedConflictGestures.onBegin=cb;return gesture;};var fakeOnStart=function fakeOnStart(cb){userDefinedConflictGestures.onStart=cb;return gesture;};var fakeOnUpdate=function fakeOnUpdate(cb){userDefinedConflictGestures.onUpdate=cb;return gesture;};var fakeOnEnd=function fakeOnEnd(cb){userDefinedConflictGestures.onEnd=cb;return gesture;};var fakeOnFinalize=function fakeOnFinalize(cb){userDefinedConflictGestures.onFinalize=cb;return gesture;};gesture.onBegin=fakeOnBegin;gesture.onStart=fakeOnStart;gesture.onUpdate=fakeOnUpdate;gesture.onEnd=fakeOnEnd;gesture.onFinalize=fakeOnFinalize;if(onConfigurePanGesture)onConfigurePanGesture(gesture);gesture.onBegin=originalGestures.onBegin;gesture.onStart=originalGestures.onStart;gesture.onUpdate=originalGestures.onUpdate;gesture.onEnd=originalGestures.onEnd;gesture.onFinalize=originalGestures.onFinalize;gesture.onBegin(function(){var _e=[new global.Error(),-2,-27];var anonymous=function anonymous(e){if(userDefinedConflictGestures.onBegin)userDefinedConflictGestures.onBegin(e);};anonymous.__closure={userDefinedConflictGestures:userDefinedConflictGestures};anonymous.__workletHash=1643536495627;anonymous.__initData=_worklet_1643536495627_init_data;anonymous.__stackDetails=_e;return anonymous;}()).onStart(function(){var _e=[new global.Error(),-3,-27];var anonymous=function anonymous(e){onGestureStart(e);if(userDefinedConflictGestures.onStart)userDefinedConflictGestures.onStart(e);};anonymous.__closure={onGestureStart:onGestureStart,userDefinedConflictGestures:userDefinedConflictGestures};anonymous.__workletHash=16784598584632;anonymous.__initData=_worklet_16784598584632_init_data;anonymous.__stackDetails=_e;return anonymous;}()).onUpdate(function(){var _e=[new global.Error(),-3,-27];var anonymous=function anonymous(e){onGestureUpdate(e);if(userDefinedConflictGestures.onUpdate)userDefinedConflictGestures.onUpdate(e);};anonymous.__closure={onGestureUpdate:onGestureUpdate,userDefinedConflictGestures:userDefinedConflictGestures};anonymous.__workletHash=2328906842392;anonymous.__initData=_worklet_2328906842392_init_data;anonymous.__stackDetails=_e;return anonymous;}()).onEnd(function(){var _e=[new global.Error(),-3,-27];var anonymous=function anonymous(e,success){onGestureEnd(e,success);if(userDefinedConflictGestures.onEnd)userDefinedConflictGestures.onEnd(e,success);};anonymous.__closure={onGestureEnd:onGestureEnd,userDefinedConflictGestures:userDefinedConflictGestures};anonymous.__workletHash=15252565988695;anonymous.__initData=_worklet_15252565988695_init_data;anonymous.__stackDetails=_e;return anonymous;}()).onFinalize(function(){var _e=[new global.Error(),-2,-27];var anonymous=function anonymous(e,success){if(userDefinedConflictGestures.onFinalize)userDefinedConflictGestures.onFinalize(e,success);};anonymous.__closure={userDefinedConflictGestures:userDefinedConflictGestures};anonymous.__workletHash=4420764882059;anonymous.__initData=_worklet_4420764882059_init_data;anonymous.__stackDetails=_e;return anonymous;}());return gesture;},[onGestureStart,onGestureUpdate,onGestureEnd,onConfigurePanGesture]);(0,_useUpdateGestureConfig.useUpdateGestureConfig)(gesture,options);return gesture;};exports.usePanGestureProxy=usePanGestureProxy;
118
2
  //# sourceMappingURL=usePanGestureProxy.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["usePanGestureProxy.ts"],"names":["usePanGestureProxy","customization","onConfigurePanGesture","onGestureStart","onGestureUpdate","onGestureEnd","options","gesture","Gesture","Pan","withTestId","originalGestures","onBegin","onStart","onUpdate","onEnd","onFinalize","userDefinedConflictGestures","undefined","fakeOnBegin","cb","fakeOnStart","fakeOnUpdate","fakeOnEnd","fakeOnFinalize","e","success"],"mappings":"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","sourcesContent":["import { useMemo } from \"react\";\nimport type {\n GestureStateChangeEvent,\n GestureUpdateEvent,\n PanGesture,\n PanGestureHandlerEventPayload,\n} from \"react-native-gesture-handler\";\nimport { Gesture } from \"react-native-gesture-handler\";\n\nimport type { GestureConfig } from \"./useUpdateGestureConfig\";\nimport { useUpdateGestureConfig } from \"./useUpdateGestureConfig\";\n\nexport const usePanGestureProxy = (customization: {\n onConfigurePanGesture?: (gesture: PanGesture) => void;\n onGestureStart: (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;\n onGestureUpdate: (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;\n onGestureEnd: (\n event: GestureStateChangeEvent<PanGestureHandlerEventPayload>,\n success: boolean\n ) => void;\n options?: GestureConfig;\n}) => {\n const {\n onConfigurePanGesture,\n onGestureStart,\n onGestureUpdate,\n onGestureEnd,\n options = {},\n } = customization;\n\n const gesture = useMemo(() => {\n const gesture = Gesture.Pan().withTestId(\"rnrc-gesture-handler\");\n\n // Save the original gesture callbacks\n const originalGestures = {\n onBegin: gesture.onBegin,\n onStart: gesture.onStart,\n onUpdate: gesture.onUpdate,\n onEnd: gesture.onEnd,\n onFinalize: gesture.onFinalize,\n };\n\n // Save the user defined gesture callbacks\n const userDefinedConflictGestures: {\n onBegin?: Parameters<(typeof gesture)[\"onBegin\"]>[0];\n onStart?: Parameters<(typeof gesture)[\"onStart\"]>[0];\n onUpdate?: Parameters<(typeof gesture)[\"onUpdate\"]>[0];\n onEnd?: Parameters<(typeof gesture)[\"onEnd\"]>[0];\n onFinalize?: Parameters<(typeof gesture)[\"onFinalize\"]>[0];\n } = {\n onBegin: undefined,\n onStart: undefined,\n onUpdate: undefined,\n onEnd: undefined,\n onFinalize: undefined,\n };\n\n const fakeOnBegin: typeof gesture.onBegin = (cb) => {\n // Using fakeOnBegin to save the user defined callback\n userDefinedConflictGestures.onBegin = cb;\n return gesture;\n };\n\n const fakeOnStart: typeof gesture.onStart = (cb) => {\n // Using fakeOnStart to save the user defined callback\n userDefinedConflictGestures.onStart = cb;\n return gesture;\n };\n\n const fakeOnUpdate: typeof gesture.onUpdate = (cb) => {\n // Using fakeOnUpdate to save the user defined callback\n userDefinedConflictGestures.onUpdate = cb;\n return gesture;\n };\n\n const fakeOnEnd: typeof gesture.onEnd = (cb) => {\n // Using fakeOnEnd to save the user defined callback\n userDefinedConflictGestures.onEnd = cb;\n return gesture;\n };\n\n const fakeOnFinalize: typeof gesture.onFinalize = (cb) => {\n // Using fakeOnFinalize to save the user defined callback\n userDefinedConflictGestures.onFinalize = cb;\n return gesture;\n };\n\n // Setup the fake callbacks\n gesture.onBegin = fakeOnBegin;\n gesture.onStart = fakeOnStart;\n gesture.onUpdate = fakeOnUpdate;\n gesture.onEnd = fakeOnEnd;\n gesture.onFinalize = fakeOnFinalize;\n\n if (onConfigurePanGesture)\n // Get the gesture with the user defined configuration\n onConfigurePanGesture(gesture);\n\n // Restore the original callbacks\n gesture.onBegin = originalGestures.onBegin;\n gesture.onStart = originalGestures.onStart;\n gesture.onUpdate = originalGestures.onUpdate;\n gesture.onEnd = originalGestures.onEnd;\n gesture.onFinalize = originalGestures.onFinalize;\n\n // Setup the original callbacks with the user defined callbacks\n gesture\n .onBegin((e) => {\n \"worklet\";\n\n if (userDefinedConflictGestures.onBegin) userDefinedConflictGestures.onBegin(e);\n })\n .onStart((e) => {\n \"worklet\";\n onGestureStart(e);\n\n if (userDefinedConflictGestures.onStart) userDefinedConflictGestures.onStart(e);\n })\n .onUpdate((e) => {\n \"worklet\";\n onGestureUpdate(e);\n\n if (userDefinedConflictGestures.onUpdate) userDefinedConflictGestures.onUpdate(e);\n })\n .onEnd((e, success) => {\n \"worklet\";\n onGestureEnd(e, success);\n\n if (userDefinedConflictGestures.onEnd) userDefinedConflictGestures.onEnd(e, success);\n })\n .onFinalize((e, success) => {\n \"worklet\";\n\n if (userDefinedConflictGestures.onFinalize)\n userDefinedConflictGestures.onFinalize(e, success);\n });\n\n return gesture;\n }, [onGestureStart, onGestureUpdate, onGestureEnd, onConfigurePanGesture]);\n\n useUpdateGestureConfig(gesture, options);\n\n return gesture;\n};\n"]}
1
+ {"version":3,"sources":["usePanGestureProxy.ts"],"names":["usePanGestureProxy","customization","onConfigurePanGesture","onGestureStart","onGestureUpdate","onGestureEnd","options","gesture","Gesture","Pan","withTestId","originalGestures","onBegin","onStart","onUpdate","onEnd","onFinalize","userDefinedConflictGestures","undefined","fakeOnBegin","cb","fakeOnStart","fakeOnUpdate","fakeOnEnd","fakeOnFinalize","e","success"],"mappings":"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","sourcesContent":["import { useMemo } from \"react\";\nimport type {\n GestureStateChangeEvent,\n GestureUpdateEvent,\n PanGesture,\n PanGestureHandlerEventPayload,\n} from \"react-native-gesture-handler\";\nimport { Gesture } from \"react-native-gesture-handler\";\n\nimport type { GestureConfig } from \"./useUpdateGestureConfig\";\nimport { useUpdateGestureConfig } from \"./useUpdateGestureConfig\";\n\nexport const usePanGestureProxy = (customization: {\n onConfigurePanGesture?: (gesture: PanGesture) => void;\n onGestureStart: (event: GestureStateChangeEvent<PanGestureHandlerEventPayload>) => void;\n onGestureUpdate: (event: GestureUpdateEvent<PanGestureHandlerEventPayload>) => void;\n onGestureEnd: (\n event: GestureStateChangeEvent<PanGestureHandlerEventPayload>,\n success: boolean\n ) => void;\n options?: GestureConfig;\n}) => {\n const {\n onConfigurePanGesture,\n onGestureStart,\n onGestureUpdate,\n onGestureEnd,\n options = {},\n } = customization;\n\n const gesture = useMemo(() => {\n const gesture = Gesture.Pan().withTestId(\"rnrc-gesture-handler\");\n\n // Save the original gesture callbacks\n const originalGestures = {\n onBegin: gesture.onBegin,\n onStart: gesture.onStart,\n onUpdate: gesture.onUpdate,\n onEnd: gesture.onEnd,\n onFinalize: gesture.onFinalize,\n };\n\n // Save the user defined gesture callbacks\n const userDefinedConflictGestures: {\n onBegin?: Parameters<(typeof gesture)[\"onBegin\"]>[0];\n onStart?: Parameters<(typeof gesture)[\"onStart\"]>[0];\n onUpdate?: Parameters<(typeof gesture)[\"onUpdate\"]>[0];\n onEnd?: Parameters<(typeof gesture)[\"onEnd\"]>[0];\n onFinalize?: Parameters<(typeof gesture)[\"onFinalize\"]>[0];\n } = {\n onBegin: undefined,\n onStart: undefined,\n onUpdate: undefined,\n onEnd: undefined,\n onFinalize: undefined,\n };\n\n const fakeOnBegin: typeof gesture.onBegin = (cb) => {\n // Using fakeOnBegin to save the user defined callback\n userDefinedConflictGestures.onBegin = cb;\n return gesture;\n };\n\n const fakeOnStart: typeof gesture.onStart = (cb) => {\n // Using fakeOnStart to save the user defined callback\n userDefinedConflictGestures.onStart = cb;\n return gesture;\n };\n\n const fakeOnUpdate: typeof gesture.onUpdate = (cb) => {\n // Using fakeOnUpdate to save the user defined callback\n userDefinedConflictGestures.onUpdate = cb;\n return gesture;\n };\n\n const fakeOnEnd: typeof gesture.onEnd = (cb) => {\n // Using fakeOnEnd to save the user defined callback\n userDefinedConflictGestures.onEnd = cb;\n return gesture;\n };\n\n const fakeOnFinalize: typeof gesture.onFinalize = (cb) => {\n // Using fakeOnFinalize to save the user defined callback\n userDefinedConflictGestures.onFinalize = cb;\n return gesture;\n };\n\n // Setup the fake callbacks\n gesture.onBegin = fakeOnBegin;\n gesture.onStart = fakeOnStart;\n gesture.onUpdate = fakeOnUpdate;\n gesture.onEnd = fakeOnEnd;\n gesture.onFinalize = fakeOnFinalize;\n\n if (onConfigurePanGesture)\n // Get the gesture with the user defined configuration\n onConfigurePanGesture(gesture);\n\n // Restore the original callbacks\n gesture.onBegin = originalGestures.onBegin;\n gesture.onStart = originalGestures.onStart;\n gesture.onUpdate = originalGestures.onUpdate;\n gesture.onEnd = originalGestures.onEnd;\n gesture.onFinalize = originalGestures.onFinalize;\n\n // Setup the original callbacks with the user defined callbacks\n gesture\n .onBegin((e) => {\n \"worklet\";\n\n if (userDefinedConflictGestures.onBegin) userDefinedConflictGestures.onBegin(e);\n })\n .onStart((e) => {\n \"worklet\";\n onGestureStart(e);\n\n if (userDefinedConflictGestures.onStart) userDefinedConflictGestures.onStart(e);\n })\n .onUpdate((e) => {\n \"worklet\";\n onGestureUpdate(e);\n\n if (userDefinedConflictGestures.onUpdate) userDefinedConflictGestures.onUpdate(e);\n })\n .onEnd((e, success) => {\n \"worklet\";\n onGestureEnd(e, success);\n\n if (userDefinedConflictGestures.onEnd) userDefinedConflictGestures.onEnd(e, success);\n })\n .onFinalize((e, success) => {\n \"worklet\";\n\n if (userDefinedConflictGestures.onFinalize)\n userDefinedConflictGestures.onFinalize(e, success);\n });\n\n return gesture;\n }, [onGestureStart, onGestureUpdate, onGestureEnd, onConfigurePanGesture]);\n\n useUpdateGestureConfig(gesture, options);\n\n return gesture;\n};\n"]}