@shopify/flash-list 2.0.0-alpha.8 → 2.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +38 -98
  2. package/dist/AnimatedFlashList.d.ts.map +1 -1
  3. package/dist/AnimatedFlashList.js +3 -3
  4. package/dist/AnimatedFlashList.js.map +1 -1
  5. package/dist/FlashList.d.ts +9 -0
  6. package/dist/FlashList.d.ts.map +1 -1
  7. package/dist/FlashList.js +20 -0
  8. package/dist/FlashList.js.map +1 -1
  9. package/dist/FlashListProps.d.ts +15 -8
  10. package/dist/FlashListProps.d.ts.map +1 -1
  11. package/dist/FlashListProps.js.map +1 -1
  12. package/dist/FlashListRef.d.ts +305 -0
  13. package/dist/FlashListRef.d.ts.map +1 -0
  14. package/dist/FlashListRef.js +3 -0
  15. package/dist/FlashListRef.js.map +1 -0
  16. package/dist/MasonryFlashList.js.map +1 -1
  17. package/dist/__tests__/RecyclerView.test.js +63 -28
  18. package/dist/__tests__/RecyclerView.test.js.map +1 -1
  19. package/dist/__tests__/RenderStackManager.test.d.ts +2 -0
  20. package/dist/__tests__/RenderStackManager.test.d.ts.map +1 -0
  21. package/dist/__tests__/RenderStackManager.test.js +486 -0
  22. package/dist/__tests__/RenderStackManager.test.js.map +1 -0
  23. package/dist/__tests__/helpers/createLayoutManager.d.ts.map +1 -1
  24. package/dist/__tests__/helpers/createLayoutManager.js +3 -4
  25. package/dist/__tests__/helpers/createLayoutManager.js.map +1 -1
  26. package/dist/__tests__/useUnmountAwareCallbacks.test.js +1 -1
  27. package/dist/__tests__/useUnmountAwareCallbacks.test.js.map +1 -1
  28. package/dist/benchmark/useFlatListBenchmark.js +8 -7
  29. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  30. package/dist/enableNewCore.d.ts.map +1 -1
  31. package/dist/enableNewCore.js +2 -1
  32. package/dist/enableNewCore.js.map +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/native/config/PlatformHelper.android.d.ts +2 -0
  37. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  38. package/dist/native/config/PlatformHelper.android.js +2 -0
  39. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  40. package/dist/native/config/PlatformHelper.d.ts +2 -0
  41. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  42. package/dist/native/config/PlatformHelper.ios.d.ts +2 -0
  43. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  44. package/dist/native/config/PlatformHelper.ios.js +2 -0
  45. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  46. package/dist/native/config/PlatformHelper.js +2 -0
  47. package/dist/native/config/PlatformHelper.js.map +1 -1
  48. package/dist/native/config/PlatformHelper.web.d.ts +2 -0
  49. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  50. package/dist/native/config/PlatformHelper.web.js +3 -1
  51. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  52. package/dist/recyclerview/RecyclerView.d.ts +2 -1
  53. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  54. package/dist/recyclerview/RecyclerView.js +64 -37
  55. package/dist/recyclerview/RecyclerView.js.map +1 -1
  56. package/dist/recyclerview/RecyclerViewContextProvider.d.ts +6 -5
  57. package/dist/recyclerview/RecyclerViewContextProvider.d.ts.map +1 -1
  58. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
  59. package/dist/recyclerview/RecyclerViewManager.d.ts +21 -7
  60. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  61. package/dist/recyclerview/RecyclerViewManager.js +105 -113
  62. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  63. package/dist/recyclerview/RenderStackManager.d.ts +85 -0
  64. package/dist/recyclerview/RenderStackManager.d.ts.map +1 -0
  65. package/dist/recyclerview/RenderStackManager.js +324 -0
  66. package/dist/recyclerview/RenderStackManager.js.map +1 -0
  67. package/dist/recyclerview/ViewHolder.d.ts.map +1 -1
  68. package/dist/recyclerview/ViewHolder.js +5 -3
  69. package/dist/recyclerview/ViewHolder.js.map +1 -1
  70. package/dist/recyclerview/ViewHolderCollection.d.ts +3 -1
  71. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
  72. package/dist/recyclerview/ViewHolderCollection.js +23 -8
  73. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  74. package/dist/recyclerview/components/ScrollAnchor.d.ts +2 -1
  75. package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -1
  76. package/dist/recyclerview/components/ScrollAnchor.js +9 -4
  77. package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
  78. package/dist/recyclerview/components/StickyHeaders.d.ts +1 -1
  79. package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
  80. package/dist/recyclerview/components/StickyHeaders.js +40 -32
  81. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  82. package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts +45 -1
  83. package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts.map +1 -1
  84. package/dist/recyclerview/helpers/EngagedIndicesTracker.js +79 -20
  85. package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
  86. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts +10 -0
  87. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts.map +1 -0
  88. package/dist/recyclerview/helpers/RenderTimeTracker.js +39 -0
  89. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -0
  90. package/dist/recyclerview/helpers/VelocityTracker.d.ts +29 -0
  91. package/dist/recyclerview/helpers/VelocityTracker.d.ts.map +1 -0
  92. package/dist/recyclerview/helpers/VelocityTracker.js +70 -0
  93. package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -0
  94. package/dist/recyclerview/hooks/useBoundDetection.d.ts +1 -2
  95. package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -1
  96. package/dist/recyclerview/hooks/useBoundDetection.js +19 -16
  97. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  98. package/dist/recyclerview/hooks/useMappingHelper.d.ts +1 -1
  99. package/dist/recyclerview/hooks/useMappingHelper.d.ts.map +1 -1
  100. package/dist/recyclerview/hooks/useMappingHelper.js +1 -1
  101. package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -1
  102. package/dist/recyclerview/hooks/useOnLoad.d.ts.map +1 -1
  103. package/dist/recyclerview/hooks/useOnLoad.js +4 -6
  104. package/dist/recyclerview/hooks/useOnLoad.js.map +1 -1
  105. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts +3 -48
  106. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  107. package/dist/recyclerview/hooks/useRecyclerViewController.js +179 -119
  108. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  109. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts +2 -0
  110. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -1
  111. package/dist/recyclerview/hooks/useRecyclerViewManager.js +10 -1
  112. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
  113. package/dist/recyclerview/hooks/useSecondaryProps.js +1 -1
  114. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts +10 -3
  115. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts.map +1 -1
  116. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +33 -4
  117. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -1
  118. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +6 -0
  119. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -1
  120. package/dist/recyclerview/layout-managers/GridLayoutManager.js +27 -5
  121. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  122. package/dist/recyclerview/layout-managers/LayoutManager.d.ts +10 -16
  123. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  124. package/dist/recyclerview/layout-managers/LayoutManager.js +4 -14
  125. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  126. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +2 -2
  127. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  128. package/dist/recyclerview/utils/measureLayout.d.ts +1 -29
  129. package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -1
  130. package/dist/recyclerview/utils/measureLayout.js +2 -4
  131. package/dist/recyclerview/utils/measureLayout.js.map +1 -1
  132. package/dist/recyclerview/utils/measureLayout.web.d.ts +29 -0
  133. package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -0
  134. package/dist/recyclerview/utils/measureLayout.web.js +89 -0
  135. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -0
  136. package/dist/tsconfig.tsbuildinfo +1 -1
  137. package/dist/viewability/ViewToken.d.ts +2 -2
  138. package/dist/viewability/ViewToken.d.ts.map +1 -1
  139. package/dist/viewability/ViewabilityHelper.js +1 -1
  140. package/dist/viewability/ViewabilityHelper.js.map +1 -1
  141. package/dist/viewability/ViewabilityManager.d.ts.map +1 -1
  142. package/dist/viewability/ViewabilityManager.js +1 -2
  143. package/dist/viewability/ViewabilityManager.js.map +1 -1
  144. package/jestSetup.js +30 -11
  145. package/package.json +2 -1
  146. package/src/AnimatedFlashList.ts +3 -2
  147. package/src/FlashList.tsx +24 -0
  148. package/src/FlashListProps.ts +20 -8
  149. package/src/FlashListRef.ts +320 -0
  150. package/src/MasonryFlashList.tsx +2 -2
  151. package/src/__tests__/RecyclerView.test.tsx +84 -30
  152. package/src/__tests__/RenderStackManager.test.ts +575 -0
  153. package/src/__tests__/helpers/createLayoutManager.ts +2 -3
  154. package/src/__tests__/useUnmountAwareCallbacks.test.tsx +12 -12
  155. package/src/benchmark/useFlatListBenchmark.ts +2 -2
  156. package/src/enableNewCore.ts +3 -1
  157. package/src/index.ts +1 -0
  158. package/src/native/config/PlatformHelper.android.ts +2 -0
  159. package/src/native/config/PlatformHelper.ios.ts +2 -0
  160. package/src/native/config/PlatformHelper.ts +2 -0
  161. package/src/native/config/PlatformHelper.web.ts +3 -1
  162. package/src/recyclerview/RecyclerView.tsx +85 -43
  163. package/src/recyclerview/RecyclerViewContextProvider.ts +12 -6
  164. package/src/recyclerview/RecyclerViewManager.ts +123 -98
  165. package/src/recyclerview/RenderStackManager.ts +291 -0
  166. package/src/recyclerview/ViewHolder.tsx +5 -3
  167. package/src/recyclerview/ViewHolderCollection.tsx +33 -12
  168. package/src/recyclerview/components/ScrollAnchor.tsx +21 -8
  169. package/src/recyclerview/components/StickyHeaders.tsx +63 -44
  170. package/src/recyclerview/helpers/EngagedIndicesTracker.ts +120 -23
  171. package/src/recyclerview/helpers/RenderTimeTracker.ts +38 -0
  172. package/src/recyclerview/helpers/VelocityTracker.ts +77 -0
  173. package/src/recyclerview/hooks/useBoundDetection.ts +25 -18
  174. package/src/recyclerview/hooks/useMappingHelper.ts +1 -1
  175. package/src/recyclerview/hooks/useOnLoad.ts +4 -6
  176. package/src/recyclerview/hooks/useRecyclerViewController.tsx +204 -173
  177. package/src/recyclerview/hooks/useRecyclerViewManager.ts +11 -1
  178. package/src/recyclerview/hooks/useSecondaryProps.tsx +1 -1
  179. package/src/recyclerview/hooks/useUnmountAwareCallbacks.ts +39 -3
  180. package/src/recyclerview/layout-managers/GridLayoutManager.ts +30 -7
  181. package/src/recyclerview/layout-managers/LayoutManager.ts +12 -21
  182. package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +1 -1
  183. package/src/recyclerview/utils/measureLayout.ts +3 -3
  184. package/src/recyclerview/utils/measureLayout.web.ts +104 -0
  185. package/src/viewability/ViewToken.ts +2 -2
  186. package/src/viewability/ViewabilityHelper.ts +1 -1
  187. package/src/viewability/ViewabilityManager.ts +6 -3
  188. package/dist/__tests__/RecycleKeyManager.test.d.ts +0 -2
  189. package/dist/__tests__/RecycleKeyManager.test.d.ts.map +0 -1
  190. package/dist/__tests__/RecycleKeyManager.test.js +0 -210
  191. package/dist/__tests__/RecycleKeyManager.test.js.map +0 -1
  192. package/dist/recyclerview/RecycleKeyManager.d.ts +0 -82
  193. package/dist/recyclerview/RecycleKeyManager.d.ts.map +0 -1
  194. package/dist/recyclerview/RecycleKeyManager.js +0 -135
  195. package/dist/recyclerview/RecycleKeyManager.js.map +0 -1
  196. package/src/__tests__/RecycleKeyManager.test.ts +0 -254
  197. package/src/recyclerview/RecycleKeyManager.ts +0 -185
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = require("react");
6
6
  var react_native_1 = require("react-native");
