@shopify/flash-list 2.0.3 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (194) hide show
  1. package/dist/AnimatedFlashList.js +4 -6
  2. package/dist/AnimatedFlashList.js.map +1 -1
  3. package/dist/FlashList.js +1 -5
  4. package/dist/FlashList.js.map +1 -1
  5. package/dist/FlashListProps.d.ts +9 -1
  6. package/dist/FlashListProps.d.ts.map +1 -1
  7. package/dist/FlashListProps.js +1 -4
  8. package/dist/FlashListProps.js.map +1 -1
  9. package/dist/FlashListRef.js +1 -2
  10. package/dist/benchmark/AutoScrollHelper.js +22 -30
  11. package/dist/benchmark/AutoScrollHelper.js.map +1 -1
  12. package/dist/benchmark/JSFPSMonitor.js +27 -33
  13. package/dist/benchmark/JSFPSMonitor.js.map +1 -1
  14. package/dist/benchmark/roundToDecimalPlaces.js +2 -5
  15. package/dist/benchmark/roundToDecimalPlaces.js.map +1 -1
  16. package/dist/benchmark/useBenchmark.d.ts +9 -1
  17. package/dist/benchmark/useBenchmark.d.ts.map +1 -1
  18. package/dist/benchmark/useBenchmark.js +86 -95
  19. package/dist/benchmark/useBenchmark.js.map +1 -1
  20. package/dist/benchmark/useDataMultiplier.js +6 -10
  21. package/dist/benchmark/useDataMultiplier.js.map +1 -1
  22. package/dist/benchmark/useFlatListBenchmark.d.ts +4 -1
  23. package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
  24. package/dist/benchmark/useFlatListBenchmark.js +73 -81
  25. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  26. package/dist/errors/ErrorMessages.js +1 -4
  27. package/dist/errors/ErrorMessages.js.map +1 -1
  28. package/dist/errors/WarningMessages.d.ts +1 -0
  29. package/dist/errors/WarningMessages.d.ts.map +1 -1
  30. package/dist/errors/WarningMessages.js +2 -4
  31. package/dist/errors/WarningMessages.js.map +1 -1
  32. package/dist/index.js +17 -35
  33. package/dist/index.js.map +1 -1
  34. package/dist/isNewArch.js +6 -9
  35. package/dist/isNewArch.js.map +1 -1
  36. package/dist/native/config/PlatformHelper.android.js +2 -5
  37. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  38. package/dist/native/config/PlatformHelper.ios.js +2 -5
  39. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  40. package/dist/native/config/PlatformHelper.js +2 -5
  41. package/dist/native/config/PlatformHelper.js.map +1 -1
  42. package/dist/native/config/PlatformHelper.web.js +2 -5
  43. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  44. package/dist/recyclerview/LayoutCommitObserver.js +20 -24
  45. package/dist/recyclerview/LayoutCommitObserver.js.map +1 -1
  46. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  47. package/dist/recyclerview/RecyclerView.js +117 -107
  48. package/dist/recyclerview/RecyclerView.js.map +1 -1
  49. package/dist/recyclerview/RecyclerViewContextProvider.js +7 -12
  50. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
  51. package/dist/recyclerview/RecyclerViewManager.d.ts +2 -0
  52. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  53. package/dist/recyclerview/RecyclerViewManager.js +146 -164
  54. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  55. package/dist/recyclerview/RecyclerViewProps.js +1 -2
  56. package/dist/recyclerview/RenderStackManager.js +97 -188
  57. package/dist/recyclerview/RenderStackManager.js.map +1 -1
  58. package/dist/recyclerview/ViewHolder.js +16 -20
  59. package/dist/recyclerview/ViewHolder.js.map +1 -1
  60. package/dist/recyclerview/ViewHolderCollection.js +26 -30
  61. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  62. package/dist/recyclerview/components/CompatScroller.js +6 -7
  63. package/dist/recyclerview/components/CompatScroller.js.map +1 -1
  64. package/dist/recyclerview/components/CompatView.js +6 -7
  65. package/dist/recyclerview/components/CompatView.js.map +1 -1
  66. package/dist/recyclerview/components/ScrollAnchor.js +10 -15
  67. package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
  68. package/dist/recyclerview/components/StickyHeaders.js +34 -40
  69. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  70. package/dist/recyclerview/helpers/ConsecutiveNumbers.js +39 -66
  71. package/dist/recyclerview/helpers/ConsecutiveNumbers.js.map +1 -1
  72. package/dist/recyclerview/helpers/EngagedIndicesTracker.js +57 -63
  73. package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
  74. package/dist/recyclerview/helpers/RenderTimeTracker.js +19 -24
  75. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -1
  76. package/dist/recyclerview/helpers/VelocityTracker.js +16 -22
  77. package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -1
  78. package/dist/recyclerview/hooks/useBoundDetection.js +37 -40
  79. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  80. package/dist/recyclerview/hooks/useLayoutState.js +9 -15
  81. package/dist/recyclerview/hooks/useLayoutState.js.map +1 -1
  82. package/dist/recyclerview/hooks/useMappingHelper.js +6 -10
  83. package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -1
  84. package/dist/recyclerview/hooks/useOnLoad.d.ts.map +1 -1
  85. package/dist/recyclerview/hooks/useOnLoad.js +17 -22
  86. package/dist/recyclerview/hooks/useOnLoad.js.map +1 -1
  87. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  88. package/dist/recyclerview/hooks/useRecyclerViewController.js +169 -188
  89. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  90. package/dist/recyclerview/hooks/useRecyclerViewManager.js +12 -17
  91. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
  92. package/dist/recyclerview/hooks/useRecyclingState.js +10 -14
  93. package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -1
  94. package/dist/recyclerview/hooks/useSecondaryProps.js +24 -30
  95. package/dist/recyclerview/hooks/useSecondaryProps.js.map +1 -1
  96. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +17 -22
  97. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -1
  98. package/dist/recyclerview/hooks/useUnmountFlag.js +5 -9
  99. package/dist/recyclerview/hooks/useUnmountFlag.js.map +1 -1
  100. package/dist/recyclerview/layout-managers/GridLayoutManager.js +61 -80
  101. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  102. package/dist/recyclerview/layout-managers/LayoutManager.js +83 -123
  103. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  104. package/dist/recyclerview/layout-managers/LinearLayoutManager.js +51 -91
  105. package/dist/recyclerview/layout-managers/LinearLayoutManager.js.map +1 -1
  106. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +77 -96
  107. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  108. package/dist/recyclerview/utils/adjustOffsetForRTL.js +1 -4
  109. package/dist/recyclerview/utils/adjustOffsetForRTL.js.map +1 -1
  110. package/dist/recyclerview/utils/componentUtils.js +4 -9
  111. package/dist/recyclerview/utils/componentUtils.js.map +1 -1
  112. package/dist/recyclerview/utils/findVisibleIndex.js +9 -13
  113. package/dist/recyclerview/utils/findVisibleIndex.js.map +1 -1
  114. package/dist/recyclerview/utils/measureLayout.js +12 -20
  115. package/dist/recyclerview/utils/measureLayout.js.map +1 -1
  116. package/dist/recyclerview/utils/measureLayout.web.js +15 -23
  117. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -1
  118. package/dist/recyclerview/viewability/ViewToken.js +1 -2
  119. package/dist/recyclerview/viewability/ViewabilityHelper.js +34 -41
  120. package/dist/recyclerview/viewability/ViewabilityHelper.js.map +1 -1
  121. package/dist/recyclerview/viewability/ViewabilityManager.js +48 -61
  122. package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -1
  123. package/dist/tsconfig.tsbuildinfo +1 -1
  124. package/dist/utils/AverageWindow.js +28 -39
  125. package/dist/utils/AverageWindow.js.map +1 -1
  126. package/package.json +4 -6
  127. package/src/FlashListProps.ts +8 -1
  128. package/src/benchmark/useBenchmark.ts +47 -4
  129. package/src/benchmark/useFlatListBenchmark.ts +38 -5
  130. package/src/errors/WarningMessages.ts +2 -0
  131. package/src/recyclerview/RecyclerView.tsx +18 -5
  132. package/src/recyclerview/RecyclerViewManager.ts +12 -0
  133. package/src/recyclerview/hooks/useOnLoad.ts +1 -0
  134. package/src/recyclerview/hooks/useRecyclerViewController.tsx +7 -4
  135. package/dist/__tests__/AverageWindow.test.d.ts +0 -2
  136. package/dist/__tests__/AverageWindow.test.d.ts.map +0 -1
  137. package/dist/__tests__/AverageWindow.test.js +0 -104
  138. package/dist/__tests__/AverageWindow.test.js.map +0 -1
  139. package/dist/__tests__/ConsecutiveNumbers.test.d.ts +0 -2
  140. package/dist/__tests__/ConsecutiveNumbers.test.d.ts.map +0 -1
  141. package/dist/__tests__/ConsecutiveNumbers.test.js +0 -224
  142. package/dist/__tests__/ConsecutiveNumbers.test.js.map +0 -1
  143. package/dist/__tests__/GridLayoutManager.test.d.ts +0 -2
  144. package/dist/__tests__/GridLayoutManager.test.d.ts.map +0 -1
  145. package/dist/__tests__/GridLayoutManager.test.js +0 -69
  146. package/dist/__tests__/GridLayoutManager.test.js.map +0 -1
  147. package/dist/__tests__/LayoutCommitObserver.test.d.ts +0 -2
  148. package/dist/__tests__/LayoutCommitObserver.test.d.ts.map +0 -1
  149. package/dist/__tests__/LayoutCommitObserver.test.js +0 -37
  150. package/dist/__tests__/LayoutCommitObserver.test.js.map +0 -1
  151. package/dist/__tests__/LinearLayoutManager.test.d.ts +0 -2
  152. package/dist/__tests__/LinearLayoutManager.test.d.ts.map +0 -1
  153. package/dist/__tests__/LinearLayoutManager.test.js +0 -140
  154. package/dist/__tests__/LinearLayoutManager.test.js.map +0 -1
  155. package/dist/__tests__/MasonryLayoutManager.test.d.ts +0 -2
  156. package/dist/__tests__/MasonryLayoutManager.test.d.ts.map +0 -1
  157. package/dist/__tests__/MasonryLayoutManager.test.js +0 -148
  158. package/dist/__tests__/MasonryLayoutManager.test.js.map +0 -1
  159. package/dist/__tests__/RecyclerView.test.d.ts +0 -2
  160. package/dist/__tests__/RecyclerView.test.d.ts.map +0 -1
  161. package/dist/__tests__/RecyclerView.test.js +0 -103
  162. package/dist/__tests__/RecyclerView.test.js.map +0 -1
  163. package/dist/__tests__/RenderStackManager.test.d.ts +0 -2
  164. package/dist/__tests__/RenderStackManager.test.d.ts.map +0 -1
  165. package/dist/__tests__/RenderStackManager.test.js +0 -485
  166. package/dist/__tests__/RenderStackManager.test.js.map +0 -1
  167. package/dist/__tests__/ViewabilityHelper.test.d.ts +0 -2
  168. package/dist/__tests__/ViewabilityHelper.test.d.ts.map +0 -1
  169. package/dist/__tests__/ViewabilityHelper.test.js +0 -186
  170. package/dist/__tests__/ViewabilityHelper.test.js.map +0 -1
  171. package/dist/__tests__/findVisibleIndex.test.d.ts +0 -2
  172. package/dist/__tests__/findVisibleIndex.test.d.ts.map +0 -1
  173. package/dist/__tests__/findVisibleIndex.test.js +0 -259
  174. package/dist/__tests__/findVisibleIndex.test.js.map +0 -1
  175. package/dist/__tests__/helpers/createLayoutManager.d.ts +0 -34
  176. package/dist/__tests__/helpers/createLayoutManager.d.ts.map +0 -1
  177. package/dist/__tests__/helpers/createLayoutManager.js +0 -110
  178. package/dist/__tests__/helpers/createLayoutManager.js.map +0 -1
  179. package/dist/__tests__/useUnmountAwareCallbacks.test.d.ts +0 -2
  180. package/dist/__tests__/useUnmountAwareCallbacks.test.d.ts.map +0 -1
  181. package/dist/__tests__/useUnmountAwareCallbacks.test.js +0 -185
  182. package/dist/__tests__/useUnmountAwareCallbacks.test.js.map +0 -1
  183. package/src/__tests__/AverageWindow.test.ts +0 -128
  184. package/src/__tests__/ConsecutiveNumbers.test.ts +0 -232
  185. package/src/__tests__/GridLayoutManager.test.ts +0 -113
  186. package/src/__tests__/LayoutCommitObserver.test.tsx +0 -63
  187. package/src/__tests__/LinearLayoutManager.test.ts +0 -227
  188. package/src/__tests__/MasonryLayoutManager.test.ts +0 -202
  189. package/src/__tests__/RecyclerView.test.tsx +0 -144
  190. package/src/__tests__/RenderStackManager.test.ts +0 -574
  191. package/src/__tests__/ViewabilityHelper.test.ts +0 -282
  192. package/src/__tests__/findVisibleIndex.test.ts +0 -369
  193. package/src/__tests__/helpers/createLayoutManager.ts +0 -141
  194. package/src/__tests__/useUnmountAwareCallbacks.test.tsx +0 -285
