@shopify/flash-list 2.0.0-alpha.21 → 2.0.0-alpha.22

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 (283) hide show
  1. package/dist/AnimatedFlashList.js +2 -2
  2. package/dist/AnimatedFlashList.js.map +1 -1
  3. package/dist/FlashList.d.ts +1 -167
  4. package/dist/FlashList.d.ts.map +1 -1
  5. package/dist/FlashList.js +3 -595
  6. package/dist/FlashList.js.map +1 -1
  7. package/dist/FlashListProps.d.ts +2 -63
  8. package/dist/FlashListProps.d.ts.map +1 -1
  9. package/dist/FlashListProps.js.map +1 -1
  10. package/dist/__tests__/ViewabilityHelper.test.js +3 -4
  11. package/dist/__tests__/ViewabilityHelper.test.js.map +1 -1
  12. package/dist/benchmark/JSFPSMonitor.d.ts.map +1 -1
  13. package/dist/benchmark/JSFPSMonitor.js +2 -1
  14. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  15. package/dist/benchmark/useBenchmark.d.ts +2 -4
  16. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  17. package/dist/benchmark/useBenchmark.js +12 -24
  18. package/dist/benchmark/useBenchmark.js.map +1 -1
  19. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  20. package/dist/benchmark/useFlatListBenchmark.js +2 -1
  21. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  22. package/dist/errors/ErrorMessages.d.ts +16 -0
  23. package/dist/errors/ErrorMessages.d.ts.map +1 -0
  24. package/dist/errors/ErrorMessages.js +19 -0
  25. package/dist/errors/ErrorMessages.js.map +1 -0
  26. package/dist/errors/WarningMessages.d.ts +4 -0
  27. package/dist/errors/WarningMessages.d.ts.map +1 -0
  28. package/dist/errors/WarningMessages.js +7 -0
  29. package/dist/errors/WarningMessages.js.map +1 -0
  30. package/dist/index.d.ts +3 -9
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +7 -29
  33. package/dist/index.js.map +1 -1
  34. package/dist/isNewArch.d.ts +2 -0
  35. package/dist/isNewArch.d.ts.map +1 -0
  36. package/dist/isNewArch.js +25 -0
  37. package/dist/isNewArch.js.map +1 -0
  38. package/dist/native/config/PlatformHelper.android.d.ts +1 -22
  39. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  40. package/dist/native/config/PlatformHelper.android.js +1 -16
  41. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  42. package/dist/native/config/PlatformHelper.d.ts +1 -22
  43. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  44. package/dist/native/config/PlatformHelper.ios.d.ts +1 -22
  45. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  46. package/dist/native/config/PlatformHelper.ios.js +1 -15
  47. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  48. package/dist/native/config/PlatformHelper.js +1 -16
  49. package/dist/native/config/PlatformHelper.js.map +1 -1
  50. package/dist/native/config/PlatformHelper.web.d.ts +1 -23
  51. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  52. package/dist/native/config/PlatformHelper.web.js +1 -18
  53. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  54. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  55. package/dist/recyclerview/RecyclerView.js +5 -0
  56. package/dist/recyclerview/RecyclerView.js.map +1 -1
  57. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  58. package/dist/recyclerview/RecyclerViewManager.js +9 -8
  59. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  60. package/dist/recyclerview/RecyclerViewProps.d.ts +1 -8
  61. package/dist/recyclerview/RecyclerViewProps.d.ts.map +1 -1
  62. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  63. package/dist/recyclerview/hooks/useRecyclerViewController.js +4 -0
  64. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  65. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  66. package/dist/recyclerview/layout-managers/LayoutManager.js +2 -1
  67. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  68. package/dist/recyclerview/viewability/ViewToken.d.ts.map +1 -0
  69. package/dist/recyclerview/viewability/ViewToken.js.map +1 -0
  70. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.d.ts +2 -2
  71. package/dist/recyclerview/viewability/ViewabilityHelper.d.ts.map +1 -0
  72. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js +2 -4
  73. package/dist/{viewability → recyclerview/viewability}/ViewabilityHelper.js.map +1 -1
  74. package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.d.ts +3 -3
  75. package/dist/recyclerview/viewability/ViewabilityManager.d.ts.map +1 -0
  76. package/dist/{viewability → recyclerview/viewability}/ViewabilityManager.js +16 -16
  77. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -0
  78. package/dist/tsconfig.tsbuildinfo +1 -1
  79. package/package.json +3 -14
  80. package/src/AnimatedFlashList.ts +2 -2
  81. package/src/FlashList.ts +1 -0
  82. package/src/FlashListProps.ts +3 -79
  83. package/src/__tests__/ViewabilityHelper.test.ts +13 -14
  84. package/src/benchmark/JSFPSMonitor.ts +3 -3
  85. package/src/benchmark/useBenchmark.ts +12 -40
  86. package/src/benchmark/useFlatListBenchmark.ts +3 -1
  87. package/src/errors/ErrorMessages.ts +26 -0
  88. package/src/errors/WarningMessages.ts +4 -0
  89. package/src/index.ts +7 -43
  90. package/src/isNewArch.ts +25 -0
  91. package/src/native/config/PlatformHelper.android.ts +1 -25
  92. package/src/native/config/PlatformHelper.ios.ts +1 -24
  93. package/src/native/config/PlatformHelper.ts +1 -25
  94. package/src/native/config/PlatformHelper.web.ts +1 -30
  95. package/src/recyclerview/RecyclerView.tsx +5 -0
  96. package/src/recyclerview/RecyclerViewManager.ts +9 -18
  97. package/src/recyclerview/RecyclerViewProps.ts +1 -11
  98. package/src/recyclerview/hooks/useRecyclerViewController.tsx +4 -0
  99. package/src/recyclerview/layout-managers/LayoutManager.ts +2 -1
  100. package/src/{viewability → recyclerview/viewability}/ViewabilityHelper.ts +8 -9
  101. package/src/{viewability → recyclerview/viewability}/ViewabilityManager.ts +18 -20
  102. package/RNFlashList.podspec +0 -37
  103. package/android/build.gradle +0 -89
  104. package/android/src/main/AndroidManifest.xml +0 -3
  105. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutShadow.kt +0 -105
  106. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutView.kt +0 -158
  107. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/AutoLayoutViewManager.kt +0 -70
  108. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/BlankAreaEvent.kt +0 -29
  109. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainer.java +0 -16
  110. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerImpl.kt +0 -16
  111. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/CellContainerManager.kt +0 -34
  112. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/FlashListPackage.kt +0 -19
  113. package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerDelegate.java +0 -47
  114. package/android/src/paper/java/com/facebook/react/viewmanagers/AutoLayoutViewManagerInterface.java +0 -21
  115. package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerDelegate.java +0 -32
  116. package/android/src/paper/java/com/facebook/react/viewmanagers/CellContainerManagerInterface.java +0 -16
  117. package/android/src/test/java/com/shopify/reactnative/flash_list/AutoLayoutShadowTest.kt +0 -147
  118. package/android/src/test/java/com/shopify/reactnative/flash_list/models/Rect.kt +0 -61
  119. package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestCollection.kt +0 -6
  120. package/android/src/test/java/com/shopify/reactnative/flash_list/models/TestDataModel.kt +0 -8
  121. package/android/src/test/resources/LayoutTestData.json +0 -788
  122. package/dist/GridLayoutProviderWithProps.d.ts +0 -42
  123. package/dist/GridLayoutProviderWithProps.d.ts.map +0 -1
  124. package/dist/GridLayoutProviderWithProps.js +0 -114
  125. package/dist/GridLayoutProviderWithProps.js.map +0 -1
  126. package/dist/MasonryFlashList.d.ts +0 -51
  127. package/dist/MasonryFlashList.d.ts.map +0 -1
  128. package/dist/MasonryFlashList.js +0 -252
  129. package/dist/MasonryFlashList.js.map +0 -1
  130. package/dist/PureComponentWrapper.d.ts +0 -22
  131. package/dist/PureComponentWrapper.d.ts.map +0 -1
  132. package/dist/PureComponentWrapper.js +0 -37
  133. package/dist/PureComponentWrapper.js.map +0 -1
  134. package/dist/__tests__/ContentContainerUtils.test.d.ts +0 -2
  135. package/dist/__tests__/ContentContainerUtils.test.d.ts.map +0 -1
  136. package/dist/__tests__/ContentContainerUtils.test.js +0 -85
  137. package/dist/__tests__/ContentContainerUtils.test.js.map +0 -1
  138. package/dist/__tests__/FlashList.test.d.ts +0 -2
  139. package/dist/__tests__/FlashList.test.d.ts.map +0 -1
  140. package/dist/__tests__/FlashList.test.js +0 -902
  141. package/dist/__tests__/FlashList.test.js.map +0 -1
  142. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts +0 -2
  143. package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts.map +0 -1
  144. package/dist/__tests__/GridLayoutProviderWithProps.test.js +0 -143
  145. package/dist/__tests__/GridLayoutProviderWithProps.test.js.map +0 -1
  146. package/dist/__tests__/MasonryFlashList.test.d.ts +0 -2
  147. package/dist/__tests__/MasonryFlashList.test.d.ts.map +0 -1
  148. package/dist/__tests__/MasonryFlashList.test.js +0 -254
  149. package/dist/__tests__/MasonryFlashList.test.js.map +0 -1
  150. package/dist/__tests__/PlatformHelper.web.test.d.ts +0 -2
  151. package/dist/__tests__/PlatformHelper.web.test.d.ts.map +0 -1
  152. package/dist/__tests__/PlatformHelper.web.test.js +0 -33
  153. package/dist/__tests__/PlatformHelper.web.test.js.map +0 -1
  154. package/dist/__tests__/helpers/mountFlashList.d.ts +0 -19
  155. package/dist/__tests__/helpers/mountFlashList.d.ts.map +0 -1
  156. package/dist/__tests__/helpers/mountFlashList.js +0 -44
  157. package/dist/__tests__/helpers/mountFlashList.js.map +0 -1
  158. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts +0 -18
  159. package/dist/__tests__/helpers/mountMasonryFlashList.d.ts.map +0 -1
  160. package/dist/__tests__/helpers/mountMasonryFlashList.js +0 -49
  161. package/dist/__tests__/helpers/mountMasonryFlashList.js.map +0 -1
  162. package/dist/__tests__/useBlankAreaTracker.test.d.ts +0 -2
  163. package/dist/__tests__/useBlankAreaTracker.test.d.ts.map +0 -1
  164. package/dist/__tests__/useBlankAreaTracker.test.js +0 -179
  165. package/dist/__tests__/useBlankAreaTracker.test.js.map +0 -1
  166. package/dist/benchmark/useBlankAreaTracker.d.ts +0 -34
  167. package/dist/benchmark/useBlankAreaTracker.d.ts.map +0 -1
  168. package/dist/benchmark/useBlankAreaTracker.js +0 -66
  169. package/dist/benchmark/useBlankAreaTracker.js.map +0 -1
  170. package/dist/enableNewCore.d.ts +0 -3
  171. package/dist/enableNewCore.d.ts.map +0 -1
  172. package/dist/enableNewCore.js +0 -25
  173. package/dist/enableNewCore.js.map +0 -1
  174. package/dist/errors/CustomError.d.ts +0 -8
  175. package/dist/errors/CustomError.d.ts.map +0 -1
  176. package/dist/errors/CustomError.js +0 -14
  177. package/dist/errors/CustomError.js.map +0 -1
  178. package/dist/errors/ExceptionList.d.ts +0 -24
  179. package/dist/errors/ExceptionList.d.ts.map +0 -1
  180. package/dist/errors/ExceptionList.js +0 -26
  181. package/dist/errors/ExceptionList.js.map +0 -1
  182. package/dist/errors/Warnings.d.ts +0 -9
  183. package/dist/errors/Warnings.d.ts.map +0 -1
  184. package/dist/errors/Warnings.js +0 -13
  185. package/dist/errors/Warnings.js.map +0 -1
  186. package/dist/native/auto-layout/AutoLayoutView.d.ts +0 -22
  187. package/dist/native/auto-layout/AutoLayoutView.d.ts.map +0 -1
  188. package/dist/native/auto-layout/AutoLayoutView.js +0 -48
  189. package/dist/native/auto-layout/AutoLayoutView.js.map +0 -1
  190. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts +0 -4
  191. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts.map +0 -1
  192. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js +0 -6
  193. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js.map +0 -1
  194. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts +0 -5
  195. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts.map +0 -1
  196. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts +0 -4
  197. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts.map +0 -1
  198. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js +0 -6
  199. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js.map +0 -1
  200. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js +0 -6
  201. package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js.map +0 -1
  202. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts +0 -16
  203. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts.map +0 -1
  204. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js +0 -3
  205. package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js.map +0 -1
  206. package/dist/native/cell-container/CellContainer.android.d.ts +0 -6
  207. package/dist/native/cell-container/CellContainer.android.d.ts.map +0 -1
  208. package/dist/native/cell-container/CellContainer.android.js +0 -9
  209. package/dist/native/cell-container/CellContainer.android.js.map +0 -1
  210. package/dist/native/cell-container/CellContainer.d.ts +0 -8
  211. package/dist/native/cell-container/CellContainer.d.ts.map +0 -1
  212. package/dist/native/cell-container/CellContainer.ios.d.ts +0 -6
  213. package/dist/native/cell-container/CellContainer.ios.d.ts.map +0 -1
  214. package/dist/native/cell-container/CellContainer.ios.js +0 -9
  215. package/dist/native/cell-container/CellContainer.ios.js.map +0 -1
  216. package/dist/native/cell-container/CellContainer.js +0 -11
  217. package/dist/native/cell-container/CellContainer.js.map +0 -1
  218. package/dist/native/cell-container/CellContainer.web.d.ts +0 -7
  219. package/dist/native/cell-container/CellContainer.web.d.ts.map +0 -1
  220. package/dist/native/cell-container/CellContainer.web.js +0 -13
  221. package/dist/native/cell-container/CellContainer.web.js.map +0 -1
  222. package/dist/specs/AutoLayoutNativeComponent.d.ts +0 -18
  223. package/dist/specs/AutoLayoutNativeComponent.d.ts.map +0 -1
  224. package/dist/specs/AutoLayoutNativeComponent.js +0 -6
  225. package/dist/specs/AutoLayoutNativeComponent.js.map +0 -1
  226. package/dist/specs/CellContainerNativeComponent.d.ts +0 -8
  227. package/dist/specs/CellContainerNativeComponent.d.ts.map +0 -1
  228. package/dist/specs/CellContainerNativeComponent.js +0 -6
  229. package/dist/specs/CellContainerNativeComponent.js.map +0 -1
  230. package/dist/utils/ContentContainerUtils.d.ts +0 -27
  231. package/dist/utils/ContentContainerUtils.d.ts.map +0 -1
  232. package/dist/utils/ContentContainerUtils.js +0 -48
  233. package/dist/utils/ContentContainerUtils.js.map +0 -1
  234. package/dist/viewability/ViewToken.d.ts.map +0 -1
  235. package/dist/viewability/ViewToken.js.map +0 -1
  236. package/dist/viewability/ViewabilityHelper.d.ts.map +0 -1
  237. package/dist/viewability/ViewabilityManager.d.ts.map +0 -1
  238. package/dist/viewability/ViewabilityManager.js.map +0 -1
  239. package/ios/RNFlashList.xcodeproj/project.pbxproj +0 -3
  240. package/ios/RNFlashList.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  241. package/ios/Sources/AutoLayoutView.swift +0 -294
  242. package/ios/Sources/AutoLayoutViewComponentView.h +0 -16
  243. package/ios/Sources/AutoLayoutViewComponentView.mm +0 -90
  244. package/ios/Sources/AutoLayoutViewManager.mm +0 -14
  245. package/ios/Sources/AutoLayoutViewManager.swift +0 -12
  246. package/ios/Sources/CellContainerComponentView.h +0 -18
  247. package/ios/Sources/CellContainerComponentView.mm +0 -62
  248. package/ios/Sources/CellContainerManager.mm +0 -8
  249. package/ios/Sources/CellContainerManager.swift +0 -12
  250. package/ios/Sources/FlatListPro-Bridging-Header.h +0 -11
  251. package/ios/Tests/AutoLayoutViewTests.swift +0 -113
  252. package/src/FlashList.tsx +0 -953
  253. package/src/GridLayoutProviderWithProps.ts +0 -180
  254. package/src/MasonryFlashList.tsx +0 -476
  255. package/src/PureComponentWrapper.tsx +0 -42
  256. package/src/__tests__/ContentContainerUtils.test.ts +0 -130
  257. package/src/__tests__/FlashList.test.tsx +0 -1001
  258. package/src/__tests__/GridLayoutProviderWithProps.test.ts +0 -179
  259. package/src/__tests__/MasonryFlashList.test.ts +0 -292
  260. package/src/__tests__/PlatformHelper.web.test.ts +0 -45
  261. package/src/__tests__/helpers/mountFlashList.tsx +0 -62
  262. package/src/__tests__/helpers/mountMasonryFlashList.tsx +0 -70
  263. package/src/__tests__/useBlankAreaTracker.test.tsx +0 -206
  264. package/src/benchmark/useBlankAreaTracker.ts +0 -117
  265. package/src/enableNewCore.ts +0 -24
  266. package/src/errors/CustomError.ts +0 -10
  267. package/src/errors/ExceptionList.ts +0 -28
  268. package/src/errors/Warnings.ts +0 -15
  269. package/src/native/auto-layout/AutoLayoutView.tsx +0 -73
  270. package/src/native/auto-layout/AutoLayoutViewNativeComponent.android.ts +0 -7
  271. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ios.ts +0 -7
  272. package/src/native/auto-layout/AutoLayoutViewNativeComponent.ts +0 -7
  273. package/src/native/auto-layout/AutoLayoutViewNativeComponentProps.ts +0 -17
  274. package/src/native/cell-container/CellContainer.android.ts +0 -7
  275. package/src/native/cell-container/CellContainer.ios.ts +0 -7
  276. package/src/native/cell-container/CellContainer.tsx +0 -14
  277. package/src/native/cell-container/CellContainer.web.tsx +0 -9
  278. package/src/specs/AutoLayoutNativeComponent.ts +0 -24
  279. package/src/specs/CellContainerNativeComponent.ts +0 -9
  280. package/src/utils/ContentContainerUtils.ts +0 -92
  281. /package/dist/{viewability → recyclerview/viewability}/ViewToken.d.ts +0 -0
  282. /package/dist/{viewability → recyclerview/viewability}/ViewToken.js +0 -0
  283. /package/src/{viewability → recyclerview/viewability}/ViewToken.ts +0 -0
