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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/README.md +38 -98
  2. package/dist/AnimatedFlashList.d.ts.map +1 -1
  3. package/dist/AnimatedFlashList.js +3 -3
  4. package/dist/AnimatedFlashList.js.map +1 -1
  5. package/dist/FlashList.d.ts +9 -0
  6. package/dist/FlashList.d.ts.map +1 -1
  7. package/dist/FlashList.js +20 -0
  8. package/dist/FlashList.js.map +1 -1
  9. package/dist/FlashListProps.d.ts +15 -8
  10. package/dist/FlashListProps.d.ts.map +1 -1
  11. package/dist/FlashListProps.js.map +1 -1
  12. package/dist/FlashListRef.d.ts +305 -0
  13. package/dist/FlashListRef.d.ts.map +1 -0
  14. package/dist/FlashListRef.js +3 -0
  15. package/dist/FlashListRef.js.map +1 -0
  16. package/dist/MasonryFlashList.js.map +1 -1
  17. package/dist/__tests__/RecyclerView.test.js +63 -28
  18. package/dist/__tests__/RecyclerView.test.js.map +1 -1
  19. package/dist/__tests__/RenderStackManager.test.d.ts +2 -0
  20. package/dist/__tests__/RenderStackManager.test.d.ts.map +1 -0
  21. package/dist/__tests__/RenderStackManager.test.js +486 -0
  22. package/dist/__tests__/RenderStackManager.test.js.map +1 -0
  23. package/dist/__tests__/helpers/createLayoutManager.d.ts.map +1 -1
  24. package/dist/__tests__/helpers/createLayoutManager.js +3 -4
  25. package/dist/__tests__/helpers/createLayoutManager.js.map +1 -1
  26. package/dist/__tests__/useUnmountAwareCallbacks.test.js +1 -1
  27. package/dist/__tests__/useUnmountAwareCallbacks.test.js.map +1 -1
  28. package/dist/benchmark/useFlatListBenchmark.js +8 -7
  29. package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
  30. package/dist/enableNewCore.d.ts.map +1 -1
  31. package/dist/enableNewCore.js +2 -1
  32. package/dist/enableNewCore.js.map +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/native/config/PlatformHelper.android.d.ts +2 -0
  37. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  38. package/dist/native/config/PlatformHelper.android.js +2 -0
  39. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  40. package/dist/native/config/PlatformHelper.d.ts +2 -0
  41. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  42. package/dist/native/config/PlatformHelper.ios.d.ts +2 -0
  43. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  44. package/dist/native/config/PlatformHelper.ios.js +2 -0
  45. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  46. package/dist/native/config/PlatformHelper.js +2 -0
  47. package/dist/native/config/PlatformHelper.js.map +1 -1
  48. package/dist/native/config/PlatformHelper.web.d.ts +2 -0
  49. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  50. package/dist/native/config/PlatformHelper.web.js +3 -1
  51. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  52. package/dist/recyclerview/RecyclerView.d.ts +2 -1
  53. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  54. package/dist/recyclerview/RecyclerView.js +64 -37
  55. package/dist/recyclerview/RecyclerView.js.map +1 -1
  56. package/dist/recyclerview/RecyclerViewContextProvider.d.ts +6 -5
  57. package/dist/recyclerview/RecyclerViewContextProvider.d.ts.map +1 -1
  58. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
  59. package/dist/recyclerview/RecyclerViewManager.d.ts +21 -7
  60. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  61. package/dist/recyclerview/RecyclerViewManager.js +105 -113
  62. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  63. package/dist/recyclerview/RenderStackManager.d.ts +85 -0
  64. package/dist/recyclerview/RenderStackManager.d.ts.map +1 -0
  65. package/dist/recyclerview/RenderStackManager.js +324 -0
  66. package/dist/recyclerview/RenderStackManager.js.map +1 -0
  67. package/dist/recyclerview/ViewHolder.d.ts.map +1 -1
  68. package/dist/recyclerview/ViewHolder.js +5 -3
  69. package/dist/recyclerview/ViewHolder.js.map +1 -1
  70. package/dist/recyclerview/ViewHolderCollection.d.ts +3 -1
  71. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
  72. package/dist/recyclerview/ViewHolderCollection.js +23 -8
  73. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  74. package/dist/recyclerview/components/ScrollAnchor.d.ts +2 -1
  75. package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -1
  76. package/dist/recyclerview/components/ScrollAnchor.js +9 -4
  77. package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
  78. package/dist/recyclerview/components/StickyHeaders.d.ts +1 -1
  79. package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
  80. package/dist/recyclerview/components/StickyHeaders.js +40 -32
  81. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  82. package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts +45 -1
  83. package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts.map +1 -1
  84. package/dist/recyclerview/helpers/EngagedIndicesTracker.js +79 -20
  85. package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
  86. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts +10 -0
  87. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts.map +1 -0
  88. package/dist/recyclerview/helpers/RenderTimeTracker.js +39 -0
  89. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -0
  90. package/dist/recyclerview/helpers/VelocityTracker.d.ts +29 -0
  91. package/dist/recyclerview/helpers/VelocityTracker.d.ts.map +1 -0
  92. package/dist/recyclerview/helpers/VelocityTracker.js +70 -0
  93. package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -0
  94. package/dist/recyclerview/hooks/useBoundDetection.d.ts +1 -2
  95. package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -1
  96. package/dist/recyclerview/hooks/useBoundDetection.js +19 -16
  97. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  98. package/dist/recyclerview/hooks/useMappingHelper.d.ts +1 -1
  99. package/dist/recyclerview/hooks/useMappingHelper.d.ts.map +1 -1
  100. package/dist/recyclerview/hooks/useMappingHelper.js +1 -1
  101. package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -1
  102. package/dist/recyclerview/hooks/useOnLoad.d.ts.map +1 -1
  103. package/dist/recyclerview/hooks/useOnLoad.js +4 -6
  104. package/dist/recyclerview/hooks/useOnLoad.js.map +1 -1
  105. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts +3 -48
  106. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  107. package/dist/recyclerview/hooks/useRecyclerViewController.js +179 -119
  108. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  109. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts +2 -0
  110. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -1
  111. package/dist/recyclerview/hooks/useRecyclerViewManager.js +10 -1
  112. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
  113. package/dist/recyclerview/hooks/useSecondaryProps.js +1 -1
  114. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts +10 -3
  115. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts.map +1 -1
  116. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +33 -4
  117. package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -1
  118. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +6 -0
  119. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -1
  120. package/dist/recyclerview/layout-managers/GridLayoutManager.js +27 -5
  121. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  122. package/dist/recyclerview/layout-managers/LayoutManager.d.ts +10 -16
  123. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  124. package/dist/recyclerview/layout-managers/LayoutManager.js +4 -14
  125. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  126. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +2 -2
  127. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  128. package/dist/recyclerview/utils/measureLayout.d.ts +1 -29
  129. package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -1
  130. package/dist/recyclerview/utils/measureLayout.js +2 -4
  131. package/dist/recyclerview/utils/measureLayout.js.map +1 -1
  132. package/dist/recyclerview/utils/measureLayout.web.d.ts +29 -0
  133. package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -0
  134. package/dist/recyclerview/utils/measureLayout.web.js +89 -0
  135. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -0
  136. package/dist/tsconfig.tsbuildinfo +1 -1
  137. package/dist/viewability/ViewToken.d.ts +2 -2
  138. package/dist/viewability/ViewToken.d.ts.map +1 -1
  139. package/dist/viewability/ViewabilityHelper.js +1 -1
  140. package/dist/viewability/ViewabilityHelper.js.map +1 -1
  141. package/dist/viewability/ViewabilityManager.d.ts.map +1 -1
  142. package/dist/viewability/ViewabilityManager.js +1 -2
  143. package/dist/viewability/ViewabilityManager.js.map +1 -1
  144. package/jestSetup.js +30 -11
  145. package/package.json +2 -1
  146. package/src/AnimatedFlashList.ts +3 -2
  147. package/src/FlashList.tsx +24 -0
  148. package/src/FlashListProps.ts +20 -8
  149. package/src/FlashListRef.ts +320 -0
  150. package/src/MasonryFlashList.tsx +2 -2
  151. package/src/__tests__/RecyclerView.test.tsx +84 -30
  152. package/src/__tests__/RenderStackManager.test.ts +575 -0
  153. package/src/__tests__/helpers/createLayoutManager.ts +2 -3
  154. package/src/__tests__/useUnmountAwareCallbacks.test.tsx +12 -12
  155. package/src/benchmark/useFlatListBenchmark.ts +2 -2
  156. package/src/enableNewCore.ts +3 -1
  157. package/src/index.ts +1 -0
  158. package/src/native/config/PlatformHelper.android.ts +2 -0
  159. package/src/native/config/PlatformHelper.ios.ts +2 -0
  160. package/src/native/config/PlatformHelper.ts +2 -0
  161. package/src/native/config/PlatformHelper.web.ts +3 -1
  162. package/src/recyclerview/RecyclerView.tsx +85 -43
  163. package/src/recyclerview/RecyclerViewContextProvider.ts +12 -6
  164. package/src/recyclerview/RecyclerViewManager.ts +123 -98
  165. package/src/recyclerview/RenderStackManager.ts +291 -0
  166. package/src/recyclerview/ViewHolder.tsx +5 -3
  167. package/src/recyclerview/ViewHolderCollection.tsx +33 -12
  168. package/src/recyclerview/components/ScrollAnchor.tsx +21 -8
  169. package/src/recyclerview/components/StickyHeaders.tsx +63 -44
  170. package/src/recyclerview/helpers/EngagedIndicesTracker.ts +120 -23
  171. package/src/recyclerview/helpers/RenderTimeTracker.ts +38 -0
  172. package/src/recyclerview/helpers/VelocityTracker.ts +77 -0
  173. package/src/recyclerview/hooks/useBoundDetection.ts +25 -18
  174. package/src/recyclerview/hooks/useMappingHelper.ts +1 -1
  175. package/src/recyclerview/hooks/useOnLoad.ts +4 -6
  176. package/src/recyclerview/hooks/useRecyclerViewController.tsx +204 -173
  177. package/src/recyclerview/hooks/useRecyclerViewManager.ts +11 -1
  178. package/src/recyclerview/hooks/useSecondaryProps.tsx +1 -1
  179. package/src/recyclerview/hooks/useUnmountAwareCallbacks.ts +39 -3
  180. package/src/recyclerview/layout-managers/GridLayoutManager.ts +30 -7
  181. package/src/recyclerview/layout-managers/LayoutManager.ts +12 -21
  182. package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +1 -1
  183. package/src/recyclerview/utils/measureLayout.ts +3 -3
  184. package/src/recyclerview/utils/measureLayout.web.ts +104 -0
  185. package/src/viewability/ViewToken.ts +2 -2
  186. package/src/viewability/ViewabilityHelper.ts +1 -1
  187. package/src/viewability/ViewabilityManager.ts +6 -3
  188. package/dist/__tests__/RecycleKeyManager.test.d.ts +0 -2
  189. package/dist/__tests__/RecycleKeyManager.test.d.ts.map +0 -1
  190. package/dist/__tests__/RecycleKeyManager.test.js +0 -210
  191. package/dist/__tests__/RecycleKeyManager.test.js.map +0 -1
  192. package/dist/recyclerview/RecycleKeyManager.d.ts +0 -82
  193. package/dist/recyclerview/RecycleKeyManager.d.ts.map +0 -1
  194. package/dist/recyclerview/RecycleKeyManager.js +0 -135
  195. package/dist/recyclerview/RecycleKeyManager.js.map +0 -1
  196. package/src/__tests__/RecycleKeyManager.test.ts +0 -254
  197. package/src/recyclerview/RecycleKeyManager.ts +0 -185
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.useUnmountAwareCallbacks = useUnmountAwareCallbacks;
3
+ exports.useUnmountAwareTimeout = useUnmountAwareTimeout;
4
+ exports.useUnmountAwareAnimationFrame = useUnmountAwareAnimationFrame;
4
5
  var tslib_1 = require("tslib");
