@shopify/flash-list 2.0.0-rc.1 → 2.0.0-rc.10

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 (104) hide show
  1. package/README.md +1 -1
  2. package/android/src/main/kotlin/com/shopify/reactnative/flash_list/BlankAreaEvent.kt +2 -2
  3. package/dist/FlashListProps.d.ts +15 -2
  4. package/dist/FlashListProps.d.ts.map +1 -1
  5. package/dist/FlashListProps.js.map +1 -1
  6. package/dist/__tests__/RecyclerView.test.js +12 -3
  7. package/dist/__tests__/RecyclerView.test.js.map +1 -1
  8. package/dist/__tests__/RenderStackManager.test.js +1 -2
  9. package/dist/__tests__/RenderStackManager.test.js.map +1 -1
  10. package/dist/benchmark/useBenchmark.js +0 -25
  11. package/dist/benchmark/useBenchmark.js.map +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +2 -2
  15. package/dist/index.js.map +1 -1
  16. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  17. package/dist/recyclerview/RecyclerView.js +46 -17
  18. package/dist/recyclerview/RecyclerView.js.map +1 -1
  19. package/dist/recyclerview/RecyclerViewContextProvider.d.ts +37 -3
  20. package/dist/recyclerview/RecyclerViewContextProvider.d.ts.map +1 -1
  21. package/dist/recyclerview/RecyclerViewContextProvider.js +4 -0
  22. package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
  23. package/dist/recyclerview/RecyclerViewManager.d.ts +4 -1
  24. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  25. package/dist/recyclerview/RecyclerViewManager.js +17 -3
  26. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  27. package/dist/recyclerview/RenderStackManager.d.ts +1 -0
  28. package/dist/recyclerview/RenderStackManager.d.ts.map +1 -1
  29. package/dist/recyclerview/RenderStackManager.js +26 -7
  30. package/dist/recyclerview/RenderStackManager.js.map +1 -1
  31. package/dist/recyclerview/ViewHolderCollection.d.ts +6 -2
  32. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
  33. package/dist/recyclerview/ViewHolderCollection.js +3 -1
  34. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  35. package/dist/recyclerview/components/StickyHeaders.js +2 -2
  36. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  37. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts +1 -0
  38. package/dist/recyclerview/helpers/RenderTimeTracker.d.ts.map +1 -1
  39. package/dist/recyclerview/helpers/RenderTimeTracker.js +3 -0
  40. package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -1
  41. package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -1
  42. package/dist/recyclerview/hooks/useBoundDetection.js +39 -8
  43. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  44. package/dist/recyclerview/hooks/useLayoutState.d.ts +3 -1
  45. package/dist/recyclerview/hooks/useLayoutState.d.ts.map +1 -1
  46. package/dist/recyclerview/hooks/useLayoutState.js +5 -3
  47. package/dist/recyclerview/hooks/useLayoutState.js.map +1 -1
  48. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts +2 -1
  49. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  50. package/dist/recyclerview/hooks/useRecyclerViewController.js +253 -193
  51. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  52. package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -1
  53. package/dist/recyclerview/hooks/useRecyclerViewManager.js +2 -1
  54. package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
  55. package/dist/recyclerview/hooks/useRecyclingState.d.ts +4 -2
  56. package/dist/recyclerview/hooks/useRecyclingState.d.ts.map +1 -1
  57. package/dist/recyclerview/hooks/useRecyclingState.js +2 -2
  58. package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -1
  59. package/dist/recyclerview/hooks/useUnmountFlag.d.ts.map +1 -1
  60. package/dist/recyclerview/hooks/useUnmountFlag.js +1 -0
  61. package/dist/recyclerview/hooks/useUnmountFlag.js.map +1 -1
  62. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +14 -6
  63. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -1
  64. package/dist/recyclerview/layout-managers/GridLayoutManager.js +40 -23
  65. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  66. package/dist/recyclerview/layout-managers/LayoutManager.d.ts +26 -6
  67. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  68. package/dist/recyclerview/layout-managers/LayoutManager.js +89 -15
  69. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  70. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts +9 -1
  71. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts.map +1 -1
  72. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +28 -12
  73. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  74. package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -1
  75. package/dist/recyclerview/utils/measureLayout.web.js +1 -3
  76. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -1
  77. package/dist/tsconfig.tsbuildinfo +1 -1
  78. package/dist/viewability/ViewabilityManager.d.ts.map +1 -1
  79. package/dist/viewability/ViewabilityManager.js +10 -3
  80. package/dist/viewability/ViewabilityManager.js.map +1 -1
  81. package/package.json +1 -1
  82. package/src/FlashListProps.ts +21 -2
  83. package/src/__tests__/RecyclerView.test.tsx +26 -5
  84. package/src/__tests__/RenderStackManager.test.ts +1 -2
  85. package/src/benchmark/useBenchmark.ts +0 -37
  86. package/src/index.ts +1 -1
  87. package/src/recyclerview/RecyclerView.tsx +66 -32
  88. package/src/recyclerview/RecyclerViewContextProvider.ts +42 -3
  89. package/src/recyclerview/RecyclerViewManager.ts +16 -4
  90. package/src/recyclerview/RenderStackManager.ts +32 -6
  91. package/src/recyclerview/ViewHolderCollection.tsx +9 -2
  92. package/src/recyclerview/components/StickyHeaders.tsx +2 -2
  93. package/src/recyclerview/helpers/RenderTimeTracker.ts +4 -0
  94. package/src/recyclerview/hooks/useBoundDetection.ts +49 -7
  95. package/src/recyclerview/hooks/useLayoutState.ts +15 -6
  96. package/src/recyclerview/hooks/useRecyclerViewController.tsx +259 -172
  97. package/src/recyclerview/hooks/useRecyclerViewManager.ts +3 -1
  98. package/src/recyclerview/hooks/useRecyclingState.ts +11 -7
  99. package/src/recyclerview/hooks/useUnmountFlag.ts +1 -0
  100. package/src/recyclerview/layout-managers/GridLayoutManager.ts +44 -23
  101. package/src/recyclerview/layout-managers/LayoutManager.ts +98 -20
  102. package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +30 -8
  103. package/src/recyclerview/utils/measureLayout.web.ts +1 -3
  104. package/src/viewability/ViewabilityManager.ts +10 -6