package/dist/FlashList.js CHANGED
@@ -1,598 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var react_1 = tslib_1.__importDefault(require("react"));
5
- var react_native_1 = require("react-native");
6
- var recyclerlistview_1 = require("recyclerlistview");
7
- var sticky_1 = tslib_1.__importDefault(require("recyclerlistview/sticky"));
8
- var AutoLayoutView_1 = tslib_1.__importDefault(require("./native/auto-layout/AutoLayoutView"));
9
- var CellContainer_1 = tslib_1.__importDefault(require("./native/cell-container/CellContainer"));
10
- var PureComponentWrapper_1 = require("./PureComponentWrapper");
11
- var GridLayoutProviderWithProps_1 = tslib_1.__importDefault(require("./GridLayoutProviderWithProps"));
12
- var CustomError_1 = tslib_1.__importDefault(require("./errors/CustomError"));
13
- var ExceptionList_1 = tslib_1.__importDefault(require("./errors/ExceptionList"));
14
- var Warnings_1 = tslib_1.__importDefault(require("./errors/Warnings"));
15
- var ViewabilityManager_1 = tslib_1.__importDefault(require("./viewability/ViewabilityManager"));
16
- var FlashListProps_1 = require("./FlashListProps");
17
- var PlatformHelper_1 = require("./native/config/PlatformHelper");
18
- var ContentContainerUtils_1 = require("./utils/ContentContainerUtils");
19
- var StickyHeaderContainer = sticky_1.default;
20
- var FlashList = /** @class */ (function (_super) {
21
- tslib_1.__extends(FlashList, _super);
22
- function FlashList(props) {
23
- var _a;
24
- var _this = _super.call(this, props) || this;
25
- _this.listFixedDimensionSize = 0;
26
- _this.transformStyle = PlatformHelper_1.PlatformConfig.invertedTransformStyle;
27
- _this.transformStyleHorizontal = PlatformHelper_1.PlatformConfig.invertedTransformStyleHorizontal;
28
- _this.distanceFromWindow = 0;
29
- _this.contentStyle = {
30
- paddingBottom: 0,
31
- paddingTop: 0,
32
- paddingLeft: 0,
33
- paddingRight: 0,
34
- };
35
- _this.loadStartTime = 0;
36
- _this.isListLoaded = false;
37
- _this.windowCorrectionConfig = {
38
- value: {
39
- windowShift: 0,
40
- startCorrection: 0,
41
- endCorrection: 0,
42
- },
43
- applyToItemScroll: true,
44
- applyToInitialOffset: true,
45
- };
46
- _this.isEmptyList = false;
47
- _this.onEndReached = function () {
48
- var _a, _b;
49
- (_b = (_a = _this.props).onEndReached) === null || _b === void 0 ? void 0 : _b.call(_a);
50
- };
51
- _this.getRefreshControl = function () {
52
- if (_this.props.onRefresh) {
53
- return (react_1.default.createElement(react_native_1.RefreshControl, { refreshing: Boolean(_this.props.refreshing), progressViewOffset: _this.props.progressViewOffset, onRefresh: _this.props.onRefresh }));
54
- }
55
- };
56
- _this.onScrollBeginDrag = function (event) {
57
- var _a, _b;
58
- _this.recordInteraction();
59
- (_b = (_a = _this.props).onScrollBeginDrag) === null || _b === void 0 ? void 0 : _b.call(_a, event);
60
- };
61
- _this.onScroll = function (event) {
62
- var _a, _b;
63
- _this.recordInteraction();
64
- _this.viewabilityManager.updateViewableItems();
65
- (_b = (_a = _this.props).onScroll) === null || _b === void 0 ? void 0 : _b.call(_a, event);
66
- };
67
- _this.handleSizeChange = function (event) {
68
- var _a;
69
- _this.validateListSize(event);
70
- var newSize = _this.props.horizontal
71
- ? event.nativeEvent.layout.height
72
- : event.nativeEvent.layout.width;
73
- var oldSize = _this.listFixedDimensionSize;
74
- _this.listFixedDimensionSize = newSize;
75
- // >0 check is to avoid rerender on mount where it would be redundant
76
- if (oldSize > 0 && oldSize !== newSize) {
77
- (_a = _this.rlvRef) === null || _a === void 0 ? void 0 : _a.forceRerender();
78
- }
79
- if (_this.props.onLayout) {
80
- _this.props.onLayout(event);
81
- }
82
- };
83
- _this.container = function (props, children) {
84
- _this.clearPostLoadTimeout();
85
- return (react_1.default.createElement(react_1.default.Fragment, null,
86
- react_1.default.createElement(PureComponentWrapper_1.PureComponentWrapper, { enabled: _this.isListLoaded || children.length > 0 || _this.isEmptyList, contentStyle: _this.props.contentContainerStyle, horizontal: _this.props.horizontal, header: _this.props.ListHeaderComponent, extraData: _this.state.extraData, headerStyle: _this.props.ListHeaderComponentStyle, inverted: _this.props.inverted, renderer: _this.header }),
87
- react_1.default.createElement(AutoLayoutView_1.default, tslib_1.__assign({}, props, { onBlankAreaEvent: _this.props.onBlankArea, onLayout: _this.updateDistanceFromWindow, disableAutoLayout: _this.props.disableAutoLayout }), children),
88
- _this.isEmptyList
89
- ? _this.getValidComponent(_this.props.ListEmptyComponent)
90
- : null,
91
- react_1.default.createElement(PureComponentWrapper_1.PureComponentWrapper, { enabled: _this.isListLoaded || children.length > 0 || _this.isEmptyList, contentStyle: _this.props.contentContainerStyle, horizontal: _this.props.horizontal, header: _this.props.ListFooterComponent, extraData: _this.state.extraData, headerStyle: _this.props.ListFooterComponentStyle, inverted: _this.props.inverted, renderer: _this.footer }),
92
- _this.getComponentForHeightMeasurement()));
93
- };
94
- _this.itemContainer = function (props, parentProps) {
95
- var _a;
96
- var CellRendererComponent = (_a = _this.props.CellRendererComponent) !== null && _a !== void 0 ? _a : CellContainer_1.default;
97
- return (react_1.default.createElement(CellRendererComponent, tslib_1.__assign({}, props, { style: tslib_1.__assign(tslib_1.__assign(tslib_1.__assign(tslib_1.__assign({}, props.style), { flexDirection: _this.props.horizontal ? "row" : "column", alignItems: "stretch" }), _this.getTransform()), (0, PlatformHelper_1.getCellContainerPlatformStyles)(_this.props.inverted, parentProps)), index: parentProps.index }),
98
- react_1.default.createElement(PureComponentWrapper_1.PureComponentWrapper, { extendedState: parentProps.extendedState, internalSnapshot: parentProps.internalSnapshot, data: parentProps.data, arg: parentProps.index, renderer: _this.getCellContainerChild })));
99
- };
100
- _this.updateDistanceFromWindow = function (event) {
101
- var newDistanceFromWindow = _this.props.horizontal
102
- ? event.nativeEvent.layout.x
103
- : event.nativeEvent.layout.y;
104
- if (_this.distanceFromWindow !== newDistanceFromWindow) {
105
- _this.distanceFromWindow = newDistanceFromWindow;
106
- _this.windowCorrectionConfig.value.windowShift = -_this.distanceFromWindow;
107
- _this.viewabilityManager.updateViewableItems();
108
- }
109
- };
110
- _this.separator = function (index) {
111
- // Make sure we have data and don't read out of bounds
112
- if (_this.props.data === null ||
113
- _this.props.data === undefined ||
114
- index + 1 >= _this.props.data.length) {
115
- return null;
116
- }
117
- var leadingItem = _this.props.data[index];
118
- var trailingItem = _this.props.data[index + 1];
119
- var props = {
120
- leadingItem: leadingItem,
121
- trailingItem: trailingItem,
122
- // TODO: Missing sections as we don't have this feature implemented yet. Implement section, leadingSection and trailingSection.
123
- // https://github.com/facebook/react-native/blob/8bd3edec88148d0ab1f225d2119435681fbbba33/Libraries/Lists/VirtualizedSectionList.js#L285-L294
124
- };
125
- var Separator = _this.props.ItemSeparatorComponent;
126
- return Separator && react_1.default.createElement(Separator, tslib_1.__assign({}, props));
127
- };
128
- _this.header = function () {
129
- return (react_1.default.createElement(react_1.default.Fragment, null,
130
- react_1.default.createElement(react_native_1.View, { style: {
131
- paddingTop: _this.contentStyle.paddingTop,
132
- paddingLeft: _this.contentStyle.paddingLeft,
133
- } }),
134
- react_1.default.createElement(react_native_1.View, { style: [_this.props.ListHeaderComponentStyle, _this.getTransform()] }, _this.getValidComponent(_this.props.ListHeaderComponent))));
135
- };
136
- _this.footer = function () {
137
- var _a;
138
- /** The web version of CellContainer uses a div directly which doesn't compose styles the way a View does.
139
- * We will skip using CellContainer on web to avoid this issue. `getFooterContainer` on web will
140
- * return a View. */
141
- var FooterContainer = (_a = (0, PlatformHelper_1.getFooterContainer)()) !== null && _a !== void 0 ? _a : CellContainer_1.default;
142
- return (react_1.default.createElement(react_1.default.Fragment, null,
143
- react_1.default.createElement(FooterContainer, { index: -1, style: [_this.props.ListFooterComponentStyle, _this.getTransform()] }, _this.getValidComponent(_this.props.ListFooterComponent)),
144
- react_1.default.createElement(react_native_1.View, { style: {
145
- paddingBottom: _this.contentStyle.paddingBottom,
146
- paddingRight: _this.contentStyle.paddingRight,
147
- } })));
148
- };
149
- _this.getComponentForHeightMeasurement = function () {
150
- return _this.props.horizontal &&
151
- !_this.props.disableHorizontalListHeightMeasurement &&
152
- !_this.isListLoaded &&
153
- _this.state.dataProvider.getSize() > 0 ? (react_1.default.createElement(react_native_1.View, { style: { opacity: 0 }, pointerEvents: "none" }, _this.rowRendererWithIndex(Math.min(_this.state.dataProvider.getSize() - 1, 1), FlashListProps_1.RenderTargetOptions.Measurement))) : null;
154
- };
155
- _this.applyWindowCorrection = function (_, __, correctionObject) {
156
- var _a;
157
- correctionObject.windowShift = -_this.distanceFromWindow;
158
- (_a = _this.stickyContentContainerRef) === null || _a === void 0 ? void 0 : _a.setEnabled(_this.isStickyEnabled);
159
- };
160
- _this.rowRendererSticky = function (index) {
161
- return _this.rowRendererWithIndex(index, FlashListProps_1.RenderTargetOptions.StickyHeader);
162
- };
163
- _this.rowRendererWithIndex = function (index, target) {
164
- var _a, _b, _c;
165
- // known issue: expected to pass separators which isn't available in RLV
166
- return (_b = (_a = _this.props).renderItem) === null || _b === void 0 ? void 0 : _b.call(_a, {
167
- item: _this.props.data[index],
168
- index: index,
169
- target: target,
170
- extraData: (_c = _this.state.extraData) === null || _c === void 0 ? void 0 : _c.value,
171
- });
172
- };
173
- /**
174
- * This will prevent render item calls unless data changes.
175
- * Output of this method is received as children object so returning null here is no issue as long as we handle it inside our child container.
176
- * @module getCellContainerChild acts as the new rowRenderer and is called directly from our child container.
177
- */
178
- _this.emptyRowRenderer = function () {
179
- return null;
180
- };
181
- _this.getCellContainerChild = function (index) {
182
- return (react_1.default.createElement(react_1.default.Fragment, null,
183
- _this.props.inverted ? _this.separator(index) : null,
184
- react_1.default.createElement(react_native_1.View, { style: {
185
- flexDirection: _this.props.horizontal || _this.props.numColumns === 1
186
- ? "column"
187
- : "row",
188
- } }, _this.rowRendererWithIndex(index, FlashListProps_1.RenderTargetOptions.Cell)),
189
- _this.props.inverted ? null : _this.separator(index)));
190
- };
191
- _this.recyclerRef = function (ref) {
192
- _this.rlvRef = ref;
193
- };
194
- _this.stickyContentRef = function (ref) {
195
- _this.stickyContentContainerRef = ref;
196
- };
197
- _this.stickyOverrideRowRenderer = function (_, rowData, index, ___) {
198
- return (react_1.default.createElement(PureComponentWrapper_1.PureComponentWrapper, { ref: _this.stickyContentRef, enabled: _this.isStickyEnabled,
199
- // We're passing rowData to ensure that sticky headers are updated when data changes
200
- rowData: rowData, arg: index, renderer: _this.rowRendererSticky }));
201
- };
202
- _this.onItemLayout = function (index) {
203
- // Informing the layout provider about change to an item's layout. It already knows the dimensions so there's not need to pass them.
204
- _this.state.layoutProvider.reportItemLayout(index);
205
- _this.raiseOnLoadEventIfNeeded();
206
- };
207
- _this.raiseOnLoadEventIfNeeded = function () {
208
- var _a, _b;
209
- if (!_this.isListLoaded) {
210
- _this.isListLoaded = true;
211
- (_b = (_a = _this.props).onLoad) === null || _b === void 0 ? void 0 : _b.call(_a, {
212
- elapsedTimeInMs: Date.now() - _this.loadStartTime,
213
- });
214
- _this.runAfterOnLoad();
215
- }
216
- };
217
- _this.runAfterOnLoad = function () {
218
- if (_this.props.estimatedItemSize === undefined) {
219
- _this.itemSizeWarningTimeoutId = setTimeout(function () {
220
- var averageItemSize = Math.floor(_this.state.layoutProvider.averageItemSize);
221
- console.warn(Warnings_1.default.estimatedItemSizeMissingWarning.replace("@size", averageItemSize.toString()));
222
- }, 1000);
223
- }
224
- _this.postLoadTimeoutId = setTimeout(function () {
225
- // This force update is required to remove dummy element rendered to measure horizontal list height when the list doesn't update on its own.
226
- // In most cases this timeout will never be triggered because list usually updates atleast once and this timeout is cleared on update.
227
- if (_this.props.horizontal) {
228
- _this.forceUpdate();
229
- }
230
- }, 500);
231
- };
232
- _this.clearPostLoadTimeout = function () {
233
- if (_this.postLoadTimeoutId !== undefined) {
234
- clearTimeout(_this.postLoadTimeoutId);
235
- _this.postLoadTimeoutId = undefined;
236
- }
237
- };
238
- _this.clearRenderSizeWarningTimeout = function () {
239
- if (_this.renderedSizeWarningTimeoutId !== undefined) {
240
- clearTimeout(_this.renderedSizeWarningTimeoutId);
241
- _this.renderedSizeWarningTimeoutId = undefined;
242
- }
243
- };
244
- /**
245
- * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g. if waitForInteractions is true and the user has not scrolled.
246
- * This is typically called by taps on items or by navigation actions.
247
- */
248
- _this.recordInteraction = function () {
249
- _this.viewabilityManager.recordInteraction();
250
- };
251
- /**
252
- * Retriggers viewability calculations. Useful to imperatively trigger viewability calculations.
253
- */
254
- _this.recomputeViewableItems = function () {
255
- _this.viewabilityManager.recomputeViewableItems();
256
- };
257
- _this.loadStartTime = Date.now();
258
- _this.validateProps();
259
- if (props.estimatedListSize) {
260
- if (props.horizontal) {
261
- _this.listFixedDimensionSize = props.estimatedListSize.height;
262
- }
263
- else {
264
- _this.listFixedDimensionSize = props.estimatedListSize.width;
265
- }
266
- }
267
- _this.distanceFromWindow =
268
- (_a = props.estimatedFirstItemOffset) !== null && _a !== void 0 ? _a : ((props.ListHeaderComponent && 1) || 0);
269
- // eslint-disable-next-line react/state-in-constructor
270
- _this.state = FlashList.getInitialMutableState(_this);
271
- _this.viewabilityManager = new ViewabilityManager_1.default(_this);
272
- _this.itemAnimator = (0, PlatformHelper_1.getItemAnimator)();
273
- return _this;
274
- }
275
- FlashList.prototype.validateProps = function () {
276
- var _a, _b;
277
- if (this.props.onRefresh && typeof this.props.refreshing !== "boolean") {
278
- throw new CustomError_1.default(ExceptionList_1.default.refreshBooleanMissing);
279
- }
280
- if (Number((_a = this.props.stickyHeaderIndices) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
281
- this.props.horizontal) {
282
- throw new CustomError_1.default(ExceptionList_1.default.stickyWhileHorizontalNotSupported);
283
- }
284
- if (Number(this.props.numColumns) > 1 && this.props.horizontal) {
285
- throw new CustomError_1.default(ExceptionList_1.default.columnsWhileHorizontalNotSupported);
286
- }
287
- // `createAnimatedComponent` always passes a blank style object. To avoid warning while using AnimatedFlashList we've modified the check
288
- // `style` prop can be an array. So we need to validate every object in array. Check: https://github.com/Shopify/flash-list/issues/651
289
- if (__DEV__ &&
290
- Object.keys(react_native_1.StyleSheet.flatten((_b = this.props.style) !== null && _b !== void 0 ? _b : {})).length > 0) {
291
- console.warn(Warnings_1.default.styleUnsupported);
292
- }
293
- if ((0, ContentContainerUtils_1.hasUnsupportedKeysInContentContainerStyle)(this.props.contentContainerStyle)) {
294
- console.warn(Warnings_1.default.styleContentContainerUnsupported);
295
- }
296
- };
297
- // Some of the state variables need to update when props change
298
- FlashList.getDerivedStateFromProps = function (nextProps, prevState) {
299
- var _a, _b;
300
- var newState = tslib_1.__assign({}, prevState);
301
- if (prevState.numColumns !== nextProps.numColumns) {
302
- newState.numColumns = nextProps.numColumns || 1;
303
- newState.layoutProvider = FlashList.getLayoutProvider(newState.numColumns, nextProps);
304
- }
305
- else if (prevState.layoutProvider.updateProps(nextProps).hasExpired) {
306
- newState.layoutProvider = FlashList.getLayoutProvider(newState.numColumns, nextProps);
307
- }
308
- // RLV retries to reposition the first visible item on layout provider change.
309
- // It's not required in our case so we're disabling it
310
- newState.layoutProvider.shouldRefreshWithAnchoring = Boolean(!((_a = prevState.layoutProvider) === null || _a === void 0 ? void 0 : _a.hasExpired));
311
- if (nextProps.data !== prevState.data) {
312
- newState.data = nextProps.data;
313
- newState.dataProvider = prevState.dataProvider.cloneWithRows(nextProps.data);
314
- if (nextProps.renderItem !== prevState.renderItem) {
315
- newState.extraData = tslib_1.__assign({}, prevState.extraData);
316
- }
317
- }
318
- if (nextProps.extraData !== ((_b = prevState.extraData) === null || _b === void 0 ? void 0 : _b.value)) {
319
- newState.extraData = { value: nextProps.extraData };
320
- }
321
- newState.renderItem = nextProps.renderItem;
322
- return newState;
323
- };
324
- FlashList.getInitialMutableState = function (flashList) {
325
- var getStableId;
326
- if (flashList.props.keyExtractor !== null &&
327
- flashList.props.keyExtractor !== undefined) {
328
- getStableId = function (index) {
329
- // We assume `keyExtractor` function will never change from being `null | undefined` to defined and vice versa.
330
- // Similarly, data should never be `null | undefined` when `getStableId` is called.
331
- return (flashList.props.keyExtractor)(flashList.props.data[index], index).toString();
332
- };
333
- }
334
- return {
335
- data: null,
336
- layoutProvider: null,
337
- dataProvider: new recyclerlistview_1.DataProvider(function (r1, r2) {
338
- return r1 !== r2;
339
- }, getStableId),
340
- numColumns: 0,
341
- };
342
- };
343
- // Using only grid layout provider as it can also act as a listview, sizeProvider is a function to support future overrides
344
- FlashList.getLayoutProvider = function (numColumns, flashListProps) {
345
- return new GridLayoutProviderWithProps_1.default(
346
- // max span or, total columns
347
- numColumns, function (index, props) {
348
- var _a;
349
- // type of the item for given index
350
- var type = (_a = props.getItemType) === null || _a === void 0 ? void 0 : _a.call(props, props.data[index], index, props.extraData);
351
- return type || 0;
352
- }, function (index, props, mutableLayout) {
353
- var _a, _b;
354
- // span of the item at given index, item can choose to span more than one column
355
- (_a = props.overrideItemLayout) === null || _a === void 0 ? void 0 : _a.call(props, mutableLayout, props.data[index], index, numColumns, props.extraData);
356
- return (_b = mutableLayout === null || mutableLayout === void 0 ? void 0 : mutableLayout.span) !== null && _b !== void 0 ? _b : 1;
357
- }, function (index, props, mutableLayout) {
358
- var _a;
359
- // estimated size of the item an given index
360
- (_a = props.overrideItemLayout) === null || _a === void 0 ? void 0 : _a.call(props, mutableLayout, props.data[index], index, numColumns, props.extraData);
361
- return mutableLayout === null || mutableLayout === void 0 ? void 0 : mutableLayout.size;
362
- }, flashListProps);
363
- };
364
- FlashList.prototype.componentDidMount = function () {
365
- var _a;
366
- if (((_a = this.props.data) === null || _a === void 0 ? void 0 : _a.length) === 0) {
367
- this.raiseOnLoadEventIfNeeded();
368
- }
369
- };
370
- FlashList.prototype.componentWillUnmount = function () {
371
- this.viewabilityManager.dispose();
372
- this.clearPostLoadTimeout();
373
- this.clearRenderSizeWarningTimeout();
374
- if (this.itemSizeWarningTimeoutId !== undefined) {
375
- clearTimeout(this.itemSizeWarningTimeoutId);
376
- }
377
- };
378
- FlashList.prototype.render = function () {
379
- this.isEmptyList = this.state.dataProvider.getSize() === 0;
380
- (0, ContentContainerUtils_1.updateContentStyle)(this.contentStyle, this.props.contentContainerStyle);
381
- var _a = this.props, drawDistance = _a.drawDistance, removeClippedSubviews = _a.removeClippedSubviews, stickyHeaderIndices = _a.stickyHeaderIndices, horizontal = _a.horizontal, onEndReachedThreshold = _a.onEndReachedThreshold, estimatedListSize = _a.estimatedListSize, initialScrollIndex = _a.initialScrollIndex, style = _a.style, contentContainerStyle = _a.contentContainerStyle, renderScrollComponent = _a.renderScrollComponent, restProps = tslib_1.__rest(_a, ["drawDistance", "removeClippedSubviews", "stickyHeaderIndices", "horizontal", "onEndReachedThreshold", "estimatedListSize", "initialScrollIndex", "style", "contentContainerStyle", "renderScrollComponent"]);
382
- // RecyclerListView simply ignores if initialScrollIndex is set to 0 because it doesn't understand headers
383
- // Using initialOffset to force RLV to scroll to the right place
384
- var initialOffset = (this.isInitialScrollIndexInFirstRow() && this.distanceFromWindow) ||
385
- undefined;
386
- var finalDrawDistance = drawDistance === undefined
387
- ? PlatformHelper_1.PlatformConfig.defaultDrawDistance
388
- : drawDistance;
389
- return (react_1.default.createElement(StickyHeaderContainer, { overrideRowRenderer: this.stickyOverrideRowRenderer, applyWindowCorrection: this.applyWindowCorrection, stickyHeaderIndices: stickyHeaderIndices, style: this.props.horizontal
390
- ? tslib_1.__assign({}, this.getTransform()) : tslib_1.__assign({ flex: 1, overflow: "hidden" }, this.getTransform()) },
391
- react_1.default.createElement(recyclerlistview_1.ProgressiveListView, tslib_1.__assign({}, restProps, { ref: this.recyclerRef, layoutProvider: this.state.layoutProvider, dataProvider: this.state.dataProvider, rowRenderer: this.emptyRowRenderer, canChangeSize: true, isHorizontal: Boolean(horizontal), scrollViewProps: tslib_1.__assign({ onScrollBeginDrag: this.onScrollBeginDrag, onLayout: this.handleSizeChange, refreshControl: this.props.refreshControl || this.getRefreshControl(),
392
- // Min values are being used to suppress RLV's bounded exception
393
- style: { minHeight: 1, minWidth: 1 }, contentContainerStyle: tslib_1.__assign({ backgroundColor: this.contentStyle.backgroundColor,
394
- // Required to handle a scrollview bug. Check: https://github.com/Shopify/flash-list/pull/187
395
- minHeight: 1, minWidth: 1 }, (0, ContentContainerUtils_1.getContentContainerPadding)(this.contentStyle, horizontal)) }, this.props.overrideProps), forceNonDeterministicRendering: true, renderItemContainer: this.itemContainer, renderContentContainer: this.container, onEndReached: this.onEndReached, onEndReachedThresholdRelative: onEndReachedThreshold || undefined, extendedState: this.state.extraData, layoutSize: estimatedListSize, maxRenderAhead: 3 * finalDrawDistance, finalRenderAheadOffset: finalDrawDistance, renderAheadStep: finalDrawDistance, initialRenderIndex: (!this.isInitialScrollIndexInFirstRow() && initialScrollIndex) ||
396
- undefined, initialOffset: initialOffset, onItemLayout: this.onItemLayout, onScroll: this.onScroll, onVisibleIndicesChanged: this.viewabilityManager.shouldListenToVisibleIndices
397
- ? this.viewabilityManager.onVisibleIndicesChanged
398
- : undefined, windowCorrectionConfig: this.getUpdatedWindowCorrectionConfig(), itemAnimator: this.itemAnimator, suppressBoundedSizeException: true, externalScrollView: renderScrollComponent }))));
399
- };
400
- FlashList.prototype.getUpdatedWindowCorrectionConfig = function () {
401
- // If the initial scroll index is in the first row then we're forcing RLV to use initialOffset and thus we need to disable window correction
402
- // This isn't clean but it's the only way to get RLV to scroll to the right place
403
- // TODO: Remove this when RLV fixes this. Current implementation will also fail if column span is overridden in the first row.
404
- if (this.isInitialScrollIndexInFirstRow()) {
405
- this.windowCorrectionConfig.applyToInitialOffset = false;
406
- }
407
- else {
408
- this.windowCorrectionConfig.applyToInitialOffset = true;
409
- }
410
- this.windowCorrectionConfig.value.windowShift = -this.distanceFromWindow;
411
- return this.windowCorrectionConfig;
412
- };
413
- FlashList.prototype.isInitialScrollIndexInFirstRow = function () {
414
- var _a;
415
- return (((_a = this.props.initialScrollIndex) !== null && _a !== void 0 ? _a : this.state.numColumns) <
416
- this.state.numColumns);
417
- };
418
- FlashList.prototype.validateListSize = function (event) {
419
- var _a = event.nativeEvent.layout, height = _a.height, width = _a.width;
420
- this.clearRenderSizeWarningTimeout();
421
- if (Math.floor(height) <= 1 || Math.floor(width) <= 1) {
422
- this.renderedSizeWarningTimeoutId = setTimeout(function () {
423
- console.warn(Warnings_1.default.unusableRenderedSize);
424
- }, 1000);
425
- }
426
- };
427
- FlashList.prototype.getTransform = function () {
428
- var transformStyle = this.props.horizontal
429
- ? this.transformStyleHorizontal
430
- : this.transformStyle;
431
- return (this.props.inverted && transformStyle) || undefined;
432
- };
433
- FlashList.prototype.getValidComponent = function (component) {
434
- var PassedComponent = component;
435
- return ((react_1.default.isValidElement(PassedComponent) && PassedComponent) ||
436
- (PassedComponent && react_1.default.createElement(PassedComponent, null)) ||
437
- null);
438
- };
439
- Object.defineProperty(FlashList.prototype, "isStickyEnabled", {
440
- get: function () {
441
- var _a;
442
- var currentOffset = ((_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getCurrentScrollOffset()) || 0;
443
- return currentOffset >= this.distanceFromWindow;
444
- },
445
- enumerable: false,
446
- configurable: true
447
- });
448
- /**
449
- * Disables recycling for the next frame so that layout animations run well.
450
- * Warning: Avoid this when making large changes to the data as the list might draw too much to run animations. Single item insertions/deletions
451
- * should be good. With recycling paused the list cannot do much optimization.
452
- * The next render will run as normal and reuse items.
453
- */
454
- FlashList.prototype.prepareForLayoutAnimationRender = function () {
455
- var _a;
456
- if (this.props.keyExtractor === null ||
457
- this.props.keyExtractor === undefined) {
458
- console.warn(Warnings_1.default.missingKeyExtractor);
459
- }
460
- else {
461
- (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.prepareForLayoutAnimationRender();
462
- }
463
- };
464
- FlashList.prototype.scrollToEnd = function (params) {
465
- var _a;
466
- (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.scrollToEnd(Boolean(params === null || params === void 0 ? void 0 : params.animated));
467
- };
468
- FlashList.prototype.scrollToIndex = function (params) {
469
- var _a, _b, _c, _d, _e;
470
- var layout = (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getLayout(params.index);
471
- var listSize = (_b = this.rlvRef) === null || _b === void 0 ? void 0 : _b.getRenderedSize();
472
- if (layout && listSize) {
473
- var itemOffset = this.props.horizontal ? layout.x : layout.y;
474
- var fixedDimension = this.props.horizontal
475
- ? listSize.width
476
- : listSize.height;
477
- var itemSize = this.props.horizontal ? layout.width : layout.height;
478
- var scrollOffset = Math.max(0, itemOffset - ((_c = params.viewPosition) !== null && _c !== void 0 ? _c : 0) * (fixedDimension - itemSize)) - ((_d = params.viewOffset) !== null && _d !== void 0 ? _d : 0);
479
- (_e = this.rlvRef) === null || _e === void 0 ? void 0 : _e.scrollToOffset(scrollOffset, scrollOffset, Boolean(params.animated), true);
480
- }
481
- };
482
- FlashList.prototype.scrollToItem = function (params) {
483
- var _a, _b;
484
- var index = (_b = (_a = this.props.data) === null || _a === void 0 ? void 0 : _a.indexOf(params.item)) !== null && _b !== void 0 ? _b : -1;
485
- if (index >= 0) {
486
- this.scrollToIndex(tslib_1.__assign(tslib_1.__assign({}, params), { index: index }));
487
- }
488
- };
489
- FlashList.prototype.scrollToOffset = function (params) {
490
- var _a;
491
- var x = this.props.horizontal ? params.offset : 0;
492
- var y = this.props.horizontal ? 0 : params.offset;
493
- (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.scrollToOffset(x, y, Boolean(params.animated));
494
- };
495
- FlashList.prototype.getScrollableNode = function () {
496
- var _a, _b;
497
- return ((_b = (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getScrollableNode) === null || _b === void 0 ? void 0 : _b.call(_a)) || null;
498
- };
499
- Object.defineProperty(FlashList.prototype, "recyclerlistview_unsafe", {
500
- /**
501
- * Allows access to internal recyclerlistview. This is useful for enabling access to its public APIs.
502
- * Warning: We may swap recyclerlistview for something else in the future. Use with caution.
503
- */
504
- /* eslint-disable @typescript-eslint/naming-convention */
505
- get: function () {
506
- return this.rlvRef;
507
- },
508
- enumerable: false,
509
- configurable: true
510
- });
511
- Object.defineProperty(FlashList.prototype, "firstItemOffset", {
512
- /**
513
- * Specifies how far the first item is from top of the list. This would normally be a sum of header size and top/left padding applied to the list.
514
- */
515
- get: function () {
516
- return this.distanceFromWindow;
517
- },
518
- enumerable: false,
519
- configurable: true
520
- });
521
- /**
522
- * FlashList will skip using layout cache on next update. Can be useful when you know the layout will change drastically for example, orientation change when used as a carousel.
523
- */
524
- FlashList.prototype.clearLayoutCacheOnUpdate = function () {
525
- this.state.layoutProvider.markExpired();
526
- };
527
- /**
528
- * Returns the dimensions of the child container.
529
- * @returns {Object} The dimensions of the child container.
530
- */
531
- FlashList.prototype.getChildContainerDimensions = function () {
532
- var _a;
533
- return (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getContentDimension();
534
- };
535
- /**
536
- * Returns the layout of the item at the given index.
537
- * @param index - The index of the item to get the layout for.
538
- * @returns {Object} The layout of the item at the given index.
539
- */
540
- FlashList.prototype.getLayout = function (index) {
541
- var _a;
542
- return (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getLayout(index);
543
- };
544
- /**
545
- * Returns the size of the list.
546
- * @returns {Object} The size of the list.
547
- */
548
- FlashList.prototype.getWindowSize = function () {
549
- var _a;
550
- return (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getRenderedSize();
551
- };
552
- /**
553
- * Returns the absolute last scroll offset of the list.
554
- * @returns {number} The absolute last scroll offset of the list.
555
- */
556
- FlashList.prototype.getAbsoluteLastScrollOffset = function () {
557
- var _a, _b;
558
- return (_b = (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.getCurrentScrollOffset()) !== null && _b !== void 0 ? _b : 0;
559
- };
560
- /**
561
- * Returns the first item offset of the list.
562
- * @returns {number} The first item offset of the list.
563
- */
564
- FlashList.prototype.getFirstItemOffset = function () {
565
- return this.firstItemOffset;
566
- };
567
- FlashList.prototype.getFirstVisibleIndex = function () {
568
- var _a, _b;
569
- return (_b = (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.findApproxFirstVisibleIndex()) !== null && _b !== void 0 ? _b : -1;
570
- };
571
- FlashList.prototype.flashScrollIndicators = function () {
572
- var _a;
573
- (_a = this.getNativeScrollRef()) === null || _a === void 0 ? void 0 : _a.flashScrollIndicators();
574
- };
575
- FlashList.prototype.getNativeScrollRef = function () {
576
- var _a, _b;
577
- return (_b = (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a._scrollComponent) === null || _b === void 0 ? void 0 : _b._scrollViewRef;
578
- };
579
- FlashList.prototype.getScrollResponder = function () {
580
- var _a;
581
- return (_a = this.getNativeScrollRef()) === null || _a === void 0 ? void 0 : _a.getScrollResponder();
582
- };
583
- FlashList.prototype.scrollToTop = function (params) {
584
- var _a;
585
- (_a = this.rlvRef) === null || _a === void 0 ? void 0 : _a.scrollToTop(params === null || params === void 0 ? void 0 : params.animated);
586
- };
587
- FlashList.prototype.computeVisibleIndices = function () {
588
- console.warn("computeVisibleIndices is not implemented in old architecture");
589
- return { startIndex: -1, endIndex: -2 };
590
- };
591
- FlashList.defaultProps = {
592
- data: [],
593
- numColumns: 1,
594
- };
595
- return FlashList;
596
- }(react_1.default.PureComponent));
597
- exports.default = FlashList;
3
+ exports.FlashList = void 0;
4
+ var RecyclerView_1 = require("./recyclerview/RecyclerView");
5
+ Object.defineProperty(exports, "FlashList", { enumerable: true, get: function () { return RecyclerView_1.RecyclerView; } });
598
6
  //# sourceMappingURL=FlashList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FlashList.js","sourceRoot":"","sources":["../src/FlashList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlashList.js","sourceRoot":"","sources":["../src/FlashList.ts"],"names":[],"mappings":";;;AAAA,4DAAwE;AAA/D,yGAAA,YAAY,OAAa"}