@@ -1,77 +1,73 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RecyclerView = void 0;
4
- var tslib_1 = require("tslib");
5
1
  /**
6
2
  * RecyclerView is a high-performance list component that efficiently renders and recycles list items.
7
3
  * It's designed to handle large lists with optimal memory usage and smooth scrolling.
8
4
  */
9
- var react_1 = tslib_1.__importStar(require("react"));
10
- var react_native_1 = require("react-native");
11
- var ErrorMessages_1 = require("../errors/ErrorMessages");
12
- var WarningMessages_1 = require("../errors/WarningMessages");
13
- var measureLayout_1 = require("./utils/measureLayout");
14
- var RecyclerViewContextProvider_1 = require("./RecyclerViewContextProvider");
15
- var useLayoutState_1 = require("./hooks/useLayoutState");
16
- var useRecyclerViewManager_1 = require("./hooks/useRecyclerViewManager");
17
- var useOnLoad_1 = require("./hooks/useOnLoad");
18
- var ViewHolderCollection_1 = require("./ViewHolderCollection");
19
- var CompatView_1 = require("./components/CompatView");
20
- var useBoundDetection_1 = require("./hooks/useBoundDetection");
21
- var adjustOffsetForRTL_1 = require("./utils/adjustOffsetForRTL");
22
- var useSecondaryProps_1 = require("./hooks/useSecondaryProps");
23
- var StickyHeaders_1 = require("./components/StickyHeaders");
24
- var ScrollAnchor_1 = require("./components/ScrollAnchor");
25
- var useRecyclerViewController_1 = require("./hooks/useRecyclerViewController");
26
- var RenderTimeTracker_1 = require("./helpers/RenderTimeTracker");
5
+ import React, { useCallback, useLayoutEffect, useMemo, useRef, forwardRef, useState, useId, } from "react";
6
+ import { Animated, I18nManager, } from "react-native";
7
+ import { ErrorMessages } from "../errors/ErrorMessages";
8
+ import { WarningMessages } from "../errors/WarningMessages";
9
+ import { areDimensionsNotEqual, measureFirstChildLayout, measureItemLayout, measureParentSize, } from "./utils/measureLayout";
10
+ import { RecyclerViewContextProvider, useRecyclerViewContext, } from "./RecyclerViewContextProvider";
11
+ import { useLayoutState } from "./hooks/useLayoutState";
12
+ import { useRecyclerViewManager } from "./hooks/useRecyclerViewManager";
13
+ import { useOnListLoad } from "./hooks/useOnLoad";
14
+ import { ViewHolderCollection, } from "./ViewHolderCollection";
15
+ import { CompatView } from "./components/CompatView";
16
+ import { useBoundDetection } from "./hooks/useBoundDetection";
17
+ import { adjustOffsetForRTL } from "./utils/adjustOffsetForRTL";
18
+ import { useSecondaryProps } from "./hooks/useSecondaryProps";
19
+ import { StickyHeaders } from "./components/StickyHeaders";
20
+ import { ScrollAnchor } from "./components/ScrollAnchor";
21
+ import { useRecyclerViewController } from "./hooks/useRecyclerViewController";
22
+ import { RenderTimeTracker } from "./helpers/RenderTimeTracker";
27
23
  /**
28
24
  * Main RecyclerView component that handles list rendering, scrolling, and item recycling.
29
25
  * @template T - The type of items in the list
30
26
  */