7
7
  var adjustOffsetForRTL_1 = require("../utils/adjustOffsetForRTL");
8
+ var PlatformHelper_1 = require("../../native/config/PlatformHelper");
8
9
  var useUnmountFlag_1 = require("./useUnmountFlag");
9
10
  var useUnmountAwareCallbacks_1 = require("./useUnmountAwareCallbacks");
10
11
  /**
@@ -23,51 +24,19 @@ var useUnmountAwareCallbacks_1 = require("./useUnmountAwareCallbacks");
23
24
  * @param scrollAnchorRef - Reference to the scroll anchor component
24
25
  * @param props - The RecyclerViewProps containing configuration
25
26
  */
26
- function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scrollAnchorRef, props) {
27
+ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scrollAnchorRef) {
27
28
  var _this = this;
28
- var _a;
29
- var horizontal = props.horizontal, data = props.data;
29
+ var _a, _b;
30
30
  var isUnmounted = (0, useUnmountFlag_1.useUnmountFlag)();
31
- var _b = tslib_1.__read((0, react_1.useState)(0), 2), _ = _b[0], setRenderId = _b[1];
32
- var pauseAdjustRef = (0, react_1.useRef)(false);
31
+ var _c = tslib_1.__read((0, react_1.useState)(0), 2), _ = _c[0], setRenderId = _c[1];
32
+ var pauseOffsetCorrection = (0, react_1.useRef)(false);
33
33
  var initialScrollCompletedRef = (0, react_1.useRef)(false);
34
- var lastDataLengthRef = (0, react_1.useRef)((_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0);
35
- var setTimeout = (0, useUnmountAwareCallbacks_1.useUnmountAwareCallbacks)().setTimeout;
34
+ var lastDataLengthRef = (0, react_1.useRef)((_b = (_a = recyclerViewManager.props.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
35
+ var setTimeout = (0, useUnmountAwareCallbacks_1.useUnmountAwareTimeout)().setTimeout;
36
36
  // Track the first visible item for maintaining scroll position
37
37
  var firstVisibleItemKey = (0, react_1.useRef)(undefined);
38
38
  var firstVisibleItemLayout = (0, react_1.useRef)(undefined);
39
39
  var pendingScrollResolves = (0, react_1.useRef)([]);
40
- var applyInitialScrollIndex = (0, react_1.useCallback)(function () {
41
- var _a, _b, _c;
42
- var initialScrollIndex = (_a = recyclerViewManager.getInitialScrollIndex()) !== null && _a !== void 0 ? _a : -1;
43
- var dataLength = (_c = (_b = props.data) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;
44
- if (initialScrollIndex >= 0 &&
45
- initialScrollIndex < dataLength &&
46
- !initialScrollCompletedRef.current &&
47
- recyclerViewManager.getIsFirstLayoutComplete()) {
48
- // Use setTimeout to ensure that we keep trying to scroll on first few renders
49
- setTimeout(function () {
50
- initialScrollCompletedRef.current = true;
51
- pauseAdjustRef.current = false;
52
- }, 100);
53
- pauseAdjustRef.current = true;
54
- var offset_1 = horizontal
55
- ? recyclerViewManager.getLayout(initialScrollIndex).x
56
- : recyclerViewManager.getLayout(initialScrollIndex).y;
57
- handlerMethods.scrollToOffset({
58
- offset: offset_1,
59
- animated: false,
60
- skipFirstItemOffset: false,
61
- });
62
- setTimeout(function () {
63
- handlerMethods.scrollToOffset({
64
- offset: offset_1,
65
- animated: false,
66
- skipFirstItemOffset: false,
67
- });
68
- }, 0);
69
- }
70
- }, [recyclerViewManager, props.data]);
71
40
  // Handle initial scroll position when the list first loads
72
41
  // useOnLoad(recyclerViewManager, () => {
73
42
  // });
@@ -96,41 +65,57 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
96
65
  * the user's current view position when new messages are added.
97
66
  */
98
67
  var applyContentOffset = (0, react_1.useCallback)(function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
99
- var resolves, currentDataLength, hasDataChanged, currentIndexOfFirstVisibleItem, diff, firstVisibleIndex;
100
- var _a, _b, _c, _d, _e, _f, _g, _h;
101
- return tslib_1.__generator(this, function (_j) {
68
+ var _a, horizontal, data, keyExtractor, resolves, currentDataLength, hasDataChanged, currentIndexOfFirstVisibleItem, diff, scrollToParams, firstVisibleIndex;
69
+ var _b, _c, _d, _e, _f;
70
+ return tslib_1.__generator(this, function (_g) {
71
+ _a = recyclerViewManager.props, horizontal = _a.horizontal, data = _a.data, keyExtractor = _a.keyExtractor;
102
72
  resolves = pendingScrollResolves.current;
103
73
  pendingScrollResolves.current = [];
104
74
  resolves.forEach(function (resolve) { return resolve(); });
105
- currentDataLength = (_b = (_a = props.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
106
- if (!props.horizontal &&
107
- recyclerViewManager.getIsFirstLayoutComplete() &&
108
- props.keyExtractor &&
75
+ currentDataLength = (_b = data === null || data === void 0 ? void 0 : data.length) !== null && _b !== void 0 ? _b : 0;
76
+ if (recyclerViewManager.getIsFirstLayoutComplete() &&
77
+ keyExtractor &&
109
78
  currentDataLength > 0 &&
110
- ((_c = props.maintainVisibleContentPosition) === null || _c === void 0 ? void 0 : _c.disabled) !== true) {
79
+ recyclerViewManager.shouldMaintainVisibleContentPosition()) {
111
80
  hasDataChanged = currentDataLength !== lastDataLengthRef.current;
112
81
  // If we have a tracked first visible item, maintain its position
113
82
  if (firstVisibleItemKey.current) {
114
- currentIndexOfFirstVisibleItem = (_d = recyclerViewManager
83
+ currentIndexOfFirstVisibleItem = (_c = recyclerViewManager
115
84
  .getEngagedIndices()
116
85
  .findValue(function (index) {
117
- var _a;
118
- return ((_a = props.keyExtractor) === null || _a === void 0 ? void 0 : _a.call(props, props.data[index], index)) ===
86
+ return (keyExtractor === null || keyExtractor === void 0 ? void 0 : keyExtractor(data[index], index)) ===
119
87
  firstVisibleItemKey.current;
120
- })) !== null && _d !== void 0 ? _d : (hasDataChanged
121
- ? (_e = props.data) === null || _e === void 0 ? void 0 : _e.findIndex(function (item, index) {
122
- var _a;
123
- return ((_a = props.keyExtractor) === null || _a === void 0 ? void 0 : _a.call(props, item, index)) ===
124
- firstVisibleItemKey.current;
88
+ })) !== null && _c !== void 0 ? _c : (hasDataChanged
89
+ ? data === null || data === void 0 ? void 0 : data.findIndex(function (item, index) {
90
+ return (keyExtractor === null || keyExtractor === void 0 ? void 0 : keyExtractor(item, index)) === firstVisibleItemKey.current;
125
91
  })
126
92
  : undefined);
127
- if (currentIndexOfFirstVisibleItem !== undefined) {
128
- diff = recyclerViewManager.getLayout(currentIndexOfFirstVisibleItem).y -
129
- firstVisibleItemLayout.current.y;
93
+ if (currentIndexOfFirstVisibleItem !== undefined &&
94
+ currentIndexOfFirstVisibleItem >= 0) {
95
+ diff = horizontal
96
+ ? recyclerViewManager.getLayout(currentIndexOfFirstVisibleItem).x -
97
+ firstVisibleItemLayout.current.x
98
+ : recyclerViewManager.getLayout(currentIndexOfFirstVisibleItem).y -
99
+ firstVisibleItemLayout.current.y;
130
100
  firstVisibleItemLayout.current = tslib_1.__assign({}, recyclerViewManager.getLayout(currentIndexOfFirstVisibleItem));
131
- if (diff !== 0 && !pauseAdjustRef.current) {
101
+ if (diff !== 0 && !pauseOffsetCorrection.current) {
132
102
  // console.log("diff", diff, firstVisibleItemKey.current);
133
- (_f = scrollAnchorRef.current) === null || _f === void 0 ? void 0 : _f.scrollBy(diff);
103
+ if (PlatformHelper_1.PlatformConfig.supportsOffsetCorrection) {
104
+ // console.log("scrollBy", diff);
105
+ (_d = scrollAnchorRef.current) === null || _d === void 0 ? void 0 : _d.scrollBy(diff);
106
+ }
107
+ else {
108
+ scrollToParams = horizontal
109
+ ? {
110
+ x: recyclerViewManager.getAbsoluteLastScrollOffset() + diff,
111
+ animated: false,
112
+ }
113
+ : {
114
+ y: recyclerViewManager.getAbsoluteLastScrollOffset() + diff,
115
+ animated: false,
116
+ };
117
+ (_e = scrollViewRef.current) === null || _e === void 0 ? void 0 : _e.scrollTo(scrollToParams);
118
+ }
134
119
  if (hasDataChanged) {
135
120
  updateScrollOffsetAsync(recyclerViewManager.getAbsoluteLastScrollOffset() + diff);
136
121
  recyclerViewManager.ignoreScrollEvents = true;
@@ -141,25 +126,34 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
141
126
  }
142
127
  }
143
128
  }
144
- firstVisibleIndex = Math.max(0, recyclerViewManager.getVisibleIndices().startIndex);
129
+ firstVisibleIndex = Math.max(0, recyclerViewManager.computeVisibleIndices().startIndex);
145
130
  if (firstVisibleIndex !== undefined && firstVisibleIndex >= 0) {
146
- firstVisibleItemKey.current = props.keyExtractor(props.data[firstVisibleIndex], firstVisibleIndex);
131
+ firstVisibleItemKey.current = keyExtractor(data[firstVisibleIndex], firstVisibleIndex);
147
132
  firstVisibleItemLayout.current = tslib_1.__assign({}, recyclerViewManager.getLayout(firstVisibleIndex));
148
133
  }
149
134
  }
150
- lastDataLengthRef.current = (_h = (_g = props.data) === null || _g === void 0 ? void 0 : _g.length) !== null && _h !== void 0 ? _h : 0;
135
+ lastDataLengthRef.current = (_f = data === null || data === void 0 ? void 0 : data.length) !== null && _f !== void 0 ? _f : 0;
151
136
  return [2 /*return*/];
152
137
  });
153
- }); }, [props.data, props.keyExtractor, recyclerViewManager, setTimeout]);
138
+ }); }, [
139
+ recyclerViewManager,
140
+ scrollAnchorRef,
141
+ scrollViewRef,
142
+ setTimeout,
143
+ updateScrollOffsetAsync,
144
+ ]);
154
145
  var handlerMethods = (0, react_1.useMemo)(function () {
155
146
  return {
156
- props: props,
147
+ get props() {
148
+ return recyclerViewManager.props;
149
+ },
157
150
  /**
158
151
  * Scrolls the list to a specific offset position.
159
152
  * Handles RTL layouts and first item offset adjustments.
160
153
  */
161
154
  scrollToOffset: function (_a) {
162
155
  var offset = _a.offset, animated = _a.animated, _b = _a.skipFirstItemOffset, skipFirstItemOffset = _b === void 0 ? true : _b;
156
+ var horizontal = recyclerViewManager.props.horizontal;
163
157
  if (scrollViewRef.current) {
164
158
  // Adjust offset for RTL layouts in horizontal mode
165
159
  if (react_native_1.I18nManager.isRTL && horizontal) {
@@ -179,6 +173,9 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
179
173
  scrollViewRef.current.scrollTo(tslib_1.__assign(tslib_1.__assign({}, scrollTo_1), { animated: animated }));
180
174
  }
181
175
  },
176
+ clearLayoutCacheOnUpdate: function () {
177
+ recyclerViewManager.markLayoutManagerDirty();
178
+ },
182
179
  // Expose native scroll view methods
183
180
  flashScrollIndicators: function () {
184
181
  scrollViewRef.current.flashScrollIndicators();
@@ -201,10 +198,12 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
201
198
  args_1[_i] = arguments[_i];
202
199
  }
203
200
  return tslib_1.__awaiter(_this, tslib_1.__spreadArray([], tslib_1.__read(args_1), false), void 0, function (_a) {
201
+ var data;
204
202
  var _b = _a === void 0 ? {} : _a, animated = _b.animated;
205
203
  return tslib_1.__generator(this, function (_c) {
206
204
  switch (_c.label) {
207
205
  case 0:
206
+ data = recyclerViewManager.props.data;
208
207
  if (!(data && data.length > 0)) return [3 /*break*/, 2];
209
208
  return [4 /*yield*/, handlerMethods.scrollToIndex({
210
209
  index: data.length - 1,
@@ -214,7 +213,9 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
214
213
  _c.sent();
215
214
  _c.label = 2;
216
215
  case 2:
217
- scrollViewRef.current.scrollToEnd({ animated: animated });
216
+ setTimeout(function () {
217
+ scrollViewRef.current.scrollToEnd({ animated: animated });
218
+ }, 0);
218
219
  return [2 /*return*/];
219
220
  }
220
221
  });
@@ -235,14 +236,19 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
235
236
  * Supports viewPosition and viewOffset for precise positioning.
236
237
  */
237
238
  scrollToIndex: function (_a) { return tslib_1.__awaiter(_this, [_a], void 0, function (_b) {
238
- var getFinalOffset, lastScrollOffset, finalOffset, bufferForScroll, bufferForCompute, i, i, maxOffset;
239
+ var horizontal, getFinalOffset_1, lastAbsoluteScrollOffset_1, bufferForScroll, bufferForCompute_1, getStartScrollOffset, initialTargetOffset, initialStartScrollOffset, finalOffset, startScrollOffset, steps, i, nextOffset, newFinalOffset, maxOffset;
239
240
  var index = _b.index, animated = _b.animated, viewPosition = _b.viewPosition, viewOffset = _b.viewOffset;
240
241
  return tslib_1.__generator(this, function (_c) {
241
242
  switch (_c.label) {
242
243
  case 0:
243
- if (!(scrollViewRef.current && data && data.length > index)) return [3 /*break*/, 10];
244
- pauseAdjustRef.current = true;
245
- getFinalOffset = function () {
244
+ horizontal = recyclerViewManager.props.horizontal;
245
+ if (!(scrollViewRef.current &&
246
+ index >= 0 &&
247
+ index < recyclerViewManager.getDataLength())) return [3 /*break*/, 5];
248
+ // Pause the scroll offset adjustments
249
+ pauseOffsetCorrection.current = true;
250
+ recyclerViewManager.setOffsetProjectionEnabled(false);
251
+ getFinalOffset_1 = function () {
246
252
  var layout = recyclerViewManager.getLayout(index);
247
253
  var offset = horizontal ? layout.x : layout.y;
248
254
  var finalOffset = offset;
@@ -261,77 +267,92 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
261
267
  finalOffset += viewOffset;
262
268
  }
263
269
  }
264
- return finalOffset;
270
+ return finalOffset + recyclerViewManager.firstItemOffset;
265
271
  };
266
- lastScrollOffset = recyclerViewManager.getLastScrollOffset();
267
- finalOffset = getFinalOffset();
272
+ lastAbsoluteScrollOffset_1 = recyclerViewManager.getAbsoluteLastScrollOffset();
268
273
  bufferForScroll = horizontal
269
274
  ? recyclerViewManager.getWindowSize().width
270
275
  : recyclerViewManager.getWindowSize().height;
271
- bufferForCompute = bufferForScroll * 2;
272
- if (finalOffset > lastScrollOffset) {
273
- lastScrollOffset = Math.max(finalOffset - bufferForCompute, lastScrollOffset);
274
- recyclerViewManager.setScrollDirection("forward");
275
- }
276
- else {
277
- lastScrollOffset = Math.min(finalOffset + bufferForCompute, lastScrollOffset);
278
- recyclerViewManager.setScrollDirection("backward");
279
- }
280
- if (!animated) return [3 /*break*/, 5];
276
+ bufferForCompute_1 = bufferForScroll * 2;
277
+ getStartScrollOffset = function () {
278
+ var lastScrollOffset = lastAbsoluteScrollOffset_1;
279
+ var finalOffset = getFinalOffset_1();
280
+ if (finalOffset > lastScrollOffset) {
281
+ lastScrollOffset = Math.max(finalOffset - bufferForCompute_1, lastScrollOffset);
282
+ recyclerViewManager.setScrollDirection("forward");
283
+ }
284
+ else {
285
+ lastScrollOffset = Math.min(finalOffset + bufferForCompute_1, lastScrollOffset);
286
+ recyclerViewManager.setScrollDirection("backward");
287
+ }
288
+ return lastScrollOffset;
289
+ };
290
+ initialTargetOffset = getFinalOffset_1();
291
+ initialStartScrollOffset = getStartScrollOffset();
292
+ finalOffset = initialTargetOffset;
293
+ startScrollOffset = initialStartScrollOffset;
294
+ steps = 5;
281
295
  i = 0;
282
296
  _c.label = 1;
283
297
  case 1:
284
- if (!(i < 5)) return [3 /*break*/, 4];
298
+ if (!(i < steps)) return [3 /*break*/, 4];
285
299
  if (isUnmounted.current) {
286
300
  return [2 /*return*/];
287
301
  }
288
- return [4 /*yield*/, updateScrollOffsetAsync(finalOffset + (lastScrollOffset - finalOffset) * (i / 4))];
302
+ nextOffset = animated
303
+ ? finalOffset +
304
+ (startScrollOffset - finalOffset) * (i / (steps - 1))
305
+ : startScrollOffset +
306
+ (finalOffset - startScrollOffset) * (i / (steps - 1));
307
+ return [4 /*yield*/, updateScrollOffsetAsync(nextOffset)];
289
308
  case 2:
290
309
  _c.sent();
310
+ // In case some change happens in the middle of this operation
311
+ // and the index is out of bounds, scroll to the end
312
+ if (index >= recyclerViewManager.getDataLength()) {
313
+ handlerMethods.scrollToEnd({ animated: animated });
314
+ return [2 /*return*/];
315
+ }
316
+ newFinalOffset = getFinalOffset_1();
317
+ if ((newFinalOffset < initialTargetOffset &&
318
+ newFinalOffset < initialStartScrollOffset) ||
319
+ (newFinalOffset > initialTargetOffset &&
320
+ newFinalOffset > initialStartScrollOffset)) {
321
+ finalOffset = newFinalOffset;
322
+ startScrollOffset = getStartScrollOffset();
323
+ initialTargetOffset = newFinalOffset;
324
+ initialStartScrollOffset = startScrollOffset;
325
+ i = -1; // Restart compute loop
326
+ }
291
327
  _c.label = 3;
292
328
  case 3:
293
329
  i++;
294
330
  return [3 /*break*/, 1];
295
- case 4: return [3 /*break*/, 9];
296
- case 5:
297
- i = 0;
298
- _c.label = 6;
299
- case 6:
300
- if (!(i < 5)) return [3 /*break*/, 9];
301
- if (isUnmounted.current) {
302
- return [2 /*return*/];
303
- }
304
- return [4 /*yield*/, updateScrollOffsetAsync(lastScrollOffset + (finalOffset - lastScrollOffset) * (i / 4))];
305
- case 7:
306
- _c.sent();
307
- _c.label = 8;
308
- case 8:
309
- i++;
310
- return [3 /*break*/, 6];
311
- case 9:
312
- finalOffset = getFinalOffset();
331
+ case 4:
332
+ finalOffset = getFinalOffset_1();
313
333
  maxOffset = recyclerViewManager.getMaxScrollOffset();
314
334
  if (finalOffset > maxOffset) {
315
335
  finalOffset = maxOffset;
316
336
  }
317
337
  if (animated) {
318
- // We don't need to add firstItemOffset here as it will be added in scrollToOffset
338
+ // We don't need to add firstItemOffset here as it's already added
319
339
  handlerMethods.scrollToOffset({
320
- offset: lastScrollOffset,
340
+ offset: startScrollOffset,
321
341
  animated: false,
322
- skipFirstItemOffset: false,
342
+ skipFirstItemOffset: true,
323
343
  });
324
344
  }
325
345
  handlerMethods.scrollToOffset({
326
346
  offset: finalOffset,
327
347
  animated: animated,
328
- skipFirstItemOffset: false,
348
+ skipFirstItemOffset: true,
329
349
  });
330
350
  setTimeout(function () {
331
- pauseAdjustRef.current = false;
332
- }, 200);
333
- _c.label = 10;
334
- case 10: return [2 /*return*/];
351
+ pauseOffsetCorrection.current = false;
352
+ recyclerViewManager.setOffsetProjectionEnabled(true);
353
+ }, animated ? 300 : 200);
354
+ _c.label = 5;
355
+ case 5: return [2 /*return*/];
335
356
  }
336
357
  });
337
358
  }); },
@@ -341,9 +362,10 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
341
362
  */
342
363
  scrollToItem: function (_a) {
343
364
  var item = _a.item, animated = _a.animated, viewPosition = _a.viewPosition, viewOffset = _a.viewOffset;
365
+ var data = recyclerViewManager.props.data;
344
366
  if (scrollViewRef.current && data) {
345
367
  // Find the index of the item in the data array
346
- var index = Array.from(data).findIndex(function (dataItem) { return dataItem === item; });
368
+ var index = data.findIndex(function (dataItem) { return dataItem === item; });
347
369
  if (index >= 0) {
348
370
  handlerMethods.scrollToIndex({
349
371
  index: index,
@@ -362,7 +384,7 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
362
384
  return recyclerViewManager.getWindowSize();
363
385
  },
364
386
  getLayout: function (index) {
365
- return recyclerViewManager.getLayout(index);
387
+ return recyclerViewManager.tryGetLayout(index);
366
388
  },
367
389
  getAbsoluteLastScrollOffset: function () {
368
390
  return recyclerViewManager.getAbsoluteLastScrollOffset();
@@ -373,11 +395,11 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
373
395
  recordInteraction: function () {
374
396
  recyclerViewManager.recordInteraction();
375
397
  },
376
- getVisibleIndices: function () {
377
- return recyclerViewManager.getVisibleIndices();
398
+ computeVisibleIndices: function () {
399
+ return recyclerViewManager.computeVisibleIndices();
378
400
  },
379
401
  getFirstVisibleIndex: function () {
380
- return recyclerViewManager.getVisibleIndices().startIndex;
402
+ return recyclerViewManager.computeVisibleIndices().startIndex;
381
403
  },
382
404
  recomputeViewableItems: function () {
383
405
  recyclerViewManager.recomputeViewableItems();
@@ -386,14 +408,52 @@ function useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scro
386
408
  * Disables item recycling in preparation for layout animations.
387
409
  */
388
410
  prepareForLayoutAnimationRender: function () {
389
- recyclerViewManager.disableRecycling = true;
411
+ recyclerViewManager.disableRecycling(true);
390
412
  },
391
413
  };
392
- }, [horizontal, data, recyclerViewManager]);
414
+ }, [
415
+ recyclerViewManager,
416
+ scrollViewRef,
417
+ setTimeout,
418
+ isUnmounted,
419
+ updateScrollOffsetAsync,
420
+ ]);
421
+ var applyInitialScrollIndex = (0, react_1.useCallback)(function () {
422
+ var _a, _b;
423
+ var _c = recyclerViewManager.props, horizontal = _c.horizontal, data = _c.data;
424
+ var initialScrollIndex = (_a = recyclerViewManager.getInitialScrollIndex()) !== null && _a !== void 0 ? _a : -1;
425
+ var dataLength = (_b = data === null || data === void 0 ? void 0 : data.length) !== null && _b !== void 0 ? _b : 0;
426
+ if (initialScrollIndex >= 0 &&
427
+ initialScrollIndex < dataLength &&
428
+ !initialScrollCompletedRef.current &&
429
+ recyclerViewManager.getIsFirstLayoutComplete()) {
430
+ // Use setTimeout to ensure that we keep trying to scroll on first few renders
431
+ setTimeout(function () {
432
+ initialScrollCompletedRef.current = true;
433
+ pauseOffsetCorrection.current = false;
434
+ }, 100);
435
+ pauseOffsetCorrection.current = true;
436
+ var offset_1 = horizontal
437
+ ? recyclerViewManager.getLayout(initialScrollIndex).x
438
+ : recyclerViewManager.getLayout(initialScrollIndex).y;
439
+ handlerMethods.scrollToOffset({
440
+ offset: offset_1,
441
+ animated: false,
442
+ skipFirstItemOffset: false,
443
+ });
444
+ setTimeout(function () {
445
+ handlerMethods.scrollToOffset({
446
+ offset: offset_1,
447
+ animated: false,
448
+ skipFirstItemOffset: false,
449
+ });
450
+ }, 0);
451
+ }
452
+ }, [handlerMethods, recyclerViewManager, setTimeout]);
393
453
  // Expose imperative methods through the ref
394
454
  (0, react_1.useImperativeHandle)(ref, function () {
395
455
  return tslib_1.__assign(tslib_1.__assign({}, scrollViewRef.current), handlerMethods);
396
- }, [handlerMethods]);
397
- return { applyContentOffset: applyContentOffset, applyInitialScrollIndex: applyInitialScrollIndex };
456
+ }, [handlerMethods, scrollViewRef]);
457
+ return { applyContentOffset: applyContentOffset, applyInitialScrollIndex: applyInitialScrollIndex, handlerMethods: handlerMethods };
398
458
  }
399
459
  //# sourceMappingURL=useRecyclerViewController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRecyclerViewController.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewController.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useRecyclerViewController.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewController.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { RecyclerViewProps } from "../RecyclerViewProps";
2
2
  import { RecyclerViewManager } from "../RecyclerViewManager";
3
+ import { VelocityTracker } from "../helpers/VelocityTracker";
3
4
  export declare const useRecyclerViewManager: <T>(props: RecyclerViewProps<T>) => {
4
5
  recyclerViewManager: RecyclerViewManager<T>;
6
+ velocityTracker: VelocityTracker<unknown>;
5
7
  };
6
8
  //# sourceMappingURL=useRecyclerViewManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRecyclerViewManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC,CAAC;;CAwBpE,CAAC"}
1
+ {"version":3,"file":"useRecyclerViewManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC,CAAC;;;CAiCpE,CAAC"}
@@ -4,24 +4,33 @@ exports.useRecyclerViewManager = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var react_1 = require("react");
6
6
  var RecyclerViewManager_1 = require("../RecyclerViewManager");
7
+ var VelocityTracker_1 = require("../helpers/VelocityTracker");
7
8
  var useRecyclerViewManager = function (props) {
8
9
  var _a = tslib_1.__read((0, react_1.useState)(function () { return new RecyclerViewManager_1.RecyclerViewManager(props); }), 1), recyclerViewManager = _a[0];
10
+ var _b = tslib_1.__read((0, react_1.useState)(function () { return new VelocityTracker_1.VelocityTracker(); }), 1), velocityTracker = _b[0];
9
11
  var data = props.data;
10
12
  (0, react_1.useMemo)(function () {
11
13
  recyclerViewManager.updateProps(props);
14
+ // used to update props so rule can be disabled
15
+ // eslint-disable-next-line react-hooks/exhaustive-deps
12
16
  }, [props]);
13
17
  /**
14
18
  * When data changes, we need to process the data update before the render happens
15
19
  */
16
20
  (0, react_1.useMemo)(function () {
17
21
  recyclerViewManager.processDataUpdate();
22
+ // used to process data update so rule can be disabled
23
+ // eslint-disable-next-line react-hooks/exhaustive-deps
18
24
  }, [data]);
19
25
  (0, react_1.useEffect)(function () {
20
26
  return function () {
21
27
  recyclerViewManager.dispose();
28
+ velocityTracker.cleanUp();
22
29
  };
30
+ // needs to run only on unmount
31
+ // eslint-disable-next-line react-hooks/exhaustive-deps
23
32
  }, []);
24
- return { recyclerViewManager: recyclerViewManager };
33
+ return { recyclerViewManager: recyclerViewManager, velocityTracker: velocityTracker };
25
34
  };
26
35
  exports.useRecyclerViewManager = useRecyclerViewManager;
27
36
  //# sourceMappingURL=useRecyclerViewManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRecyclerViewManager.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":";;;;AAAA,+BAAqD;AAGrD,8DAA6D;AAEtD,IAAM,sBAAsB,GAAG,UAAI,KAA2B;IAC7D,IAAA,KAAA,eAAwB,IAAA,gBAAQ,EACpC,cAAM,OAAA,IAAI,yCAAmB,CAAC,KAAK,CAAC,EAA9B,CAA8B,CACrC,IAAA,EAFM,mBAAmB,QAEzB,CAAC;IACM,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IAEvB,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;OAEG;IACH,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;IAC1C,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,mBAAmB,CAAC,OAAO,EAAE,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,mBAAmB,qBAAA,EAAE,CAAC;AACjC,CAAC,CAAC;AAxBW,QAAA,sBAAsB,0BAwBjC"}
1
+ {"version":3,"file":"useRecyclerViewManager.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":";;;;AAAA,+BAAqD;AAGrD,8DAA6D;AAC7D,8DAA6D;AAEtD,IAAM,sBAAsB,GAAG,UAAI,KAA2B;IAC7D,IAAA,KAAA,eAAwB,IAAA,gBAAQ,EACpC,cAAM,OAAA,IAAI,yCAAmB,CAAC,KAAK,CAAC,EAA9B,CAA8B,CACrC,IAAA,EAFM,mBAAmB,QAEzB,CAAC;IACI,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAC,cAAM,OAAA,IAAI,iCAAe,EAAE,EAArB,CAAqB,CAAC,IAAA,EAAxD,eAAe,QAAyC,CAAC;IAExD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IAEvB,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,+CAA+C;QAC/C,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;OAEG;IACH,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QACxC,sDAAsD;QACtD,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC9B,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,+BAA+B;QAC/B,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,mBAAmB,qBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;AAClD,CAAC,CAAC;AAjCW,QAAA,sBAAsB,0BAiCjC"}
@@ -76,7 +76,7 @@ function useSecondaryProps(props) {
76
76
  var ForwardedScrollComponent = react_1.default.forwardRef(function (_props, ref) {
77
77
  return renderScrollComponent(tslib_1.__assign(tslib_1.__assign({}, _props), { ref: ref }));
78
78
  });
79
- ForwardedScrollComponent.displayName = "CompatScrollView";
79
+ ForwardedScrollComponent.displayName = "CustomScrollView";
80
80
  scrollComponent = ForwardedScrollComponent;
81
81
  }
82
82
  else if (renderScrollComponent) {
@@ -1,8 +1,15 @@
1
1
  /**
2
- * Hook that provides callbacks which are aware of component unmount state.
3
- * Any timeouts created with these callbacks will be automatically cleared when the component unmounts.
2
+ * Hook that provides a setTimeout which is aware of component unmount state.
3
+ * Any timeouts created with this hook will be automatically cleared when the component unmounts.
4
4
  */
5
- export declare function useUnmountAwareCallbacks(): {
5
+ export declare function useUnmountAwareTimeout(): {
6
6
  setTimeout: (callback: () => void, delay: number) => void;
7
7
  };
8
+ /**
9
+ * Hook that provides a requestAnimationFrame which is aware of component unmount state.
10
+ * Any animation frames requested with this hook will be automatically canceled when the component unmounts.
11
+ */
12
+ export declare function useUnmountAwareAnimationFrame(): {
13
+ requestAnimationFrame: (callback: FrameRequestCallback) => void;
14
+ };
8
15
  //# sourceMappingURL=useUnmountAwareCallbacks.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnmountAwareCallbacks.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,wBAAwB;2BAczB,MAAM,IAAI,SAAS,MAAM,KAAG,IAAI;EAgB9C"}
1
+ {"version":3,"file":"useUnmountAwareCallbacks.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,sBAAsB;2BAcvB,MAAM,IAAI,SAAS,MAAM,KAAG,IAAI;EAgB9C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B;sCAc9B,oBAAoB,KAAG,IAAI;EAgBzC"}