@@ -1 +1 @@
1
- {"version":3,"file":"useBoundDetection.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useBoundDetection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useBoundDetection.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useBoundDetection.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ export type LayoutStateSetter<T> = (newValue: T | ((prevValue: T) => T), skipParentLayout?: boolean) => void;
2
+ export type LayoutStateInitialValue<T> = T | (() => T);
1
3
  /**
2
4
  * Custom hook that combines state management with RecyclerView layout updates.
3
5
  * This hook provides a way to manage state that affects the layout of the RecyclerView,
@@ -8,5 +10,5 @@
8
10
  * - The current state value
9
11
  * - A setter function that updates the state and triggers a layout recalculation
10
12
  */
11
- export declare function useLayoutState<T>(initialState: T | (() => T)): [T, (newValue: T | ((prevValue: T) => T)) => void];
13
+ export declare function useLayoutState<T>(initialState: LayoutStateInitialValue<T>): [T, LayoutStateSetter<T>];
12
14
  //# sourceMappingURL=useLayoutState.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLayoutState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,YAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAC1B,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CA6BpD"}
1
+ {"version":3,"file":"useLayoutState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CACjC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACnC,gBAAgB,CAAC,EAAE,OAAO,KACvB,IAAI,CAAC;AAEV,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,YAAY,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACvC,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CA+B3B"}
@@ -27,15 +27,17 @@ function useLayoutState(initialState) {
27
27
  * @param newValue - Either a new state value or a function that receives the previous state
28
28
  * and returns the new state
29
29
  */
30
- var setLayoutState = (0, react_1.useCallback)(function (newValue) {
30
+ var setLayoutState = (0, react_1.useCallback)(function (newValue, skipParentLayout) {
31
31
  // Update the state using either the new value or the result of the updater function
32
32
  setState(function (prevValue) {
33
33
  return typeof newValue === "function"
34
34
  ? newValue(prevValue)
35
35
  : newValue;
36
36
  });
37
- // Trigger a layout recalculation in the RecyclerView
38
- recyclerViewContext === null || recyclerViewContext === void 0 ? void 0 : recyclerViewContext.layout();
37
+ if (!skipParentLayout) {
38
+ // Trigger a layout recalculation in the RecyclerView
39
+ recyclerViewContext === null || recyclerViewContext === void 0 ? void 0 : recyclerViewContext.layout();
40
+ }
39
41
  }, [recyclerViewContext]);
40
42
  return [state, setLayoutState];
41
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useLayoutState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":";;AAcA,wCA+BC;;AA7CD,+BAA8C;AAE9C,8EAAwE;AAExE;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,YAA2B;IAE3B,mDAAmD;IAC7C,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAI,YAAY,CAAC,IAAA,EAA5C,KAAK,QAAA,EAAE,QAAQ,QAA6B,CAAC;IACpD,qDAAqD;IACrD,IAAM,mBAAmB,GAAG,IAAA,oDAAsB,GAAE,CAAC;IAErD;;;;;;;OAOG;IACH,IAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,UAAC,QAAmC;QAClC,oFAAoF;QACpF,QAAQ,CAAC,UAAC,SAAS;YACjB,OAAA,OAAO,QAAQ,KAAK,UAAU;gBAC5B,CAAC,CAAE,QAAgC,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC,QAAQ;QAFZ,CAEY,CACb,CAAC;QACF,qDAAqD;QACrD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,EAAE,CAAC;IAChC,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"useLayoutState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useLayoutState.ts"],"names":[],"mappings":";;AAqBA,wCAiCC;;AAtDD,+BAA8C;AAE9C,8EAAwE;AASxE;;;;;;;;;GASG;AACH,SAAgB,cAAc,CAC5B,YAAwC;IAExC,mDAAmD;IAC7C,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAI,YAAY,CAAC,IAAA,EAA5C,KAAK,QAAA,EAAE,QAAQ,QAA6B,CAAC;IACpD,qDAAqD;IACrD,IAAM,mBAAmB,GAAG,IAAA,oDAAsB,GAAE,CAAC;IAErD;;;;;;;OAOG;IACH,IAAM,cAAc,GAAyB,IAAA,mBAAW,EACtD,UAAC,QAAQ,EAAE,gBAAgB;QACzB,oFAAoF;QACpF,QAAQ,CAAC,UAAC,SAAS;YACjB,OAAA,OAAO,QAAQ,KAAK,UAAU;gBAC5B,CAAC,CAAE,QAAgC,CAAC,SAAS,CAAC;gBAC9C,CAAC,CAAC,QAAQ;QAFZ,CAEY,CACb,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,qDAAqD;YACrD,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,EAAE,CAAC;QAChC,CAAC;IACH,CAAC,EACD,CAAC,mBAAmB,CAAC,CACtB,CAAC;IAEF,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACjC,CAAC"}
@@ -20,7 +20,8 @@ import { ScrollAnchorRef } from "../components/ScrollAnchor";
20
20
  * @param props - The RecyclerViewProps containing configuration
21
21
  */
22
22
  export declare function useRecyclerViewController<T>(recyclerViewManager: RecyclerViewManager<T>, ref: React.Ref<FlashListRef<T>>, scrollViewRef: RefObject<CompatScroller>, scrollAnchorRef: React.RefObject<ScrollAnchorRef>): {
23
- applyContentOffset: () => Promise<void>;
23
+ applyOffsetCorrection: () => void;
24
+ computeFirstVisibleIndexForOffsetCorrection: () => void;
24
25
  applyInitialScrollIndex: () => void;
25
26
  handlerMethods: FlashListRef<T>;
26
27
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useRecyclerViewController.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewController.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAGf,OAAO,EAKL,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC3C,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,EACxC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;;;;EA0elD"}
1
+ {"version":3,"file":"useRecyclerViewController.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewController.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAMV,MAAM,OAAO,CAAC;AAGf,OAAO,EAKL,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAC3C,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAC/B,aAAa,EAAE,SAAS,CAAC,cAAc,CAAC,EACxC,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC;;;;;EAikBlD"}