31
- var RecyclerViewComponent = function (props, ref) {
27
+ const RecyclerViewComponent = (props, ref) => {
32
28
  var _a;
33
29
  // Destructure props and initialize refs
34
- var horizontal = props.horizontal, renderItem = props.renderItem, data = props.data, extraData = props.extraData, onLoad = props.onLoad, CellRendererComponent = props.CellRendererComponent, overrideProps = props.overrideProps, refreshing = props.refreshing, onRefresh = props.onRefresh, progressViewOffset = props.progressViewOffset, ListEmptyComponent = props.ListEmptyComponent, ListHeaderComponent = props.ListHeaderComponent, ListHeaderComponentStyle = props.ListHeaderComponentStyle, ListFooterComponent = props.ListFooterComponent, ListFooterComponentStyle = props.ListFooterComponentStyle, ItemSeparatorComponent = props.ItemSeparatorComponent, renderScrollComponent = props.renderScrollComponent, style = props.style, stickyHeaderIndices = props.stickyHeaderIndices, maintainVisibleContentPosition = props.maintainVisibleContentPosition, onCommitLayoutEffect = props.onCommitLayoutEffect, rest = tslib_1.__rest(props, ["horizontal", "renderItem", "data", "extraData", "onLoad", "CellRendererComponent", "overrideProps", "refreshing", "onRefresh", "progressViewOffset", "ListEmptyComponent", "ListHeaderComponent", "ListHeaderComponentStyle", "ListFooterComponent", "ListFooterComponentStyle", "ItemSeparatorComponent", "renderScrollComponent", "style", "stickyHeaderIndices", "maintainVisibleContentPosition", "onCommitLayoutEffect"]);
35
- var _b = tslib_1.__read((0, react_1.useState)(function () { return new RenderTimeTracker_1.RenderTimeTracker(); }), 1), renderTimeTracker = _b[0];
30
+ const { horizontal, renderItem, data, extraData, onLoad, CellRendererComponent, overrideProps, refreshing, onRefresh, progressViewOffset, ListEmptyComponent, ListHeaderComponent, ListHeaderComponentStyle, ListFooterComponent, ListFooterComponentStyle, ItemSeparatorComponent, renderScrollComponent, style, stickyHeaderIndices, maintainVisibleContentPosition, onCommitLayoutEffect, ...rest } = props;
31
+ const [renderTimeTracker] = useState(() => new RenderTimeTracker());
36
32
  renderTimeTracker.startTracking();
37
33
  // Core refs for managing scroll view, internal view, and child container
38
- var scrollViewRef = (0, react_1.useRef)(null);
39
- var internalViewRef = (0, react_1.useRef)(null);
40
- var firstChildViewRef = (0, react_1.useRef)(null);
41
- var containerViewSizeRef = (0, react_1.useRef)(undefined);
42
- var pendingChildIds = (0, react_1.useRef)(new Set()).current;
34
+ const scrollViewRef = useRef(null);
35
+ const internalViewRef = useRef(null);
36
+ const firstChildViewRef = useRef(null);
37
+ const containerViewSizeRef = useRef(undefined);
38
+ const pendingChildIds = useRef(new Set()).current;
43
39
  // Track scroll position
44
- var scrollY = (0, react_1.useRef)(new react_native_1.Animated.Value(0)).current;
40
+ const scrollY = useRef(new Animated.Value(0)).current;
45
41
  // Refs for sticky headers and scroll anchoring
46
- var stickyHeaderRef = (0, react_1.useRef)(null);
47
- var scrollAnchorRef = (0, react_1.useRef)(null);
42
+ const stickyHeaderRef = useRef(null);
43
+ const scrollAnchorRef = useRef(null);
48
44
  // State for managing layout and render updates
49
- var _c = tslib_1.__read((0, useLayoutState_1.useLayoutState)(0), 2), _ = _c[0], setLayoutTreeId = _c[1];
50
- var _d = tslib_1.__read((0, react_1.useState)(0), 2), __ = _d[0], setRenderId = _d[1];
45
+ const [_, setLayoutTreeId] = useLayoutState(0);
46
+ const [__, setRenderId] = useState(0);
51
47
  // Map to store refs for each item in the list
52
- var refHolder = (0, react_1.useMemo)(function () { return new Map(); }, []);
48
+ const refHolder = useMemo(() => new Map(), []);
53
49
  // Initialize core RecyclerView manager and content offset management
54
- var _e = (0, useRecyclerViewManager_1.useRecyclerViewManager)(props), recyclerViewManager = _e.recyclerViewManager, velocityTracker = _e.velocityTracker;
55
- var _f = (0, useRecyclerViewController_1.useRecyclerViewController)(recyclerViewManager, ref, scrollViewRef, scrollAnchorRef), applyOffsetCorrection = _f.applyOffsetCorrection, computeFirstVisibleIndexForOffsetCorrection = _f.computeFirstVisibleIndexForOffsetCorrection, applyInitialScrollIndex = _f.applyInitialScrollIndex, handlerMethods = _f.handlerMethods;
50
+ const { recyclerViewManager, velocityTracker } = useRecyclerViewManager(props);
51
+ const { applyOffsetCorrection, computeFirstVisibleIndexForOffsetCorrection, applyInitialScrollIndex, handlerMethods, } = useRecyclerViewController(recyclerViewManager, ref, scrollViewRef, scrollAnchorRef);
56
52
  // Initialize view holder collection ref
57
- var viewHolderCollectionRef = (0, react_1.useRef)(null);
53
+ const viewHolderCollectionRef = useRef(null);
58
54
  // Hook to handle list loading
59
- (0, useOnLoad_1.useOnListLoad)(recyclerViewManager, onLoad);
55
+ useOnListLoad(recyclerViewManager, onLoad);
60
56
  // Hook to detect when scrolling reaches list bounds
61
- var checkBounds = (0, useBoundDetection_1.useBoundDetection)(recyclerViewManager, scrollViewRef).checkBounds;
62
- var isHorizontalRTL = react_native_1.I18nManager.isRTL && horizontal;
57
+ const { checkBounds } = useBoundDetection(recyclerViewManager, scrollViewRef);
58
+ const isHorizontalRTL = I18nManager.isRTL && horizontal;
63
59
  /**
64
60
  * Initialize the RecyclerView by measuring and setting up the window size
65
61
  * This effect runs when the component mounts or when layout changes
66
62
  */
67
- (0, react_1.useLayoutEffect)(function () {
63
+ useLayoutEffect(() => {
68
64
  if (internalViewRef.current && firstChildViewRef.current) {
69
65
  // Measure the outer and inner container layouts
70
- var outerViewLayout = (0, measureLayout_1.measureParentSize)(internalViewRef.current);
71
- var firstChildViewLayout = (0, measureLayout_1.measureFirstChildLayout)(firstChildViewRef.current, internalViewRef.current);
66
+ const outerViewLayout = measureParentSize(internalViewRef.current);
67
+ const firstChildViewLayout = measureFirstChildLayout(firstChildViewRef.current, internalViewRef.current);
72
68
  containerViewSizeRef.current = outerViewLayout;
73
69
  // Calculate offset of first item
74
- var firstItemOffset = horizontal
70
+ const firstItemOffset = horizontal
75
71
  ? firstChildViewLayout.x - outerViewLayout.x
76
72
  : firstChildViewLayout.y - outerViewLayout.y;
77
73
  // Update the RecyclerView manager with window dimensions
@@ -93,14 +89,13 @@ var RecyclerViewComponent = function (props, ref) {
93
89
  * This ensures proper positioning and recycling of items
94
90
  */
95
91
  // eslint-disable-next-line react-hooks/exhaustive-deps
96
- (0, react_1.useLayoutEffect)(function () {
92
+ useLayoutEffect(() => {
97
93
  var _a, _b;
98
94
  if (pendingChildIds.size > 0) {
99
95
  return;
100
96
  }
101
- var layoutInfo = Array.from(refHolder, function (_a) {
102
- var _b = tslib_1.__read(_a, 2), index = _b[0], viewHolderRef = _b[1];
103
- var layout = (0, measureLayout_1.measureItemLayout)(viewHolderRef.current, recyclerViewManager.tryGetLayout(index));
97
+ const layoutInfo = Array.from(refHolder, ([index, viewHolderRef]) => {
98
+ const layout = measureItemLayout(viewHolderRef.current, recyclerViewManager.tryGetLayout(index));
104
99
  // comapre height with stored layout
105
100
  // const storedLayout = recyclerViewManager.getLayout(index);
106
101
  // if (
@@ -114,38 +109,46 @@ var RecyclerViewComponent = function (props, ref) {
114
109
  // storedLayout.height
115
110
  // );
116
111
  // }
117
- return { index: index, dimensions: layout };
112
+ return { index, dimensions: layout };
118
113
  });
119
- var hasExceededMaxRendersWithoutCommit = renderTimeTracker.hasExceededMaxRendersWithoutCommit();
114
+ const hasExceededMaxRendersWithoutCommit = renderTimeTracker.hasExceededMaxRendersWithoutCommit();
120
115
  if (hasExceededMaxRendersWithoutCommit) {
121
- console.warn(WarningMessages_1.WarningMessages.exceededMaxRendersWithoutCommit);
116
+ console.warn(WarningMessages.exceededMaxRendersWithoutCommit);
122
117
  }
123
118
  if (recyclerViewManager.modifyChildrenLayout(layoutInfo, (_a = data === null || data === void 0 ? void 0 : data.length) !== null && _a !== void 0 ? _a : 0) &&
124
119
  !hasExceededMaxRendersWithoutCommit) {
125
120
  // Trigger re-render if layout modifications were made
126
- setRenderId(function (prev) { return prev + 1; });
121
+ setRenderId((prev) => prev + 1);
127
122
  }
128
123
  else {
129
124
  (_b = viewHolderCollectionRef.current) === null || _b === void 0 ? void 0 : _b.commitLayout();
130
125
  applyOffsetCorrection();
131
126
  }
127
+ if (horizontal &&
128
+ recyclerViewManager.hasLayout() &&
129
+ recyclerViewManager.getWindowSize().height > 0) {
130
+ // We want the parent FlashList to continue rendering the next batch of items as soon as height is available.
131
+ // Waiting for each horizontal list to finish might cause too many setState calls.
132
+ // This will help avoid "Maximum update depth exceeded" error.
133
+ parentRecyclerViewContext === null || parentRecyclerViewContext === void 0 ? void 0 : parentRecyclerViewContext.unmarkChildLayoutAsPending(recyclerViewId);
134
+ }
132
135
  });
133
136
  /**
134
137
  * Scroll event handler that manages scroll position, velocity, and RTL support
135
138
  */
136
- var onScrollHandler = (0, react_1.useCallback)(function (event) {
139
+ const onScrollHandler = useCallback((event) => {
137
140
  var _a, _b, _c;
138
141
  if (recyclerViewManager.ignoreScrollEvents) {
139
142
  return;
140
143
  }
141
- var scrollOffset = horizontal
144
+ let scrollOffset = horizontal
142
145
  ? event.nativeEvent.contentOffset.x
143
146
  : event.nativeEvent.contentOffset.y;
144
147
  // Handle RTL (Right-to-Left) layout adjustments
145
148
  if (isHorizontalRTL) {
146
- scrollOffset = (0, adjustOffsetForRTL_1.adjustOffsetForRTL)(scrollOffset, event.nativeEvent.contentSize.width, event.nativeEvent.layoutMeasurement.width);
149
+ scrollOffset = adjustOffsetForRTL(scrollOffset, event.nativeEvent.contentSize.width, event.nativeEvent.layoutMeasurement.width);
147
150
  }
148
- velocityTracker.computeVelocity(scrollOffset, recyclerViewManager.getAbsoluteLastScrollOffset(), Boolean(horizontal), function (velocity, isMomentumEnd) {
151
+ velocityTracker.computeVelocity(scrollOffset, recyclerViewManager.getAbsoluteLastScrollOffset(), Boolean(horizontal), (velocity, isMomentumEnd) => {
149
152
  if (recyclerViewManager.ignoreScrollEvents) {
150
153
  return;
151
154
  }
@@ -158,7 +161,7 @@ var RecyclerViewComponent = function (props, ref) {
158
161
  }
159
162
  // Update scroll position and trigger re-render if needed
160
163
  if (recyclerViewManager.updateScrollOffset(scrollOffset, velocity)) {
161
- setRenderId(function (prev) { return prev + 1; });
164
+ setRenderId((prev) => prev + 1);
162
165
  }
163
166
  });
164
167
  // Update sticky headers and check bounds
@@ -177,35 +180,35 @@ var RecyclerViewComponent = function (props, ref) {
177
180
  recyclerViewManager,
178
181
  velocityTracker,
179
182
  ]);
180
- var parentRecyclerViewContext = (0, RecyclerViewContextProvider_1.useRecyclerViewContext)();
181
- var recyclerViewId = (0, react_1.useId)();
183
+ const parentRecyclerViewContext = useRecyclerViewContext();
184
+ const recyclerViewId = useId();
182
185
  // Create context for child components
183
- var recyclerViewContext = (0, react_1.useMemo)(function () {
186
+ const recyclerViewContext = useMemo(() => {
184
187
  return {
185
- layout: function () {
186
- setLayoutTreeId(function (prev) { return prev + 1; });
188
+ layout: () => {
189
+ setLayoutTreeId((prev) => prev + 1);
187
190
  },
188
- getRef: function () {
191
+ getRef: () => {
189
192
  if (recyclerViewManager.isDisposed) {
190
193
  return null;
191
194
  }
192
195
  return handlerMethods;
193
196
  },
194
- getParentRef: function () {
197
+ getParentRef: () => {
195
198
  var _a;
196
199
  return (_a = parentRecyclerViewContext === null || parentRecyclerViewContext === void 0 ? void 0 : parentRecyclerViewContext.getRef()) !== null && _a !== void 0 ? _a : null;
197
200
  },
198
- getParentScrollViewRef: function () {
201
+ getParentScrollViewRef: () => {
199
202
  var _a;
200
203
  return (_a = parentRecyclerViewContext === null || parentRecyclerViewContext === void 0 ? void 0 : parentRecyclerViewContext.getScrollViewRef()) !== null && _a !== void 0 ? _a : null;
201
204
  },
202
- getScrollViewRef: function () {
205
+ getScrollViewRef: () => {
203
206
  return scrollViewRef.current;
204
207
  },
205
- markChildLayoutAsPending: function (id) {
208
+ markChildLayoutAsPending: (id) => {
206
209
  pendingChildIds.add(id);
207
210
  },
208
- unmarkChildLayoutAsPending: function (id) {
211
+ unmarkChildLayoutAsPending: (id) => {
209
212
  if (pendingChildIds.has(id)) {
210
213
  pendingChildIds.delete(id);
211
214
  recyclerViewContext.layout();
@@ -222,13 +225,13 @@ var RecyclerViewComponent = function (props, ref) {
222
225
  /**
223
226
  * Validates that item dimensions match the expected layout
224
227
  */
225
- var validateItemSize = (0, react_1.useCallback)(function (index, size) {
228
+ const validateItemSize = useCallback((index, size) => {
226
229
  var _a, _b, _c, _d;
227
- var layout = recyclerViewManager.getLayout(index);
228
- var width = Math.max(Math.min(layout.width, (_a = layout.maxWidth) !== null && _a !== void 0 ? _a : Infinity), (_b = layout.minWidth) !== null && _b !== void 0 ? _b : 0);
229
- var height = Math.max(Math.min(layout.height, (_c = layout.maxHeight) !== null && _c !== void 0 ? _c : Infinity), (_d = layout.minHeight) !== null && _d !== void 0 ? _d : 0);
230
- if ((0, measureLayout_1.areDimensionsNotEqual)(width, size.width) ||
231
- (0, measureLayout_1.areDimensionsNotEqual)(height, size.height)) {
230
+ const layout = recyclerViewManager.getLayout(index);
231
+ const width = Math.max(Math.min(layout.width, (_a = layout.maxWidth) !== null && _a !== void 0 ? _a : Infinity), (_b = layout.minWidth) !== null && _b !== void 0 ? _b : 0);
232
+ const height = Math.max(Math.min(layout.height, (_c = layout.maxHeight) !== null && _c !== void 0 ? _c : Infinity), (_d = layout.minHeight) !== null && _d !== void 0 ? _d : 0);
233
+ if (areDimensionsNotEqual(width, size.width) ||
234
+ areDimensionsNotEqual(height, size.height)) {
232
235
  // console.log(
233
236
  // "invalid size",
234
237
  // index,
@@ -242,21 +245,21 @@ var RecyclerViewComponent = function (props, ref) {
242
245
  }
243
246
  }, [recyclerViewContext, recyclerViewManager]);
244
247
  // Get secondary props and components
245
- var _g = (0, useSecondaryProps_1.useSecondaryProps)(props), refreshControl = _g.refreshControl, renderHeader = _g.renderHeader, renderFooter = _g.renderFooter, renderEmpty = _g.renderEmpty, CompatScrollView = _g.CompatScrollView;
248
+ const { refreshControl, renderHeader, renderFooter, renderEmpty, CompatScrollView, } = useSecondaryProps(props);
246
249
  if (!recyclerViewManager.getIsFirstLayoutComplete() &&
247
250
  recyclerViewManager.getDataLength() > 0) {
248
251
  parentRecyclerViewContext === null || parentRecyclerViewContext === void 0 ? void 0 : parentRecyclerViewContext.markChildLayoutAsPending(recyclerViewId);
249
252
  }
250
253
  // Render sticky headers if configured
251
- var stickyHeaders = (0, react_1.useMemo)(function () {
254
+ const stickyHeaders = useMemo(() => {
252
255
  if (data &&
253
256
  data.length > 0 &&
254
257
  stickyHeaderIndices &&
255
258
  stickyHeaderIndices.length > 0) {
256
259
  if (horizontal) {
257
- throw new Error(ErrorMessages_1.ErrorMessages.stickyHeadersNotSupportedForHorizontal);
260
+ throw new Error(ErrorMessages.stickyHeadersNotSupportedForHorizontal);
258
261
  }
259
- return (react_1.default.createElement(StickyHeaders_1.StickyHeaders, { stickyHeaderIndices: stickyHeaderIndices, data: data, renderItem: renderItem, scrollY: scrollY, stickyHeaderRef: stickyHeaderRef, recyclerViewManager: recyclerViewManager, extraData: extraData }));
262
+ return (React.createElement(StickyHeaders, { stickyHeaderIndices: stickyHeaderIndices, data: data, renderItem: renderItem, scrollY: scrollY, stickyHeaderRef: stickyHeaderRef, recyclerViewManager: recyclerViewManager, extraData: extraData }));
260
263
  }
261
264
  return null;
262
265
  }, [
@@ -269,41 +272,50 @@ var RecyclerViewComponent = function (props, ref) {
269
272
  extraData,
270
273
  ]);
271
274
  // Set up scroll event handling with animation support for sticky headers
272
- var animatedEvent = (0, react_1.useMemo)(function () {
275
+ const animatedEvent = useMemo(() => {
273
276
  if (stickyHeaders) {
274
- return react_native_1.Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }], { useNativeDriver: true, listener: onScrollHandler });
277
+ return Animated.event([{ nativeEvent: { contentOffset: { y: scrollY } } }], { useNativeDriver: true, listener: onScrollHandler });
275
278
  }
276
279
  return onScrollHandler;
277
280
  }, [onScrollHandler, scrollY, stickyHeaders]);
278
- var shouldMaintainVisibleContentPosition = recyclerViewManager.shouldMaintainVisibleContentPosition();
279
- var maintainVisibleContentPositionInternal = (0, react_1.useMemo)(function () {
281
+ const shouldMaintainVisibleContentPosition = recyclerViewManager.shouldMaintainVisibleContentPosition();
282
+ const maintainVisibleContentPositionInternal = useMemo(() => {
280
283
  if (shouldMaintainVisibleContentPosition) {
281
- return tslib_1.__assign(tslib_1.__assign({}, maintainVisibleContentPosition), { minIndexForVisible: 0 });
284
+ return {
285
+ ...maintainVisibleContentPosition,
286
+ minIndexForVisible: 0,
287
+ };
282
288
  }
283
289
  return undefined;
284
290
  }, [maintainVisibleContentPosition, shouldMaintainVisibleContentPosition]);
285
- var shouldRenderFromBottom = recyclerViewManager.getDataLength() > 0 &&
291
+ const shouldRenderFromBottom = recyclerViewManager.getDataLength() > 0 &&
286
292
  ((_a = maintainVisibleContentPosition === null || maintainVisibleContentPosition === void 0 ? void 0 : maintainVisibleContentPosition.startRenderingFromBottom) !== null && _a !== void 0 ? _a : false);
287
293
  // Create view for measuring bounded size
288
- var viewToMeasureBoundedSize = (0, react_1.useMemo)(function () {
289
- return (react_1.default.createElement(CompatView_1.CompatView, { style: {
294
+ const viewToMeasureBoundedSize = useMemo(() => {
295
+ return (React.createElement(CompatView, { style: {
290
296
  height: horizontal ? undefined : 0,
291
297
  width: horizontal ? 0 : undefined,
292
298
  }, ref: firstChildViewRef }));
293
299
  }, [horizontal]);
294
- var scrollAnchor = (0, react_1.useMemo)(function () {
300
+ const scrollAnchor = useMemo(() => {
295
301
  if (shouldMaintainVisibleContentPosition) {
296
- return (react_1.default.createElement(ScrollAnchor_1.ScrollAnchor, { horizontal: Boolean(horizontal), scrollAnchorRef: scrollAnchorRef }));
302
+ return (React.createElement(ScrollAnchor, { horizontal: Boolean(horizontal), scrollAnchorRef: scrollAnchorRef }));
297
303
  }
298
304
  return null;
299
305
  }, [horizontal, shouldMaintainVisibleContentPosition]);
300
306
  // console.log("render", recyclerViewManager.getRenderStack());
301
307
  // Render the main RecyclerView structure
302
- return (react_1.default.createElement(RecyclerViewContextProvider_1.RecyclerViewContextProvider, { value: recyclerViewContext },
303
- react_1.default.createElement(CompatView_1.CompatView, { style: tslib_1.__assign({ flex: horizontal ? undefined : 1, overflow: "hidden" }, style), ref: internalViewRef, collapsable: false, onLayout: function (event) {
308
+ return (React.createElement(RecyclerViewContextProvider, { value: recyclerViewContext },
309
+ React.createElement(CompatView, { style: [
310
+ {
311
+ flex: horizontal ? undefined : 1,
312
+ overflow: "hidden",
313
+ },
314
+ style,
315
+ ], ref: internalViewRef, collapsable: false, onLayout: (event) => {
304
316
  var _a, _b, _c, _d;
305
- if ((0, measureLayout_1.areDimensionsNotEqual)(event.nativeEvent.layout.width, (_b = (_a = containerViewSizeRef.current) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0) ||
306
- (0, measureLayout_1.areDimensionsNotEqual)(event.nativeEvent.layout.height, (_d = (_c = containerViewSizeRef.current) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 0)) {
317
+ if (areDimensionsNotEqual(event.nativeEvent.layout.width, (_b = (_a = containerViewSizeRef.current) === null || _a === void 0 ? void 0 : _a.width) !== null && _b !== void 0 ? _b : 0) ||
318
+ areDimensionsNotEqual(event.nativeEvent.layout.height, (_d = (_c = containerViewSizeRef.current) === null || _c === void 0 ? void 0 : _c.height) !== null && _d !== void 0 ? _d : 0)) {
307
319
  // console.log(
308
320
  // "onLayout",
309
321
  // recyclerViewManager.getWindowSize(),
@@ -312,40 +324,38 @@ var RecyclerViewComponent = function (props, ref) {
312
324
  recyclerViewContext.layout();
313
325
  }
314
326
  } },
315
- react_1.default.createElement(CompatScrollView, tslib_1.__assign({}, rest, { horizontal: horizontal, ref: scrollViewRef, onScroll: animatedEvent, maintainVisibleContentPosition: maintainVisibleContentPositionInternal, refreshControl: refreshControl }, overrideProps),
327
+ React.createElement(CompatScrollView, { ...rest, horizontal: horizontal, ref: scrollViewRef, onScroll: animatedEvent, maintainVisibleContentPosition: maintainVisibleContentPositionInternal, refreshControl: refreshControl, ...overrideProps },
316
328
  scrollAnchor,
317
329
  isHorizontalRTL && viewToMeasureBoundedSize,
318
330
  renderHeader,
319
331
  !isHorizontalRTL && viewToMeasureBoundedSize,
320
- react_1.default.createElement(ViewHolderCollection_1.ViewHolderCollection, { viewHolderCollectionRef: viewHolderCollectionRef, data: data, horizontal: horizontal, renderStack: recyclerViewManager.getRenderStack(), getLayout: function (index) { return recyclerViewManager.getLayout(index); }, getAdjustmentMargin: function () {
332
+ React.createElement(ViewHolderCollection, { viewHolderCollectionRef: viewHolderCollectionRef, data: data, horizontal: horizontal, renderStack: recyclerViewManager.getRenderStack(), getLayout: (index) => recyclerViewManager.getLayout(index), getAdjustmentMargin: () => {
321
333
  if (!shouldRenderFromBottom || !recyclerViewManager.hasLayout()) {
322
334
  return 0;
323
335
  }
324
- var windowSize = horizontal
336
+ const windowSize = horizontal
325
337
  ? recyclerViewManager.getWindowSize().width
326
338
  : recyclerViewManager.getWindowSize().height;
327
- var childContainerSize = horizontal
339
+ const childContainerSize = horizontal
328
340
  ? recyclerViewManager.getChildContainerDimensions().width
329
341
  : recyclerViewManager.getChildContainerDimensions().height;
330
342
  return Math.max(0, windowSize -
331
343
  childContainerSize -
332
344
  recyclerViewManager.firstItemOffset);
333
- }, refHolder: refHolder, onSizeChanged: validateItemSize, renderItem: renderItem, extraData: extraData, onCommitLayoutEffect: function () {
345
+ }, refHolder: refHolder, onSizeChanged: validateItemSize, renderItem: renderItem, extraData: extraData, onCommitLayoutEffect: () => {
334
346
  applyInitialScrollIndex();
335
347
  parentRecyclerViewContext === null || parentRecyclerViewContext === void 0 ? void 0 : parentRecyclerViewContext.unmarkChildLayoutAsPending(recyclerViewId);
336
348
  onCommitLayoutEffect === null || onCommitLayoutEffect === void 0 ? void 0 : onCommitLayoutEffect();
337
- }, onCommitEffect: function () {
349
+ }, onCommitEffect: () => {
338
350
  renderTimeTracker.markRenderComplete();
339
351
  recyclerViewManager.updateAverageRenderTime(renderTimeTracker.getAverageRenderTime());
340
352
  applyInitialScrollIndex();
341
353
  checkBounds();
342
354
  recyclerViewManager.computeItemViewability();
343
355
  recyclerViewManager.animationOptimizationsEnabled = false;
344
- }, CellRendererComponent: CellRendererComponent, ItemSeparatorComponent: ItemSeparatorComponent, getChildContainerLayout: function () {
345
- return recyclerViewManager.hasLayout()
346
- ? recyclerViewManager.getChildContainerDimensions()
347
- : undefined;
348
- } }),
356
+ }, CellRendererComponent: CellRendererComponent, ItemSeparatorComponent: ItemSeparatorComponent, getChildContainerLayout: () => recyclerViewManager.hasLayout()
357
+ ? recyclerViewManager.getChildContainerDimensions()
358
+ : undefined }),
349
359
  renderEmpty,
350
360
  renderFooter),
351
361
  stickyHeaders)));
@@ -353,6 +363,6 @@ var RecyclerViewComponent = function (props, ref) {
353
363
  // Set displayName for the inner component
354
364
  RecyclerViewComponent.displayName = "FlashList";
355
365
  // Create and export the memoized, forwarded ref component
356
- var RecyclerView = react_1.default.memo((0, react_1.forwardRef)(RecyclerViewComponent));
357
- exports.RecyclerView = RecyclerView;
366
+ const RecyclerView = React.memo(forwardRef(RecyclerViewComponent));
367
+ export { RecyclerView };
358
368
  //# sourceMappingURL=RecyclerView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecyclerView.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecyclerView.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerView.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,10 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RecyclerViewContextProvider = void 0;
4
- exports.useRecyclerViewContext = useRecyclerViewContext;
5
- exports.useFlashListContext = useFlashListContext;
6
- var react_1 = require("react");
7
- var RecyclerViewContextInstance = (0, react_1.createContext)(undefined);
8
- exports.RecyclerViewContextProvider = RecyclerViewContextInstance.Provider;
9
- function useRecyclerViewContext() {
10
- return (0, react_1.useContext)(RecyclerViewContextInstance);
1
+ import { createContext, useContext } from "react";
2
+ const RecyclerViewContextInstance = createContext(undefined);
3
+ export const RecyclerViewContextProvider = RecyclerViewContextInstance.Provider;
4
+ export function useRecyclerViewContext() {
5
+ return useContext(RecyclerViewContextInstance);
11
6
  }
12
- function useFlashListContext() {
13
- return (0, react_1.useContext)(RecyclerViewContextInstance);
7
+ export function useFlashListContext() {
8
+ return useContext(RecyclerViewContextInstance);
14
9
  }
15
10
  //# sourceMappingURL=RecyclerViewContextProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecyclerViewContextProvider.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewContextProvider.ts"],"names":[],"mappings":";;;AAqDA,wDAMC;AACD,kDAIC;AAhED,+BAAkD;AAgDlD,IAAM,2BAA2B,GAAG,IAAA,qBAAa,EAE/C,SAAS,CAAC,CAAC;AAEA,QAAA,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC;AAChF,SAAgB,sBAAsB;IAGpC,OAAO,IAAA,kBAAU,EAAC,2BAA2B,CAEhC,CAAC;AAChB,CAAC;AACD,SAAgB,mBAAmB;IACjC,OAAO,IAAA,kBAAU,EAAC,2BAA2B,CAEhC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"RecyclerViewContextProvider.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewContextProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAgDlD,MAAM,2BAA2B,GAAG,aAAa,CAE/C,SAAS,CAAC,CAAC;AAEb,MAAM,CAAC,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,QAAQ,CAAC;AAChF,MAAM,UAAU,sBAAsB;IAGpC,OAAO,UAAU,CAAC,2BAA2B,CAEhC,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,mBAAmB;IACjC,OAAO,UAAU,CAAC,2BAA2B,CAEhC,CAAC;AAChB,CAAC"}
@@ -17,6 +17,7 @@ export declare class RecyclerViewManager<T> {
17
17
  private _animationOptimizationsEnabled;
18
18
  firstItemOffset: number;
19
19
  ignoreScrollEvents: boolean;
20
+ isFirstPaintOnUiComplete: boolean;
20
21
  get animationOptimizationsEnabled(): boolean;
21
22
  set animationOptimizationsEnabled(value: boolean);
22
23
  get isOffsetProjectionEnabled(): boolean;
@@ -72,5 +73,6 @@ export declare class RecyclerViewManager<T> {
72
73
  private renderProgressively;
73
74
  private getItemType;
74
75
  private overrideItemLayout;
76
+ private checkPropsAndWarn;
75
77
  }
76
78
  //# sourceMappingURL=RecyclerViewManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RecyclerViewManager.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAEL,WAAW,EACX,YAAY,EAGb,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAGL,QAAQ,EACT,MAAM,iCAAiC,CAAC;AAGzC,qBAAa,mBAAmB,CAAC,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAkB;IAExC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,sBAAsB,CAAwB;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,8BAA8B,CAAS;IAExC,eAAe,SAAK;IACpB,kBAAkB,UAAS;IAElC,IAAW,6BAA6B,IAIQ,OAAO,CAFtD;IAED,IAAW,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAGtD;IAED,IAAW,yBAAyB,YAEnC;IAED,IAAW,UAAU,YAEpB;IAED,IAAW,UAAU,WAEpB;gBAEW,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAavC,OAAO,CAAC,iBAAiB,CAOvB;IAEF,IAAI,KAAK,yBAER;IAED,0BAA0B,CAAC,KAAK,EAAE,OAAO;IAIzC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IASvC;;;;OAIG;IACH,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,kBAAkB,GAAG,SAAS;IAgBjC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAIpC,wBAAwB;IAIxB,SAAS,CAAC,KAAK,EAAE,MAAM;IAOvB,YAAY,CAAC,KAAK,EAAE,MAAM;IAY1B,2BAA2B;IAO3B,cAAc;;;;;IAId,aAAa;IAQb,mBAAmB;IAInB,kBAAkB;IAclB,2BAA2B;IAI3B,kBAAkB,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU;IAI1D,oBAAoB;IAIpB,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAkCnE,SAAS;IAIT,qBAAqB;IAOrB,iBAAiB;IAIjB,oBAAoB,CAClB,UAAU,EAAE,YAAY,EAAE,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO;IAkBV,sBAAsB;IAUtB,iBAAiB;IAIjB,sBAAsB;IAItB,iBAAiB;IAWjB,uBAAuB,IAAI,kBAAkB,GAAG,SAAS;IAIzD,eAAe;IAMf,OAAO;IAKP,sBAAsB;IAItB,qBAAqB;IASrB,oCAAoC;IAQpC,aAAa;IAIb,iBAAiB;IAIjB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,4BAA4B;IA8BpC,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,kBAAkB;CAS3B"}
1
+ {"version":3,"file":"RecyclerViewManager.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewManager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAEL,WAAW,EACX,YAAY,EAGb,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAGL,QAAQ,EACT,MAAM,iCAAiC,CAAC;AAGzC,qBAAa,mBAAmB,CAAC,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAkB;IAExC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,sBAAsB,CAAK;IACnC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,sBAAsB,CAAwB;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,8BAA8B,CAAS;IAExC,eAAe,SAAK;IACpB,kBAAkB,UAAS;IAC3B,wBAAwB,UAAS;IAExC,IAAW,6BAA6B,IAIQ,OAAO,CAFtD;IAED,IAAW,6BAA6B,CAAC,KAAK,EAAE,OAAO,EAGtD;IAED,IAAW,yBAAyB,YAEnC;IAED,IAAW,UAAU,YAEpB;IAED,IAAW,UAAU,WAEpB;gBAEW,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAcvC,OAAO,CAAC,iBAAiB,CAOvB;IAEF,IAAI,KAAK,yBAER;IAED,0BAA0B,CAAC,KAAK,EAAE,OAAO;IAIzC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IASvC;;;;OAIG;IACH,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,kBAAkB,GAAG,SAAS;IAgBjC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAIpC,wBAAwB;IAIxB,SAAS,CAAC,KAAK,EAAE,MAAM;IAOvB,YAAY,CAAC,KAAK,EAAE,MAAM;IAY1B,2BAA2B;IAO3B,cAAc;;;;;IAId,aAAa;IAQb,mBAAmB;IAInB,kBAAkB;IAclB,2BAA2B;IAI3B,kBAAkB,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU;IAI1D,oBAAoB;IAIpB,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAkCnE,SAAS;IAIT,qBAAqB;IAOrB,iBAAiB;IAIjB,oBAAoB,CAClB,UAAU,EAAE,YAAY,EAAE,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO;IAqBV,sBAAsB;IAUtB,iBAAiB;IAIjB,sBAAsB;IAItB,iBAAiB;IAWjB,uBAAuB,IAAI,kBAAkB,GAAG,SAAS;IAIzD,eAAe;IAMf,OAAO;IAKP,sBAAsB;IAItB,qBAAqB;IASrB,oCAAoC;IAQpC,aAAa;IAIb,iBAAiB;IAIjB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAOjC,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,4BAA4B;IA8BpC,OAAO,CAAC,mBAAmB;IAqC3B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,iBAAiB;CAK1B"}