5
6
  var react_1 = require("react");
6
7
  /**
7
- * Hook that provides callbacks which are aware of component unmount state.
8
- * Any timeouts created with these callbacks will be automatically cleared when the component unmounts.
8
+ * Hook that provides a setTimeout which is aware of component unmount state.
9
+ * Any timeouts created with this hook will be automatically cleared when the component unmounts.
9
10
  */
10
- function useUnmountAwareCallbacks() {
11
+ function useUnmountAwareTimeout() {
11
12
  // Store active timeout IDs in a Set for more efficient add/remove operations
12
13
  var _a = tslib_1.__read((0, react_1.useState)(function () { return new Set(); }), 1), timeoutIds = _a[0];
13
14
  // Clear all timeouts on unmount
@@ -31,4 +32,32 @@ function useUnmountAwareCallbacks() {
31
32
  setTimeout: setTimeout,
32
33
  };
33
34
  }
35
+ /**
36
+ * Hook that provides a requestAnimationFrame which is aware of component unmount state.
37
+ * Any animation frames requested with this hook will be automatically canceled when the component unmounts.
38
+ */
39
+ function useUnmountAwareAnimationFrame() {
40
+ // Store active animation frame request IDs in a Set for more efficient add/remove operations
41
+ var _a = tslib_1.__read((0, react_1.useState)(function () { return new Set(); }), 1), requestIds = _a[0];
42
+ // Cancel all animation frame requests on unmount
43
+ (0, react_1.useEffect)(function () {
44
+ return function () {
45
+ requestIds.forEach(function (id) { return cancelAnimationFrame(id); });
46
+ requestIds.clear();
47
+ };
48
+ }, [requestIds]);
49
+ // Create a safe requestAnimationFrame that will be canceled on unmount
50
+ var requestAnimationFrame = (0, react_1.useCallback)(function (callback) {
51
+ var id = global.requestAnimationFrame(function (timestamp) {
52
+ // Remove this request ID from the tracking set
53
+ requestIds.delete(id);
54
+ callback(timestamp);
55
+ });
56
+ // Track this request ID
57
+ requestIds.add(id);
58
+ }, [requestIds]);
59
+ return {
60
+ requestAnimationFrame: requestAnimationFrame,
61
+ };
62
+ }
34
63
  //# sourceMappingURL=useUnmountAwareCallbacks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useUnmountAwareCallbacks.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":";;AAMA,4DA8BC;;AApCD,+BAAyD;AAEzD;;;GAGG;AACH,SAAgB,wBAAwB;IACtC,6EAA6E;IACvE,IAAA,KAAA,eAAe,IAAA,gBAAQ,EAAsB,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAAC,IAAA,EAA5D,UAAU,QAAkD,CAAC;IAEpE,gCAAgC;IAChC,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,UAAU,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;YACpD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,2DAA2D;IAC3D,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,QAAoB,EAAE,KAAa;QAClC,IAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC3B,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,EAAE,CAAC;QACb,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"useUnmountAwareCallbacks.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":";;AAMA,wDA8BC;AAMD,sEA8BC;;AAxED,+BAAyD;AAEzD;;;GAGG;AACH,SAAgB,sBAAsB;IACpC,6EAA6E;IACvE,IAAA,KAAA,eAAe,IAAA,gBAAQ,EAAsB,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAAC,IAAA,EAA5D,UAAU,QAAkD,CAAC;IAEpE,gCAAgC;IAChC,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,UAAU,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;YACpD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,2DAA2D;IAC3D,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,QAAoB,EAAE,KAAa;QAClC,IAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC3B,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,EAAE,CAAC;QACb,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B;IAC3C,6FAA6F;IACvF,IAAA,KAAA,eAAe,IAAA,gBAAQ,EAAc,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAAC,IAAA,EAApD,UAAU,QAA0C,CAAC;IAE5D,iDAAiD;IACjD,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,UAAU,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,oBAAoB,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,uEAAuE;IACvE,IAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,UAAC,QAA8B;QAC7B,IAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC,UAAC,SAAS;YAChD,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,qBAAqB,uBAAA;KACtB,CAAC;AACJ,CAAC"}
@@ -48,6 +48,12 @@ export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
48
48
  * @returns The tallest item in the row
49
49
  */
50
50
  private processAndReturnTallestItemInRow;
51
+ /**
52
+ * Computes the total height of the layout.
53
+ * @param index Index of the last item in the layout
54
+ * @returns Total height of the layout
55
+ */
56
+ private computeTotalHeight;
51
57
  /**
52
58
  * Checks if an item can fit within the bounded width.
53
59
  * @param itemX Starting X position of the item
@@ -1 +1 @@
1
- {"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAqB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAU/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,aAAa,IAAI,WAAW;IAW5B;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAqB5D;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoDxC;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAYlC"}
1
+ {"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAqB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAU/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,aAAa,IAAI,WAAW;IAS5B;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0B5D;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoDxC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAYlC"}
@@ -78,10 +78,10 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
78
78
  RVGridLayoutManagerImpl.prototype.getLayoutSize = function () {
79
79
  if (this.layouts.length === 0)
80
80
  return { width: 0, height: 0 };
81
- var lastRowTallestItem = this.processAndReturnTallestItemInRow(this.layouts.length - 1);
81
+ var totalHeight = this.computeTotalHeight(this.layouts.length - 1);
82
82
  return {
83
83
  width: this.boundedSize,
84
- height: lastRowTallestItem.y + lastRowTallestItem.height,
84
+ height: totalHeight,
85
85
  };
86
86
  };
87
87
  /**
@@ -90,14 +90,14 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
90
90
  * @param endIndex Ending index of items to recompute
91
91
  */
92
92
  RVGridLayoutManagerImpl.prototype.recomputeLayouts = function (startIndex, endIndex) {
93
- var newStartIndex = this.locateFirstNeighbourIndex(startIndex);
93
+ var newStartIndex = this.locateFirstNeighbourIndex(Math.max(0, startIndex - 1));
94
94
  var startVal = this.getLayout(newStartIndex);
95
95
  var startX = startVal.x;
96
96
  var startY = startVal.y;
97
97
  for (var i = newStartIndex; i <= endIndex; i++) {
98
98
  var layout = this.getLayout(i);
99
99
  if (!this.checkBounds(startX, layout.width)) {
100
- var tallestItem = this.processAndReturnTallestItemInRow(i);
100
+ var tallestItem = this.processAndReturnTallestItemInRow(i - 1);
101
101
  startY = tallestItem.y + tallestItem.height;
102
102
  startX = 0;
103
103
  }
@@ -105,6 +105,9 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
105
105
  layout.y = startY;
106
106
  startX += layout.width;
107
107
  }
108
+ if (endIndex === this.layouts.length - 1) {
109
+ this.processAndReturnTallestItemInRow(endIndex);
110
+ }
108
111
  };
109
112
  /**
110
113
  * Calculates the width of an item based on its span.
@@ -169,6 +172,25 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
169
172
  }
170
173
  return tallestItem;
171
174
  };
175
+ /**
176
+ * Computes the total height of the layout.
177
+ * @param index Index of the last item in the layout
178
+ * @returns Total height of the layout
179
+ */
180
+ RVGridLayoutManagerImpl.prototype.computeTotalHeight = function (index) {
181
+ var startIndex = this.locateFirstNeighbourIndex(index);
182
+ var y = this.layouts[startIndex].y;
183
+ var maxHeight = 0;
184
+ var i = startIndex;
185
+ while (Math.ceil(this.layouts[i].y) === Math.ceil(y)) {
186
+ maxHeight = Math.max(maxHeight, this.layouts[i].height);
187
+ i++;
188
+ if (i >= this.layouts.length) {
189
+ break;
190
+ }
191
+ }
192
+ return y + maxHeight;
193
+ };
172
194
  /**
173
195
  * Checks if an item can fit within the bounded width.
174
196
  * @param itemX Starting X position of the item
@@ -187,7 +209,7 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
187
209
  if (startIndex === 0) {
188
210
  return 0;
189
211
  }
190
- var i = startIndex - 1;
212
+ var i = startIndex;
191
213
  for (; i >= 0; i--) {
192
214
  if (this.layouts[i].x === 0) {
193
215
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"GridLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GridLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"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"}
@@ -15,14 +15,14 @@ export declare abstract class RVLayoutManager {
15
15
  protected spanSizeInfo: SpanSizeInfo;
16
16
  /** Maximum number of columns in the layout */
17
17
  protected maxColumns: number;
18
- /** Optional callback to override default item layout */
19
- protected overrideItemLayout?: (index: number, layout: SpanSizeInfo) => void;
20
18
  /** Whether to optimize item placement for better space utilization */
21
19
  protected optimizeItemArrangement: boolean;
22
20
  /** Flag indicating if the layout requires repainting */
23
21
  requiresRepaint: boolean;
22
+ /** Optional callback to override default item layout */
23
+ private overrideItemLayout;
24
24
  /** Optional function to determine item type */
25
- private _getItemType?;
25
+ private getItemType;
26
26
  /** Window for tracking average heights by item type */
27
27
  private heightAverageWindow;
28
28
  /** Window for tracking average widths by item type */
@@ -30,12 +30,6 @@ export declare abstract class RVLayoutManager {
30
30
  /** Maximum number of items to process in a single layout pass */
31
31
  private maxItemsToProcess;
32
32
  constructor(params: LayoutParams, previousLayoutManager?: RVLayoutManager);
33
- /**
34
- * Gets the type of an item at the given index.
35
- * @param index Index of the item
36
- * @returns Item type or "default" if not specified
37
- */
38
- private getItemType;
39
33
  /**
40
34
  * Gets the estimated width for an item based on its type.
41
35
  * @param index Index of the item
@@ -68,8 +62,8 @@ export declare abstract class RVLayoutManager {
68
62
  /**
69
63
  * Gets indices of items currently visible in the viewport.
70
64
  * Uses binary search for efficient lookup.
71
- * @param unboundDimensionStart Start position of viewport
72
- * @param unboundDimensionEnd End position of viewport
65
+ * @param unboundDimensionStart Start position of viewport (start X or start Y)
66
+ * @param unboundDimensionEnd End position of viewport (end X or end Y)
73
67
  * @returns ConsecutiveNumbers containing visible indices
74
68
  */
75
69
  getVisibleLayouts(unboundDimensionStart: number, unboundDimensionEnd: number): ConsecutiveNumbers;
@@ -151,27 +145,27 @@ export interface LayoutParams {
151
145
  * Determines if the list scrolls horizontally (true) or vertically (false)
152
146
  * Affects how items are positioned and which dimension is used for scrolling
153
147
  */
154
- horizontal?: boolean;
148
+ horizontal: boolean;
155
149
  /**
156
150
  * Maximum number of columns in a grid layout
157
151
  * Controls how many items can be placed side by side
158
152
  */
159
- maxColumns?: number;
153
+ maxColumns: number;
160
154
  /**
161
155
  * When true, attempts to optimize item placement for better space utilization
162
156
  * May affect the ordering of items to minimize empty space
163
157
  */
164
- optimizeItemArrangement?: boolean;
158
+ optimizeItemArrangement: boolean;
165
159
  /**
166
160
  * Callback to manually override layout properties for specific items
167
161
  * Allows custom control over span and size for individual items
168
162
  */
169
- overrideItemLayout?: (index: number, layout: SpanSizeInfo) => void;
163
+ overrideItemLayout: (index: number, layout: SpanSizeInfo) => void;
170
164
  /**
171
165
  * Function to determine the type of an item at a specific index
172
166
  * Used for size estimation and optimization based on item types
173
167
  */
174
- getItemType?: (index: number) => string | number;
168
+ getItemType: (index: number) => string;
175
169
  }
176
170
  /**
177
171
  * Information about an item's layout including its index and dimensions
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,7 @@ var RVLayoutManager = /** @class */ (function () {
23
23
  this.maxItemsToProcess = 250; // TODO: make this dynamic
24
24
  this.heightAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(5, 200);
25
25
  this.widthAverageWindow = new AverageWindow_1.MultiTypeAverageWindow(5, 200);
26
- this._getItemType = params.getItemType;
26
+ this.getItemType = params.getItemType;
27
27
  this.overrideItemLayout = params.overrideItemLayout;
28
28
  this.layouts = (_a = previousLayoutManager === null || previousLayoutManager === void 0 ? void 0 : previousLayoutManager.layouts) !== null && _a !== void 0 ? _a : [];
29
29
  if (previousLayoutManager) {
@@ -35,15 +35,6 @@ var RVLayoutManager = /** @class */ (function () {
35
35
  this.maxColumns = (_b = params.maxColumns) !== null && _b !== void 0 ? _b : 1;
36
36
  }
37
37
  }
38
- /**
39
- * Gets the type of an item at the given index.
40
- * @param index Index of the item
41
- * @returns Item type or "default" if not specified
42
- */
43
- RVLayoutManager.prototype.getItemType = function (index) {
44
- var _a, _b;
45
- return (_b = (_a = this._getItemType) === null || _a === void 0 ? void 0 : _a.call(this, index)) !== null && _b !== void 0 ? _b : "default";
46
- };
47
38
  /**
48
39
  * Gets the estimated width for an item based on its type.
49
40
  * @param index Index of the item
@@ -77,8 +68,8 @@ var RVLayoutManager = /** @class */ (function () {
77
68
  /**
78
69
  * Gets indices of items currently visible in the viewport.
79
70
  * Uses binary search for efficient lookup.
80
- * @param unboundDimensionStart Start position of viewport
81
- * @param unboundDimensionEnd End position of viewport
71
+ * @param unboundDimensionStart Start position of viewport (start X or start Y)
72
+ * @param unboundDimensionEnd End position of viewport (end X or end Y)
82
73
  * @returns ConsecutiveNumbers containing visible indices
83
74
  */
84
75
  RVLayoutManager.prototype.getVisibleLayouts = function (unboundDimensionStart, unboundDimensionEnd) {
@@ -194,9 +185,8 @@ var RVLayoutManager = /** @class */ (function () {
194
185
  * @returns SpanSizeInfo for the item
195
186
  */
196
187
  RVLayoutManager.prototype.getSpanSizeInfo = function (index) {
197
- var _a;
198
188
  this.spanSizeInfo.span = undefined;
199
- (_a = this.overrideItemLayout) === null || _a === void 0 ? void 0 : _a.call(this, index, this.spanSizeInfo);
189
+ this.overrideItemLayout(index, this.spanSizeInfo);
200
190
  return this.spanSizeInfo;
201
191
  };
202
192
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"LayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":";AAAA,kDAAkD;;;;AAElD,2DAAmE;AACnE,oEAAmE;AACnE,8DAGmC;AACnC,wDAA+D;AAE/D;;;;GAIG;AACH;IA6BE,yBAAY,MAAoB,EAAE,qBAAuC;;QAtBzE,6CAA6C;QACnC,iBAAY,GAAiB,EAAE,CAAC;QAS1C,wDAAwD;QACjD,oBAAe,GAAG,KAAK,CAAC;QAQ/B,iEAAiE;QACzD,sBAAiB,GAAG,GAAG,CAAC,CAAC,0BAA0B;QAGzD,IAAI,CAAC,mBAAmB,GAAG,IAAI,sCAAsB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,kBAAkB,GAAG,IAAI,sCAAsB,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;QACpD,IAAI,CAAC,OAAO,GAAG,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,OAAO,mCAAI,EAAE,CAAC;QACpD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;YACpC,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,qCAAW,GAAnB,UAAoB,KAAa;;QAC/B,OAAO,MAAA,MAAA,IAAI,CAAC,YAAY,qDAAG,KAAK,CAAC,mCAAI,SAAS,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACO,2CAAiB,GAA3B,UAA4B,KAAa;QACvC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;OAIG;IACO,4CAAkB,GAA5B,UAA6B,KAAa;QACxC,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAaD;;;OAGG;IACH,sCAAY,GAAZ;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,wCAAc,GAAd;QACE,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACH,2CAAiB,GAAjB,UACE,qBAA6B,EAC7B,mBAA2B;QAE3B,+BAA+B;QAC/B,IAAM,iBAAiB,GAAG,IAAA,wCAAqB,EAC7C,IAAI,CAAC,OAAO,EACZ,qBAAqB,EACrB,IAAI,CAAC,UAAU,CAChB,CAAC;QAEF,8BAA8B;QAC9B,IAAM,gBAAgB,GAAG,IAAA,uCAAoB,EAC3C,IAAI,CAAC,OAAO,EACZ,mBAAmB,EACnB,IAAI,CAAC,UAAU,CAChB,CAAC;QAEF,mCAAmC;QACnC,IAAI,iBAAiB,KAAK,CAAC,CAAC,IAAI,gBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,IAAI,uCAAkB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,uCAAkB,CAAC,KAAK,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,sCAAY,GAAZ,UAAa,OAAiB;;QAC5B,mCAAmC;QACnC,OAAO,CAAC,IAAI,CAAC,UAAC,IAAI,EAAE,IAAI,IAAK,OAAA,IAAI,GAAG,IAAI,EAAX,CAAW,CAAC,CAAC;;YAE1C,iCAAiC;YACjC,KAAoB,IAAA,YAAA,iBAAA,OAAO,CAAA,gCAAA,qDAAE,CAAC;gBAAzB,IAAM,KAAK,oBAAA;gBACd,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;;;;;;;;;QACD,IAAM,UAAU,GAAG,IAAI,CAAC,GAAG,OAAR,IAAI,2CAAQ,OAAO,UAAC,CAAC;QACxC,mFAAmF;QACnF,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,EACrC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CACtC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,sCAAY,GAAZ,UAAa,UAA0B,EAAE,cAAsB;;QAC7D,IAAI,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC;QAEzC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;YACrC,iBAAiB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,4DAA4D;QACtG,CAAC;QACD,yBAAyB;QACzB,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAC1B,iBAAiB,EACjB,IAAI,CAAC,oCAAoC,CAAC,UAAU,CAAC,CACtD,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YAC/D,IAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACvC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,cAAc,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAC1B,iBAAiB,EACjB,MAAA,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,cAAc,CAAC,mCAAI,iBAAiB,CACxE,CAAC;QACF,4BAA4B;QAC5B,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAC1B,iBAAiB,EACjB,IAAI,CAAC,oCAAoC,CAAC,UAAU,CAAC,CACtD,CAAC;QACF,IAAI,iBAAiB,IAAI,CAAC,IAAI,iBAAiB,GAAG,cAAc,EAAE,CAAC;YACjE,IAAI,CAAC,gBAAgB,CACnB,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAC5C,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAC7C,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,mCAAS,GAAT,UAAU,KAAa;QACrB,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,8CAA8C;YAC9C,MAAM,GAAG;gBACP,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;gBACJ,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;aACV,CAAC;YACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;QAC/B,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACxD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,4CAAkB,GAAlB,UAAmB,MAAoB;;QACrC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,UAAU,CAAC;QACvD,IAAI,CAAC,uBAAuB;YAC1B,MAAA,MAAM,CAAC,uBAAuB,mCAAI,IAAI,CAAC,uBAAuB,CAAC;IACnE,CAAC;IAED,wCAAc,GAAd;QACE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAqBD;;;;OAIG;IACO,yCAAe,GAAzB,UAA0B,KAAa;;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,SAAS,CAAC;QACnC,MAAA,IAAI,CAAC,kBAAkB,qDAAG,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,8CAAoB,GAA5B,UAA6B,UAAkB;QAC7C,OAAO,IAAI,CAAC,GAAG,CACb,UAAU,GAAG,IAAI,CAAC,iBAAiB,EACnC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,8CAAoB,GAA5B,UAA6B,UAAkB;QAC7C,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACK,8DAAoC,GAA5C,UACE,UAA0B;;QAE1B,IAAI,iBAAiB,GAAG,MAAM,CAAC,SAAS,CAAC;;YACzC,KAAmB,IAAA,eAAA,iBAAA,UAAU,CAAA,sCAAA,8DAAE,CAAC;gBAA3B,IAAM,IAAI,uBAAA;gBACL,IAAA,KAAK,GAAiB,IAAI,MAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAU;gBACnC,IAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACzC,IACE,CAAC,YAAY;oBACb,CAAC,YAAY,CAAC,gBAAgB;oBAC9B,CAAC,YAAY,CAAC,eAAe;oBAC7B,IAAA,qCAAqB,EAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC;oBAC7D,IAAA,qCAAqB,EAAC,YAAY,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAC3D,CAAC;oBACD,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;gBACD,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAC/B,UAAU,CAAC,MAAM,EACjB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CACxB,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAC9B,UAAU,CAAC,KAAK,EAChB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CACxB,CAAC;YACJ,CAAC;;;;;;;;;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IACH,sBAAC;AAAD,CAAC,AA/TD,IA+TC;AA/TqB,0CAAe"}
1
+ {"version":3,"file":"LayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/LayoutManager.ts"],"names":[],"mappings":"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"}
@@ -11,13 +11,13 @@ var LayoutManager_1 = require("./LayoutManager");
11
11
  var RVMasonryLayoutManagerImpl = /** @class */ (function (_super) {
12
12
  tslib_1.__extends(RVMasonryLayoutManagerImpl, _super);
13
13
  function RVMasonryLayoutManagerImpl(params, previousLayoutManager) {
14
- var _a;
14
+ var _a, _b;
15
15
  var _this = _super.call(this, params, previousLayoutManager) || this;
16
16
  /** Current column index for sequential placement */
17
17
  _this.currentColumn = 0;
18
18
  _this.boundedSize = params.windowSize.width;
19
19
  _this.optimizeItemArrangement = (_a = params.optimizeItemArrangement) !== null && _a !== void 0 ? _a : false;
20
- _this.columnHeights = Array(_this.maxColumns).fill(0);
20
+ _this.columnHeights = (_b = _this.columnHeights) !== null && _b !== void 0 ? _b : Array(_this.maxColumns).fill(0);
21
21
  return _this;
22
22
  }
23
23
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MasonryLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/MasonryLayoutManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MasonryLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/MasonryLayoutManager.ts"],"names":[],"mappings":"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"}
@@ -5,34 +5,6 @@ interface Layout {
5
5
  width: number;
6
6
  height: number;
7
7
  }
8
- /**
9
- * Measures the layout of a view relative to itselft.
10
- * Using measure wasn't returing accurate values but this workaround does.
11
- * Returns the x, y coordinates and dimensions of the view.
12
- *
13
- * @param view - The React Native View component to measure
14
- * @returns An object containing x, y, width, and height measurements
15
- */
16
- export declare function measureLayout(view: View, oldLayout: Layout | undefined): {
17
- x: number;
18
- y: number;
19
- width: number;
20
- height: number;
21
- };
22
- /**
23
- * Measures the layout of a view relative to another view.
24
- * Useful for measuring positions relative to a specific reference view.
25
- *
26
- * @param view - The React Native View component to measure
27
- * @param relativeTo - The reference view to measure against
28
- * @returns An object containing x, y, width, and height measurements
29
- */
30
- export declare function measureLayoutRelative(view: View, relativeTo: View, oldLayout: Layout | undefined): {
31
- x: number;
32
- y: number;
33
- width: number;
34
- height: number;
35
- };
36
8
  /**
37
9
  * Checks if two dimension values are not equal, with a small tolerance.
38
10
  * Used to handle floating-point precision issues in layout measurements.
@@ -67,7 +39,7 @@ export declare function measureParentSize(view: View): Layout;
67
39
  * @param parentView
68
40
  * @returns
69
41
  */
70
- export declare function measureChildContainerLayout(childContainerView: View, parentView: View): Layout;
42
+ export declare function measureFirstChildLayout(childContainerView: View, parentView: View): Layout;
71
43
  /**
72
44
  * Specific method for easier mocking
73
45
  * Measures the layout of items of RecyclerView
@@ -1 +1 @@
1
- {"version":3,"file":"measureLayout.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS;;;;;EAMtE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,IAAI,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS;;;;;EAmB9B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAO1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,IAAI,EACxB,UAAU,EAAE,IAAI,GACf,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAER"}
1
+ {"version":3,"file":"measureLayout.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,IAAI,EAAE,MAAM,cAAc,CAAC;AAEhD,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAkDD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAO1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,IAAI,EACxB,UAAU,EAAE,IAAI,GACf,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAER"}
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.measureLayout = measureLayout;
4
- exports.measureLayoutRelative = measureLayoutRelative;
5
3
  exports.areDimensionsNotEqual = areDimensionsNotEqual;
6
4
  exports.areDimensionsEqual = areDimensionsEqual;
7
5
  exports.roundOffPixel = roundOffPixel;
8
6
  exports.measureParentSize = measureParentSize;
9
- exports.measureChildContainerLayout = measureChildContainerLayout;
7
+ exports.measureFirstChildLayout = measureFirstChildLayout;
10
8
  exports.measureItemLayout = measureItemLayout;
11
9
  var react_native_1 = require("react-native");
12
10
  /**
@@ -93,7 +91,7 @@ function measureParentSize(view) {
93
91
  * @param parentView
94
92
  * @returns
95
93
  */
96
- function measureChildContainerLayout(childContainerView, parentView) {
94
+ function measureFirstChildLayout(childContainerView, parentView) {
97
95
  return measureLayoutRelative(childContainerView, parentView, undefined);
98
96
  }
99
97
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"measureLayout.js","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":";;AAiBA,sCAMC;AAUD,sDAsBC;AAUD,sDAEC;AAUD,gDAOC;AAED,sCAEC;AASD,8CAEC;AASD,kEAKC;AASD,8CAKC;AA/HD,6CAAgD;AAShD;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAC,IAAU,EAAE,SAA6B;IACrE,wDAAwD;IACxD,8CAA8C;IAC9C,gDAAgD;IAChD,iBAAiB;IACjB,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CACnC,IAAU,EACV,UAAgB,EAChB,SAA6B;IAE7B,IAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;QACjD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAClE,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC/D,OAAO,CACL,IAAI,CAAC,GAAG,CACN,yBAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC;QAC1C,yBAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAC/C,IAAI,CAAC,CACP,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,yBAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,2BAA2B,CACzC,kBAAwB,EACxB,UAAgB;IAEhB,OAAO,qBAAqB,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,IAAU,EACV,SAA6B;IAE7B,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"measureLayout.js","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.ts"],"names":[],"mappings":";;AAiEA,sDAEC;AAUD,gDAOC;AAED,sCAEC;AASD,8CAEC;AASD,0DAKC;AASD,8CAKC;AA/HD,6CAAgD;AAShD;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,IAAU,EAAE,SAA6B;IAC9D,wDAAwD;IACxD,8CAA8C;IAC9C,gDAAgD;IAChD,iBAAiB;IACjB,OAAO,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAC5B,IAAU,EACV,UAAgB,EAChB,SAA6B;IAE7B,IAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACnD,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,UAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM;QACjD,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;QACb,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAClE,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC/D,OAAO,CACL,IAAI,CAAC,GAAG,CACN,yBAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC;QAC1C,yBAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAC/C,IAAI,CAAC,CACP,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,yBAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,IAAU;IAC1C,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,kBAAwB,EACxB,UAAgB;IAEhB,OAAO,qBAAqB,CAAC,kBAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAC/B,IAAU,EACV,SAA6B;IAE7B,OAAO,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACxC,CAAC"}
@@ -0,0 +1,29 @@
1
+ interface Layout {
2
+ x: number;
3
+ y: number;
4
+ width: number;
5
+ height: number;
6
+ }
7
+ /**
8
+ * Checks if two dimension values are not equal, with a small tolerance.
9
+ */
10
+ export declare function areDimensionsNotEqual(value1: number, value2: number): boolean;
11
+ /**
12
+ * Checks if two dimension values are equal, with a small tolerance.
13
+ */
14
+ export declare function areDimensionsEqual(value1: number, value2: number): boolean;
15
+ export declare function roundOffPixel(value: number): number;
16
+ /**
17
+ * Measures the layout of parent of RecyclerView
18
+ */
19
+ export declare function measureParentSize(view: Element): Layout;
20
+ /**
21
+ * Measures the layout of child container of RecyclerView
22
+ */
23
+ export declare function measureFirstChildLayout(childContainerView: Element, parentView: Element): Layout;
24
+ /**
25
+ * Measures the layout of items of RecyclerView
26
+ */
27
+ export declare function measureItemLayout(item: Element, oldLayout: Layout | undefined): Layout;
28
+ export {};
29
+ //# sourceMappingURL=measureLayout.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureLayout.web.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.web.ts"],"names":[],"mappings":"AAAA,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAuBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1E;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,kBAAkB,EAAE,OAAO,EAC3B,UAAU,EAAE,OAAO,GAClB,MAAM,CAaR;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAAG,SAAS,GAC5B,MAAM,CAkBR"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.areDimensionsNotEqual = areDimensionsNotEqual;
4
+ exports.areDimensionsEqual = areDimensionsEqual;
5
+ exports.roundOffPixel = roundOffPixel;
6
+ exports.measureParentSize = measureParentSize;
7
+ exports.measureFirstChildLayout = measureFirstChildLayout;
8
+ exports.measureItemLayout = measureItemLayout;
9
+ /**
10
+ * Gets scroll offsets from up to 3 parent elements
11
+ */
12
+ function getScrollOffsets(element, stopAt) {
13
+ var _a, _b;
14
+ var scrollX = 0;
15
+ var scrollY = 0;
16
+ var currentElement = element;
17
+ var depth = 0;
18
+ // Only check up to 3 parent elements
19
+ while (currentElement && currentElement !== stopAt && depth < 3) {
20
+ var htmlElement = currentElement;
21
+ scrollX += (_a = htmlElement.scrollLeft) !== null && _a !== void 0 ? _a : 0;
22
+ scrollY += (_b = htmlElement.scrollTop) !== null && _b !== void 0 ? _b : 0;
23
+ currentElement = currentElement.parentElement;
24
+ depth++;
25
+ }
26
+ return { scrollX: scrollX, scrollY: scrollY };
27
+ }
28
+ /**
29
+ * Checks if two dimension values are not equal, with a small tolerance.
30
+ */
31
+ function areDimensionsNotEqual(value1, value2) {
32
+ return !areDimensionsEqual(value1, value2);
33
+ }
34
+ /**
35
+ * Checks if two dimension values are equal, with a small tolerance.
36
+ */
37
+ function areDimensionsEqual(value1, value2) {
38
+ return Math.abs(value1 - value2) <= 1;
39
+ }
40
+ function roundOffPixel(value) {
41
+ return value;
42
+ }
43
+ /**
44
+ * Measures the layout of parent of RecyclerView
45
+ */
46
+ function measureParentSize(view) {
47
+ return {
48
+ x: 0,
49
+ y: 0,
50
+ width: view.clientWidth,
51
+ height: view.clientHeight,
52
+ };
53
+ }
54
+ /**
55
+ * Measures the layout of child container of RecyclerView
56
+ */
57
+ function measureFirstChildLayout(childContainerView, parentView) {
58
+ var childRect = childContainerView.getBoundingClientRect();
59
+ var parentRect = parentView.getBoundingClientRect();
60
+ // Get scroll offsets for child container (max 3 parents)
61
+ var scrollOffsets = getScrollOffsets(childContainerView, parentView);
62
+ return {
63
+ x: childRect.left - parentRect.left + scrollOffsets.scrollX,
64
+ y: childRect.top - parentRect.top + scrollOffsets.scrollY,
65
+ width: roundOffPixel(childRect.width),
66
+ height: roundOffPixel(childRect.height),
67
+ };
68
+ }
69
+ /**
70
+ * Measures the layout of items of RecyclerView
71
+ */
72
+ function measureItemLayout(item, oldLayout) {
73
+ var layout = {
74
+ x: 0,
75
+ y: 0,
76
+ width: item.clientWidth,
77
+ height: item.clientHeight,
78
+ };
79
+ if (oldLayout) {
80
+ if (areDimensionsEqual(layout.width, oldLayout.width)) {
81
+ layout.width = oldLayout.width;
82
+ }
83
+ if (areDimensionsEqual(layout.height, oldLayout.height)) {
84
+ layout.height = oldLayout.height;
85
+ }
86
+ }
87
+ return layout;
88
+ }
89
+ //# sourceMappingURL=measureLayout.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"measureLayout.web.js","sourceRoot":"","sources":["../../../src/recyclerview/utils/measureLayout.web.ts"],"names":[],"mappings":";;AA+BA,sDAEC;AAKD,gDAEC;AAED,sCAEC;AAKD,8CAOC;AAKD,0DAgBC;AAKD,8CAqBC;AAhGD;;GAEG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,MAAe;;IACzD,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,cAAc,GAAmB,OAAO,CAAC;IAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,qCAAqC;IACrC,OAAO,cAAc,IAAI,cAAc,KAAK,MAAM,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAChE,IAAM,WAAW,GAAG,cAA6B,CAAC;QAClD,OAAO,IAAI,MAAA,WAAW,CAAC,UAAU,mCAAI,CAAC,CAAC;QACvC,OAAO,IAAI,MAAA,WAAW,CAAC,SAAS,mCAAI,CAAC,CAAC;QACtC,cAAc,GAAG,cAAc,CAAC,aAAa,CAAC;QAC9C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,EAAE,OAAO,SAAA,EAAE,OAAO,SAAA,EAAE,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,MAAc,EAAE,MAAc;IAClE,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,MAAc,EAAE,MAAc;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAa;IAC7C,OAAO;QACL,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,KAAK,EAAE,IAAI,CAAC,WAAW;QACvB,MAAM,EAAE,IAAI,CAAC,YAAY;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,uBAAuB,CACrC,kBAA2B,EAC3B,UAAmB;IAEnB,IAAM,SAAS,GAAG,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;IAC7D,IAAM,UAAU,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;IAEtD,yDAAyD;IACzD,IAAM,aAAa,GAAG,gBAAgB,CAAC,kBAAkB,EAAE,UAAU,CAAC,CAAC;IAEvE,OAAO;QACL,CAAC,EAAE,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,aAAa,CAAC,OAAO;QAC3D,CAAC,EAAE,SAAS,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,GAAG,aAAa,CAAC,OAAO;QACzD,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;QACrC,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;KACxC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB,CAC/B,IAAa,EACb,SAA6B;IAE7B,IAAM,MAAM,GAAG;QACb,CAAC,EAAE,CAAC;QACJ,CAAC,EAAE,CAAC;QACJ,KAAK,EAAE,IAAI,CAAC,WAAW;QACvB,MAAM,EAAE,IAAI,CAAC,YAAY;KAC1B,CAAC;IAEF,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QACjC,CAAC;QACD,IAAI,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}