@shopify/flash-list 2.2.2 → 2.3.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 (98) hide show
  1. package/dist/FlashListProps.d.ts +44 -8
  2. package/dist/FlashListProps.d.ts.map +1 -1
  3. package/dist/native/config/PlatformHelper.android.d.ts +10 -0
  4. package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
  5. package/dist/native/config/PlatformHelper.android.js +7 -0
  6. package/dist/native/config/PlatformHelper.android.js.map +1 -1
  7. package/dist/native/config/PlatformHelper.d.ts +10 -0
  8. package/dist/native/config/PlatformHelper.d.ts.map +1 -1
  9. package/dist/native/config/PlatformHelper.ios.d.ts +10 -0
  10. package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
  11. package/dist/native/config/PlatformHelper.ios.js +2 -0
  12. package/dist/native/config/PlatformHelper.ios.js.map +1 -1
  13. package/dist/native/config/PlatformHelper.js +2 -0
  14. package/dist/native/config/PlatformHelper.js.map +1 -1
  15. package/dist/native/config/PlatformHelper.web.d.ts +10 -0
  16. package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
  17. package/dist/native/config/PlatformHelper.web.js +2 -0
  18. package/dist/native/config/PlatformHelper.web.js.map +1 -1
  19. package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
  20. package/dist/recyclerview/RecyclerView.js +25 -15
  21. package/dist/recyclerview/RecyclerView.js.map +1 -1
  22. package/dist/recyclerview/RecyclerViewManager.d.ts +2 -0
  23. package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
  24. package/dist/recyclerview/RecyclerViewManager.js +20 -15
  25. package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
  26. package/dist/recyclerview/ViewHolder.d.ts +2 -0
  27. package/dist/recyclerview/ViewHolder.d.ts.map +1 -1
  28. package/dist/recyclerview/ViewHolder.js +8 -2
  29. package/dist/recyclerview/ViewHolder.js.map +1 -1
  30. package/dist/recyclerview/ViewHolderCollection.d.ts +4 -0
  31. package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
  32. package/dist/recyclerview/ViewHolderCollection.js +6 -3
  33. package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
  34. package/dist/recyclerview/components/StickyHeaders.d.ts +3 -1
  35. package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
  36. package/dist/recyclerview/components/StickyHeaders.js +3 -2
  37. package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
  38. package/dist/recyclerview/hooks/useBoundDetection.js +1 -1
  39. package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
  40. package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
  41. package/dist/recyclerview/hooks/useRecyclerViewController.js +2 -3
  42. package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
  43. package/dist/recyclerview/hooks/useSecondaryProps.d.ts +2 -2
  44. package/dist/recyclerview/hooks/useSecondaryProps.d.ts.map +1 -1
  45. package/dist/recyclerview/hooks/useSecondaryProps.js +36 -16
  46. package/dist/recyclerview/hooks/useSecondaryProps.js.map +1 -1
  47. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +5 -0
  48. package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -1
  49. package/dist/recyclerview/layout-managers/GridLayoutManager.js +12 -0
  50. package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
  51. package/dist/recyclerview/layout-managers/LayoutManager.d.ts +11 -0
  52. package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
  53. package/dist/recyclerview/layout-managers/LayoutManager.js +13 -0
  54. package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
  55. package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts.map +1 -1
  56. package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
  57. package/dist/recyclerview/utils/componentUtils.d.ts +12 -3
  58. package/dist/recyclerview/utils/componentUtils.d.ts.map +1 -1
  59. package/dist/recyclerview/utils/componentUtils.js +16 -3
  60. package/dist/recyclerview/utils/componentUtils.js.map +1 -1
  61. package/dist/recyclerview/utils/getInvertedTransformStyle.d.ts +10 -0
  62. package/dist/recyclerview/utils/getInvertedTransformStyle.d.ts.map +1 -0
  63. package/dist/recyclerview/utils/getInvertedTransformStyle.js +7 -0
  64. package/dist/recyclerview/utils/getInvertedTransformStyle.js.map +1 -0
  65. package/dist/recyclerview/utils/measureLayout.d.ts +9 -5
  66. package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -1
  67. package/dist/recyclerview/utils/measureLayout.js +6 -5
  68. package/dist/recyclerview/utils/measureLayout.js.map +1 -1
  69. package/dist/recyclerview/utils/measureLayout.web.d.ts +6 -2
  70. package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -1
  71. package/dist/recyclerview/utils/measureLayout.web.js +1 -3
  72. package/dist/recyclerview/utils/measureLayout.web.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/dist/utils/AverageWindow.d.ts.map +1 -1
  75. package/dist/utils/AverageWindow.js +2 -3
  76. package/dist/utils/AverageWindow.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/FlashListProps.ts +53 -3
  79. package/src/native/config/PlatformHelper.android.ts +7 -0
  80. package/src/native/config/PlatformHelper.ios.ts +2 -0
  81. package/src/native/config/PlatformHelper.ts +2 -0
  82. package/src/native/config/PlatformHelper.web.ts +2 -0
  83. package/src/recyclerview/RecyclerView.tsx +26 -11
  84. package/src/recyclerview/RecyclerViewManager.ts +21 -16
  85. package/src/recyclerview/ViewHolder.tsx +11 -1
  86. package/src/recyclerview/ViewHolderCollection.tsx +14 -3
  87. package/src/recyclerview/components/StickyHeaders.tsx +5 -0
  88. package/src/recyclerview/hooks/useBoundDetection.ts +1 -1
  89. package/src/recyclerview/hooks/useRecyclerViewController.tsx +2 -3
  90. package/src/recyclerview/hooks/useSecondaryProps.tsx +48 -18
  91. package/src/recyclerview/layout-managers/GridLayoutManager.ts +13 -0
  92. package/src/recyclerview/layout-managers/LayoutManager.ts +14 -0
  93. package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +4 -0
  94. package/src/recyclerview/utils/componentUtils.ts +27 -5
  95. package/src/recyclerview/utils/getInvertedTransformStyle.ts +7 -0
  96. package/src/recyclerview/utils/measureLayout.ts +12 -6
  97. package/src/recyclerview/utils/measureLayout.web.ts +7 -4
  98. package/src/utils/AverageWindow.ts +4 -2
@@ -33,9 +33,11 @@ export class AverageWindow {
33
33
 
34
34
  this.inputValues[target] = value;
35
35
 
36
- this.currentAverage =
36
+ this.currentAverage = Math.max(
37
+ 0,
37
38
  this.currentAverage * (this.currentCount / newCount) +
38
- (value - (oldValue ?? 0)) / newCount;
39
+ (value - (oldValue ?? 0)) / newCount
40
+ );
39
41
 
40
42
  this.currentCount = newCount;
41
43
  }