@react-native-ohos/flash-list 1.8.3-rc.5 → 2.1.1-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.
- package/LICENSE +1 -1
- package/README.OpenSource +1 -1
- package/dist/AnimatedFlashList.d.ts +4 -28
- package/dist/AnimatedFlashList.d.ts.map +1 -1
- package/dist/AnimatedFlashList.js +5 -30
- package/dist/AnimatedFlashList.js.map +1 -1
- package/dist/FlashList.d.ts +1 -179
- package/dist/FlashList.d.ts.map +1 -1
- package/dist/FlashList.js +1 -599
- package/dist/FlashList.js.map +1 -1
- package/dist/FlashListProps.d.ts +285 -278
- package/dist/FlashListProps.d.ts.map +1 -1
- package/dist/FlashListProps.js +5 -31
- package/dist/FlashListProps.js.map +1 -1
- package/dist/FlashListRef.d.ts +305 -0
- package/dist/FlashListRef.d.ts.map +1 -0
- package/dist/FlashListRef.js +2 -0
- package/dist/FlashListRef.js.map +1 -0
- package/dist/benchmark/AutoScrollHelper.d.ts +17 -40
- package/dist/benchmark/AutoScrollHelper.d.ts.map +1 -1
- package/dist/benchmark/AutoScrollHelper.js +59 -90
- package/dist/benchmark/AutoScrollHelper.js.map +1 -1
- package/dist/benchmark/JSFPSMonitor.d.ts +22 -45
- package/dist/benchmark/JSFPSMonitor.d.ts.map +1 -1
- package/dist/benchmark/JSFPSMonitor.js +59 -87
- package/dist/benchmark/JSFPSMonitor.js.map +1 -1
- package/dist/benchmark/roundToDecimalPlaces.d.ts +1 -24
- package/dist/benchmark/roundToDecimalPlaces.d.ts.map +1 -1
- package/dist/benchmark/roundToDecimalPlaces.js +4 -31
- package/dist/benchmark/roundToDecimalPlaces.js.map +1 -1
- package/dist/benchmark/useBenchmark.d.ts +40 -57
- package/dist/benchmark/useBenchmark.d.ts.map +1 -1
- package/dist/benchmark/useBenchmark.js +119 -189
- package/dist/benchmark/useBenchmark.js.map +1 -1
- package/dist/benchmark/useDataMultiplier.d.ts +8 -31
- package/dist/benchmark/useDataMultiplier.d.ts.map +1 -1
- package/dist/benchmark/useDataMultiplier.js +19 -47
- package/dist/benchmark/useDataMultiplier.js.map +1 -1
- package/dist/benchmark/useFlatListBenchmark.d.ts +14 -35
- package/dist/benchmark/useFlatListBenchmark.d.ts.map +1 -1
- package/dist/benchmark/useFlatListBenchmark.js +92 -122
- package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
- package/dist/errors/ErrorMessages.d.ts +16 -0
- package/dist/errors/ErrorMessages.d.ts.map +1 -0
- package/dist/errors/ErrorMessages.js +16 -0
- package/dist/errors/ErrorMessages.js.map +1 -0
- package/dist/errors/WarningMessages.d.ts +6 -0
- package/dist/errors/WarningMessages.d.ts.map +1 -0
- package/dist/errors/WarningMessages.js +7 -0
- package/dist/errors/WarningMessages.js.map +1 -0
- package/dist/index.d.ts +15 -36
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -54
- package/dist/index.js.map +1 -1
- package/dist/isNewArch.d.ts +2 -0
- package/dist/isNewArch.d.ts.map +1 -0
- package/dist/isNewArch.js +22 -0
- package/dist/isNewArch.js.map +1 -0
- package/dist/native/config/PlatformHelper.android.d.ts +6 -48
- package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.android.js +6 -45
- package/dist/native/config/PlatformHelper.android.js.map +1 -1
- package/dist/native/config/PlatformHelper.d.ts +6 -48
- package/dist/native/config/PlatformHelper.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.harmony.d.ts +29 -48
- package/dist/native/config/PlatformHelper.harmony.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.harmony.js +29 -44
- package/dist/native/config/PlatformHelper.harmony.js.map +1 -1
- package/dist/native/config/PlatformHelper.ios.d.ts +6 -48
- package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.js +6 -44
- package/dist/native/config/PlatformHelper.ios.js.map +1 -1
- package/dist/native/config/PlatformHelper.js +6 -45
- package/dist/native/config/PlatformHelper.js.map +1 -1
- package/dist/native/config/PlatformHelper.web.d.ts +6 -49
- package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.web.js +6 -47
- package/dist/native/config/PlatformHelper.web.js.map +1 -1
- package/dist/recyclerview/LayoutCommitObserver.d.ts +12 -0
- package/dist/recyclerview/LayoutCommitObserver.d.ts.map +1 -0
- package/dist/recyclerview/LayoutCommitObserver.js +58 -0
- package/dist/recyclerview/LayoutCommitObserver.js.map +1 -0
- package/dist/recyclerview/RecyclerView.d.ts +13 -0
- package/dist/recyclerview/RecyclerView.d.ts.map +1 -0
- package/dist/recyclerview/RecyclerView.js +368 -0
- package/dist/recyclerview/RecyclerView.js.map +1 -0
- package/dist/recyclerview/RecyclerViewContextProvider.d.ts +46 -0
- package/dist/recyclerview/RecyclerViewContextProvider.d.ts.map +1 -0
- package/dist/recyclerview/RecyclerViewContextProvider.js +10 -0
- package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -0
- package/dist/recyclerview/RecyclerViewManager.d.ts +78 -0
- package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -0
- package/dist/recyclerview/RecyclerViewManager.js +343 -0
- package/dist/recyclerview/RecyclerViewManager.js.map +1 -0
- package/dist/recyclerview/RecyclerViewProps.d.ts +2 -0
- package/dist/recyclerview/RecyclerViewProps.d.ts.map +1 -0
- package/dist/recyclerview/RecyclerViewProps.js +2 -0
- package/dist/recyclerview/RecyclerViewProps.js.map +1 -0
- package/dist/recyclerview/RenderStackManager.d.ts +86 -0
- package/dist/recyclerview/RenderStackManager.d.ts.map +1 -0
- package/dist/recyclerview/RenderStackManager.js +252 -0
- package/dist/recyclerview/RenderStackManager.js.map +1 -0
- package/dist/recyclerview/ViewHolder.d.ts +45 -0
- package/dist/recyclerview/ViewHolder.d.ts.map +1 -0
- package/dist/recyclerview/ViewHolder.js +94 -0
- package/dist/recyclerview/ViewHolder.js.map +1 -0
- package/dist/recyclerview/ViewHolderCollection.d.ts +63 -0
- package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -0
- package/dist/recyclerview/ViewHolderCollection.js +87 -0
- package/dist/recyclerview/ViewHolderCollection.js.map +1 -0
- package/dist/recyclerview/components/CompatScroller.d.ts +7 -0
- package/dist/recyclerview/components/CompatScroller.d.ts.map +1 -0
- package/dist/recyclerview/components/CompatScroller.js +7 -0
- package/dist/recyclerview/components/CompatScroller.js.map +1 -0
- package/dist/recyclerview/components/CompatView.d.ts +7 -0
- package/dist/recyclerview/components/CompatView.d.ts.map +1 -0
- package/dist/recyclerview/components/CompatView.js +7 -0
- package/dist/recyclerview/components/CompatView.js.map +1 -0
- package/dist/recyclerview/components/ScrollAnchor.d.ts +29 -0
- package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -0
- package/dist/recyclerview/components/ScrollAnchor.js +33 -0
- package/dist/recyclerview/components/ScrollAnchor.js.map +1 -0
- package/dist/recyclerview/components/StickyHeaders.d.ts +38 -0
- package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -0
- package/dist/recyclerview/components/StickyHeaders.js +112 -0
- package/dist/recyclerview/components/StickyHeaders.js.map +1 -0
- package/dist/recyclerview/helpers/ConsecutiveNumbers.d.ts +51 -0
- package/dist/recyclerview/helpers/ConsecutiveNumbers.d.ts.map +1 -0
- package/dist/recyclerview/helpers/ConsecutiveNumbers.js +95 -0
- package/dist/recyclerview/helpers/ConsecutiveNumbers.js.map +1 -0
- package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts +105 -0
- package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts.map +1 -0
- package/dist/recyclerview/helpers/EngagedIndicesTracker.js +202 -0
- package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.d.ts +14 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.d.ts.map +1 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.js +44 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -0
- package/dist/recyclerview/helpers/VelocityTracker.d.ts +29 -0
- package/dist/recyclerview/helpers/VelocityTracker.d.ts.map +1 -0
- package/dist/recyclerview/helpers/VelocityTracker.js +64 -0
- package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -0
- package/dist/recyclerview/hooks/useBoundDetection.d.ts +17 -0
- package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useBoundDetection.js +132 -0
- package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -0
- package/dist/recyclerview/hooks/useLayoutState.d.ts +14 -0
- package/dist/recyclerview/hooks/useLayoutState.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useLayoutState.js +38 -0
- package/dist/recyclerview/hooks/useLayoutState.js.map +1 -0
- package/dist/recyclerview/hooks/useMappingHelper.d.ts +9 -0
- package/dist/recyclerview/hooks/useMappingHelper.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useMappingHelper.js +15 -0
- package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -0
- package/dist/recyclerview/hooks/useOnLoad.d.ts +25 -0
- package/dist/recyclerview/hooks/useOnLoad.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useOnLoad.js +67 -0
- package/dist/recyclerview/hooks/useOnLoad.js.map +1 -0
- package/dist/recyclerview/hooks/useRecyclerViewController.d.ts +28 -0
- package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useRecyclerViewController.js +507 -0
- package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -0
- package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts +8 -0
- package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useRecyclerViewManager.js +32 -0
- package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -0
- package/dist/recyclerview/hooks/useRecyclingState.d.ts +18 -0
- package/dist/recyclerview/hooks/useRecyclingState.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useRecyclingState.js +49 -0
- package/dist/recyclerview/hooks/useRecyclingState.js.map +1 -0
- package/dist/recyclerview/hooks/useSecondaryProps.d.ts +27 -0
- package/dist/recyclerview/hooks/useSecondaryProps.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useSecondaryProps.js +90 -0
- package/dist/recyclerview/hooks/useSecondaryProps.js.map +1 -0
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts +15 -0
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +58 -0
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -0
- package/dist/recyclerview/hooks/useUnmountFlag.d.ts +10 -0
- package/dist/recyclerview/hooks/useUnmountFlag.d.ts.map +1 -0
- package/dist/recyclerview/hooks/useUnmountFlag.js +25 -0
- package/dist/recyclerview/hooks/useUnmountFlag.js.map +1 -0
- package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +79 -0
- package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -0
- package/dist/recyclerview/layout-managers/GridLayoutManager.js +221 -0
- package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -0
- package/dist/recyclerview/layout-managers/LayoutManager.d.ts +296 -0
- package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -0
- package/dist/recyclerview/layout-managers/LayoutManager.js +279 -0
- package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -0
- package/dist/recyclerview/layout-managers/LinearLayoutManager.d.ts +51 -0
- package/dist/recyclerview/layout-managers/LinearLayoutManager.d.ts.map +1 -0
- package/dist/recyclerview/layout-managers/LinearLayoutManager.js +151 -0
- package/dist/recyclerview/layout-managers/LinearLayoutManager.js.map +1 -0
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts +81 -0
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.d.ts.map +1 -0
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +269 -0
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -0
- package/dist/recyclerview/utils/adjustOffsetForRTL.d.ts +12 -0
- package/dist/recyclerview/utils/adjustOffsetForRTL.d.ts.map +1 -0
- package/dist/recyclerview/utils/adjustOffsetForRTL.js +14 -0
- package/dist/recyclerview/utils/adjustOffsetForRTL.js.map +1 -0
- package/dist/recyclerview/utils/componentUtils.d.ts +19 -0
- package/dist/recyclerview/utils/componentUtils.d.ts.map +1 -0
- package/dist/recyclerview/utils/componentUtils.js +27 -0
- package/dist/recyclerview/utils/componentUtils.js.map +1 -0
- package/dist/recyclerview/utils/findVisibleIndex.d.ts +24 -0
- package/dist/recyclerview/utils/findVisibleIndex.d.ts.map +1 -0
- package/dist/recyclerview/utils/findVisibleIndex.js +76 -0
- package/dist/recyclerview/utils/findVisibleIndex.js.map +1 -0
- package/dist/recyclerview/utils/measureLayout.d.ts +52 -0
- package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -0
- package/dist/recyclerview/utils/measureLayout.js +99 -0
- package/dist/recyclerview/utils/measureLayout.js.map +1 -0
- package/dist/recyclerview/utils/measureLayout.web.d.ts +29 -0
- package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -0
- package/dist/recyclerview/utils/measureLayout.web.js +79 -0
- package/dist/recyclerview/utils/measureLayout.web.js.map +1 -0
- package/dist/recyclerview/viewability/ViewToken.d.ts +8 -0
- package/dist/recyclerview/viewability/ViewToken.d.ts.map +1 -0
- package/dist/recyclerview/viewability/ViewToken.js +2 -0
- package/dist/recyclerview/viewability/ViewToken.js.map +1 -0
- package/dist/recyclerview/viewability/ViewabilityHelper.d.ts +26 -0
- package/dist/recyclerview/viewability/ViewabilityHelper.d.ts.map +1 -0
- package/dist/recyclerview/viewability/ViewabilityHelper.js +98 -0
- package/dist/recyclerview/viewability/ViewabilityHelper.js.map +1 -0
- package/dist/recyclerview/viewability/ViewabilityManager.d.ts +25 -0
- package/dist/recyclerview/viewability/ViewabilityManager.d.ts.map +1 -0
- package/dist/recyclerview/viewability/ViewabilityManager.js +94 -0
- package/dist/recyclerview/viewability/ViewabilityManager.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utils/AverageWindow.d.ts +33 -43
- package/dist/utils/AverageWindow.d.ts.map +1 -1
- package/dist/utils/AverageWindow.js +66 -71
- package/dist/utils/AverageWindow.js.map +1 -1
- package/jestSetup.js +23 -37
- package/package.json +15 -24
- package/src/AnimatedFlashList.ts +2 -25
- package/src/FlashList.ts +1 -0
- package/src/FlashListProps.ts +109 -100
- package/src/FlashListRef.ts +320 -0
- package/src/benchmark/AutoScrollHelper.ts +0 -24
- package/src/benchmark/JSFPSMonitor.ts +2 -26
- package/src/benchmark/roundToDecimalPlaces.ts +0 -24
- package/src/benchmark/useBenchmark.ts +59 -105
- package/src/benchmark/useDataMultiplier.ts +0 -24
- package/src/benchmark/useFlatListBenchmark.ts +43 -32
- package/src/errors/ErrorMessages.ts +26 -0
- package/src/errors/WarningMessages.ts +9 -0
- package/src/index.ts +18 -46
- package/src/isNewArch.ts +25 -0
- package/src/native/config/PlatformHelper.android.ts +3 -49
- package/src/native/config/PlatformHelper.harmony.ts +3 -24
- package/src/native/config/PlatformHelper.ios.ts +3 -48
- package/src/native/config/PlatformHelper.ts +3 -49
- package/src/native/config/PlatformHelper.web.ts +4 -55
- package/src/recyclerview/LayoutCommitObserver.tsx +74 -0
- package/src/recyclerview/RecyclerView.tsx +616 -0
- package/src/recyclerview/RecyclerViewContextProvider.ts +65 -0
- package/src/recyclerview/RecyclerViewManager.ts +461 -0
- package/src/recyclerview/RecyclerViewProps.ts +1 -0
- package/src/recyclerview/RenderStackManager.ts +317 -0
- package/src/recyclerview/ViewHolder.tsx +180 -0
- package/src/recyclerview/ViewHolderCollection.tsx +193 -0
- package/src/recyclerview/components/CompatScroller.ts +9 -0
- package/src/recyclerview/components/CompatView.ts +9 -0
- package/src/recyclerview/components/ScrollAnchor.tsx +66 -0
- package/src/recyclerview/components/StickyHeaders.tsx +222 -0
- package/src/recyclerview/helpers/ConsecutiveNumbers.ts +120 -0
- package/src/recyclerview/helpers/EngagedIndicesTracker.ts +301 -0
- package/src/recyclerview/helpers/RenderTimeTracker.ts +50 -0
- package/src/recyclerview/helpers/VelocityTracker.ts +77 -0
- package/src/recyclerview/hooks/useBoundDetection.ts +176 -0
- package/src/recyclerview/hooks/useLayoutState.ts +55 -0
- package/src/recyclerview/hooks/useMappingHelper.ts +20 -0
- package/src/recyclerview/hooks/useOnLoad.ts +80 -0
- package/src/recyclerview/hooks/useRecyclerViewController.tsx +633 -0
- package/src/recyclerview/hooks/useRecyclerViewManager.ts +42 -0
- package/src/recyclerview/hooks/useRecyclingState.ts +67 -0
- package/src/recyclerview/hooks/useSecondaryProps.tsx +124 -0
- package/src/recyclerview/hooks/useUnmountAwareCallbacks.ts +73 -0
- package/src/recyclerview/hooks/useUnmountFlag.ts +27 -0
- package/src/recyclerview/layout-managers/GridLayoutManager.ts +256 -0
- package/src/recyclerview/layout-managers/LayoutManager.ts +568 -0
- package/src/recyclerview/layout-managers/LinearLayoutManager.ts +171 -0
- package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +323 -0
- package/src/recyclerview/utils/adjustOffsetForRTL.ts +17 -0
- package/src/recyclerview/utils/componentUtils.ts +28 -0
- package/src/recyclerview/utils/findVisibleIndex.ts +93 -0
- package/src/recyclerview/utils/measureLayout.ts +128 -0
- package/src/recyclerview/utils/measureLayout.web.ts +102 -0
- package/src/recyclerview/viewability/ViewToken.ts +7 -0
- package/src/{viewability → recyclerview/viewability}/ViewabilityHelper.ts +8 -33
- package/src/{viewability → recyclerview/viewability}/ViewabilityManager.ts +23 -46
- package/src/utils/AverageWindow.ts +33 -24
- package/dist/GridLayoutProviderWithProps.d.ts +0 -65
- package/dist/GridLayoutProviderWithProps.d.ts.map +0 -1
- package/dist/GridLayoutProviderWithProps.js +0 -138
- package/dist/GridLayoutProviderWithProps.js.map +0 -1
- package/dist/MasonryFlashList.d.ts +0 -74
- package/dist/MasonryFlashList.d.ts.map +0 -1
- package/dist/MasonryFlashList.js +0 -275
- package/dist/MasonryFlashList.js.map +0 -1
- package/dist/PureComponentWrapper.d.ts +0 -45
- package/dist/PureComponentWrapper.d.ts.map +0 -1
- package/dist/PureComponentWrapper.js +0 -60
- package/dist/PureComponentWrapper.js.map +0 -1
- package/dist/__tests__/AverageWindow.test.d.ts +0 -2
- package/dist/__tests__/AverageWindow.test.d.ts.map +0 -1
- package/dist/__tests__/AverageWindow.test.js +0 -69
- package/dist/__tests__/AverageWindow.test.js.map +0 -1
- package/dist/__tests__/ContentContainerUtils.test.d.ts +0 -2
- package/dist/__tests__/ContentContainerUtils.test.d.ts.map +0 -1
- package/dist/__tests__/ContentContainerUtils.test.js +0 -85
- package/dist/__tests__/ContentContainerUtils.test.js.map +0 -1
- package/dist/__tests__/FlashList.test.d.ts +0 -2
- package/dist/__tests__/FlashList.test.d.ts.map +0 -1
- package/dist/__tests__/FlashList.test.js +0 -792
- package/dist/__tests__/FlashList.test.js.map +0 -1
- package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts +0 -2
- package/dist/__tests__/GridLayoutProviderWithProps.test.d.ts.map +0 -1
- package/dist/__tests__/GridLayoutProviderWithProps.test.js +0 -143
- package/dist/__tests__/GridLayoutProviderWithProps.test.js.map +0 -1
- package/dist/__tests__/MasonryFlashList.test.d.ts +0 -2
- package/dist/__tests__/MasonryFlashList.test.d.ts.map +0 -1
- package/dist/__tests__/MasonryFlashList.test.js +0 -254
- package/dist/__tests__/MasonryFlashList.test.js.map +0 -1
- package/dist/__tests__/PlatformHelper.web.test.d.ts +0 -2
- package/dist/__tests__/PlatformHelper.web.test.d.ts.map +0 -1
- package/dist/__tests__/PlatformHelper.web.test.js +0 -33
- package/dist/__tests__/PlatformHelper.web.test.js.map +0 -1
- package/dist/__tests__/ViewabilityHelper.test.d.ts +0 -2
- package/dist/__tests__/ViewabilityHelper.test.d.ts.map +0 -1
- package/dist/__tests__/ViewabilityHelper.test.js +0 -187
- package/dist/__tests__/ViewabilityHelper.test.js.map +0 -1
- package/dist/__tests__/helpers/mountFlashList.d.ts +0 -19
- package/dist/__tests__/helpers/mountFlashList.d.ts.map +0 -1
- package/dist/__tests__/helpers/mountFlashList.js +0 -44
- package/dist/__tests__/helpers/mountFlashList.js.map +0 -1
- package/dist/__tests__/helpers/mountMasonryFlashList.d.ts +0 -18
- package/dist/__tests__/helpers/mountMasonryFlashList.d.ts.map +0 -1
- package/dist/__tests__/helpers/mountMasonryFlashList.js +0 -49
- package/dist/__tests__/helpers/mountMasonryFlashList.js.map +0 -1
- package/dist/__tests__/useBlankAreaTracker.test.d.ts +0 -2
- package/dist/__tests__/useBlankAreaTracker.test.d.ts.map +0 -1
- package/dist/__tests__/useBlankAreaTracker.test.js +0 -177
- package/dist/__tests__/useBlankAreaTracker.test.js.map +0 -1
- package/dist/benchmark/useBlankAreaTracker.d.ts +0 -57
- package/dist/benchmark/useBlankAreaTracker.d.ts.map +0 -1
- package/dist/benchmark/useBlankAreaTracker.js +0 -90
- package/dist/benchmark/useBlankAreaTracker.js.map +0 -1
- package/dist/errors/CustomError.d.ts +0 -31
- package/dist/errors/CustomError.d.ts.map +0 -1
- package/dist/errors/CustomError.js +0 -37
- package/dist/errors/CustomError.js.map +0 -1
- package/dist/errors/ExceptionList.d.ts +0 -47
- package/dist/errors/ExceptionList.d.ts.map +0 -1
- package/dist/errors/ExceptionList.js +0 -49
- package/dist/errors/ExceptionList.js.map +0 -1
- package/dist/errors/Warnings.d.ts +0 -32
- package/dist/errors/Warnings.d.ts.map +0 -1
- package/dist/errors/Warnings.js +0 -36
- package/dist/errors/Warnings.js.map +0 -1
- package/dist/fabric/AutoLayoutNativeComponent.d.ts +0 -42
- package/dist/fabric/AutoLayoutNativeComponent.d.ts.map +0 -1
- package/dist/fabric/AutoLayoutNativeComponent.js +0 -29
- package/dist/fabric/AutoLayoutNativeComponent.js.map +0 -1
- package/dist/fabric/CellContainerNativeComponent.d.ts +0 -31
- package/dist/fabric/CellContainerNativeComponent.d.ts.map +0 -1
- package/dist/fabric/CellContainerNativeComponent.js +0 -29
- package/dist/fabric/CellContainerNativeComponent.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutView.d.ts +0 -45
- package/dist/native/auto-layout/AutoLayoutView.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutView.js +0 -71
- package/dist/native/auto-layout/AutoLayoutView.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts +0 -27
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js +0 -29
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.android.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts +0 -28
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.d.ts +0 -27
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.js +0 -29
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.harmony.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts +0 -27
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js +0 -29
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.ios.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js +0 -29
- package/dist/native/auto-layout/AutoLayoutViewNativeComponent.js.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts +0 -39
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.d.ts.map +0 -1
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js +0 -26
- package/dist/native/auto-layout/AutoLayoutViewNativeComponentProps.js.map +0 -1
- package/dist/native/cell-container/CellContainer.android.d.ts +0 -29
- package/dist/native/cell-container/CellContainer.android.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.android.js +0 -32
- package/dist/native/cell-container/CellContainer.android.js.map +0 -1
- package/dist/native/cell-container/CellContainer.d.ts +0 -31
- package/dist/native/cell-container/CellContainer.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.harmony.d.ts +0 -29
- package/dist/native/cell-container/CellContainer.harmony.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.harmony.js +0 -32
- package/dist/native/cell-container/CellContainer.harmony.js.map +0 -1
- package/dist/native/cell-container/CellContainer.ios.d.ts +0 -29
- package/dist/native/cell-container/CellContainer.ios.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.ios.js +0 -32
- package/dist/native/cell-container/CellContainer.ios.js.map +0 -1
- package/dist/native/cell-container/CellContainer.js +0 -34
- package/dist/native/cell-container/CellContainer.js.map +0 -1
- package/dist/native/cell-container/CellContainer.web.d.ts +0 -30
- package/dist/native/cell-container/CellContainer.web.d.ts.map +0 -1
- package/dist/native/cell-container/CellContainer.web.js +0 -36
- package/dist/native/cell-container/CellContainer.web.js.map +0 -1
- package/dist/utils/ContentContainerUtils.d.ts +0 -50
- package/dist/utils/ContentContainerUtils.d.ts.map +0 -1
- package/dist/utils/ContentContainerUtils.js +0 -71
- package/dist/utils/ContentContainerUtils.js.map +0 -1
- package/dist/viewability/ViewToken.d.ts +0 -31
- package/dist/viewability/ViewToken.d.ts.map +0 -1
- package/dist/viewability/ViewToken.js +0 -26
- package/dist/viewability/ViewToken.js.map +0 -1
- package/dist/viewability/ViewabilityHelper.d.ts +0 -49
- package/dist/viewability/ViewabilityHelper.d.ts.map +0 -1
- package/dist/viewability/ViewabilityHelper.js +0 -130
- package/dist/viewability/ViewabilityHelper.js.map +0 -1
- package/dist/viewability/ViewabilityManager.d.ts +0 -48
- package/dist/viewability/ViewabilityManager.d.ts.map +0 -1
- package/dist/viewability/ViewabilityManager.js +0 -131
- package/dist/viewability/ViewabilityManager.js.map +0 -1
- package/harmony/flash_list/BuildProfile.ets +0 -17
- package/harmony/flash_list/LICENSE +0 -7
- package/harmony/flash_list/build-profile.json5 +0 -8
- package/harmony/flash_list/hvigorfile.ts +0 -1
- package/harmony/flash_list/index.ets +0 -27
- package/harmony/flash_list/obfuscation-rules.txt +0 -18
- package/harmony/flash_list/oh-package.json5 +0 -24
- package/harmony/flash_list/src/main/cpp/AutoLayoutNode.cpp +0 -63
- package/harmony/flash_list/src/main/cpp/AutoLayoutNode.h +0 -54
- package/harmony/flash_list/src/main/cpp/AutoLayoutShadow.cpp +0 -140
- package/harmony/flash_list/src/main/cpp/AutoLayoutShadow.h +0 -66
- package/harmony/flash_list/src/main/cpp/AutoLayoutViewComponentInstance.cpp +0 -208
- package/harmony/flash_list/src/main/cpp/AutoLayoutViewComponentInstance.h +0 -78
- package/harmony/flash_list/src/main/cpp/AutoLayoutViewEventEmitRequestHandler.h +0 -53
- package/harmony/flash_list/src/main/cpp/AutoLayoutViewJSIBinder.h +0 -50
- package/harmony/flash_list/src/main/cpp/CMakeLists.txt +0 -12
- package/harmony/flash_list/src/main/cpp/CellContainerComponentInstance.cpp +0 -80
- package/harmony/flash_list/src/main/cpp/CellContainerComponentInstance.h +0 -64
- package/harmony/flash_list/src/main/cpp/CellContainerJSIBinder.h +0 -39
- package/harmony/flash_list/src/main/cpp/ComponentDescriptors.h +0 -40
- package/harmony/flash_list/src/main/cpp/EventEmitters.cpp +0 -40
- package/harmony/flash_list/src/main/cpp/EventEmitters.h +0 -48
- package/harmony/flash_list/src/main/cpp/FlashListPackage.h +0 -85
- package/harmony/flash_list/src/main/cpp/FlashListStackNode.cpp +0 -87
- package/harmony/flash_list/src/main/cpp/FlashListStackNode.h +0 -57
- package/harmony/flash_list/src/main/cpp/Props.cpp +0 -52
- package/harmony/flash_list/src/main/cpp/Props.h +0 -64
- package/harmony/flash_list/src/main/cpp/ShadowNodes.cpp +0 -34
- package/harmony/flash_list/src/main/cpp/ShadowNodes.h +0 -48
- package/harmony/flash_list/src/main/ets/Logger.ets +0 -64
- package/harmony/flash_list/src/main/ets/RNAutoLayoutShadow.ets +0 -154
- package/harmony/flash_list/src/main/ets/RNAutoLayoutView.ets +0 -277
- package/harmony/flash_list/src/main/ets/RNCellContainer.ets +0 -113
- package/harmony/flash_list/src/main/module.json5 +0 -9
- package/harmony/flash_list/src/main/resources/base/element/color.json +0 -8
- package/harmony/flash_list/src/main/resources/base/element/string.json +0 -16
- package/harmony/flash_list/src/main/resources/base/media/icon.png +0 -0
- package/harmony/flash_list/src/main/resources/base/profile/main_pages.json +0 -5
- package/harmony/flash_list/src/main/resources/en_US/element/string.json +0 -16
- package/harmony/flash_list/src/main/resources/zh_CN/element/string.json +0 -16
- package/harmony/flash_list.har +0 -0
- package/src/FlashList.tsx +0 -949
- package/src/GridLayoutProviderWithProps.ts +0 -204
- package/src/MasonryFlashList.tsx +0 -499
- package/src/PureComponentWrapper.tsx +0 -65
- package/src/benchmark/useBlankAreaTracker.ts +0 -141
- package/src/errors/CustomError.ts +0 -34
- package/src/errors/ExceptionList.ts +0 -52
- package/src/errors/Warnings.ts +0 -39
- package/src/fabric/AutoLayoutNativeComponent.ts +0 -52
- package/src/fabric/CellContainerNativeComponent.ts +0 -35
- package/src/native/auto-layout/AutoLayoutView.tsx +0 -97
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.android.ts +0 -31
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.harmony.ts +0 -31
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.ios.ts +0 -31
- package/src/native/auto-layout/AutoLayoutViewNativeComponent.ts +0 -31
- package/src/native/auto-layout/AutoLayoutViewNativeComponentProps.ts +0 -41
- package/src/native/cell-container/CellContainer.android.ts +0 -31
- package/src/native/cell-container/CellContainer.harmony.ts +0 -31
- package/src/native/cell-container/CellContainer.ios.ts +0 -31
- package/src/native/cell-container/CellContainer.tsx +0 -38
- package/src/native/cell-container/CellContainer.web.tsx +0 -33
- package/src/utils/ContentContainerUtils.ts +0 -116
- package/src/viewability/ViewToken.ts +0 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRecyclerViewController.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewController.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RecyclerViewProps } from "../RecyclerViewProps";
|
|
2
|
+
import { RecyclerViewManager } from "../RecyclerViewManager";
|
|
3
|
+
import { VelocityTracker } from "../helpers/VelocityTracker";
|
|
4
|
+
export declare const useRecyclerViewManager: <T>(props: RecyclerViewProps<T>) => {
|
|
5
|
+
recyclerViewManager: RecyclerViewManager<T>;
|
|
6
|
+
velocityTracker: VelocityTracker<unknown>;
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=useRecyclerViewManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRecyclerViewManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,eAAO,MAAM,sBAAsB,GAAI,CAAC,EAAE,OAAO,iBAAiB,CAAC,CAAC,CAAC;;;CAmCpE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useEffect, useMemo, useState } from "react";
|
|
2
|
+
import { RecyclerViewManager } from "../RecyclerViewManager";
|
|
3
|
+
import { VelocityTracker } from "../helpers/VelocityTracker";
|
|
4
|
+
export const useRecyclerViewManager = (props) => {
|
|
5
|
+
const [recyclerViewManager] = useState(() => new RecyclerViewManager(props));
|
|
6
|
+
const [velocityTracker] = useState(() => new VelocityTracker());
|
|
7
|
+
const { data } = props;
|
|
8
|
+
useMemo(() => {
|
|
9
|
+
recyclerViewManager.updateProps(props);
|
|
10
|
+
// used to update props so rule can be disabled
|
|
11
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12
|
+
}, [props]);
|
|
13
|
+
/**
|
|
14
|
+
* When data changes, we need to process the data update before the render happens
|
|
15
|
+
*/
|
|
16
|
+
useMemo(() => {
|
|
17
|
+
recyclerViewManager.processDataUpdate();
|
|
18
|
+
// used to process data update so rule can be disabled
|
|
19
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
+
}, [data]);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
recyclerViewManager.restoreIfNeeded();
|
|
23
|
+
return () => {
|
|
24
|
+
recyclerViewManager.dispose();
|
|
25
|
+
velocityTracker.cleanUp();
|
|
26
|
+
};
|
|
27
|
+
// Used to perform cleanup on unmount
|
|
28
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
29
|
+
}, []);
|
|
30
|
+
return { recyclerViewManager, velocityTracker };
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=useRecyclerViewManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRecyclerViewManager.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAI,KAA2B,EAAE,EAAE;IACvE,MAAM,CAAC,mBAAmB,CAAC,GAAG,QAAQ,CACpC,GAAG,EAAE,CAAC,IAAI,mBAAmB,CAAC,KAAK,CAAC,CACrC,CAAC;IACF,MAAM,CAAC,eAAe,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAEhE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAEvB,OAAO,CAAC,GAAG,EAAE;QACX,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,+CAA+C;QAC/C,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE;QACX,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QACxC,sDAAsD;QACtD,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,eAAe,EAAE,CAAC;QAEtC,OAAO,GAAG,EAAE;YACV,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC9B,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,qCAAqC;QACrC,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { LayoutStateSetter } from "./useLayoutState";
|
|
2
|
+
export type RecyclingStateSetter<T> = LayoutStateSetter<T>;
|
|
3
|
+
export type RecyclingStateInitialValue<T> = T | (() => T);
|
|
4
|
+
/**
|
|
5
|
+
* A custom hook that provides state management with automatic reset functionality.
|
|
6
|
+
* Similar to useState, but automatically resets the state when specified dependencies change.
|
|
7
|
+
* This is particularly useful for managing state that needs to be reset when certain props or values change when items are recycled.
|
|
8
|
+
* This also avoids another setState call on recycling and helps with performance.
|
|
9
|
+
*
|
|
10
|
+
* @param initialState - The initial state value or a function that returns the initial state
|
|
11
|
+
* @param deps - Array of dependencies that trigger a state reset when changed
|
|
12
|
+
* @param onReset - Optional callback function that is called when the state is reset
|
|
13
|
+
* @returns A tuple containing:
|
|
14
|
+
* - The current state value
|
|
15
|
+
* - A setState function that works like useState's setState
|
|
16
|
+
*/
|
|
17
|
+
export declare function useRecyclingState<T>(initialState: RecyclingStateInitialValue<T>, deps: React.DependencyList, onReset?: () => void): [T, RecyclingStateSetter<T>];
|
|
18
|
+
//# sourceMappingURL=useRecyclingState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRecyclingState.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAkB,MAAM,kBAAkB,CAAC;AAErE,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,0BAA0B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,YAAY,EAAE,0BAA0B,CAAC,CAAC,CAAC,EAC3C,IAAI,EAAE,KAAK,CAAC,cAAc,EAC1B,OAAO,CAAC,EAAE,MAAM,IAAI,GACnB,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAyC9B"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useCallback, useMemo, useRef } from "react";
|
|
2
|
+
import { useLayoutState } from "./useLayoutState";
|
|
3
|
+
/**
|
|
4
|
+
* A custom hook that provides state management with automatic reset functionality.
|
|
5
|
+
* Similar to useState, but automatically resets the state when specified dependencies change.
|
|
6
|
+
* This is particularly useful for managing state that needs to be reset when certain props or values change when items are recycled.
|
|
7
|
+
* This also avoids another setState call on recycling and helps with performance.
|
|
8
|
+
*
|
|
9
|
+
* @param initialState - The initial state value or a function that returns the initial state
|
|
10
|
+
* @param deps - Array of dependencies that trigger a state reset when changed
|
|
11
|
+
* @param onReset - Optional callback function that is called when the state is reset
|
|
12
|
+
* @returns A tuple containing:
|
|
13
|
+
* - The current state value
|
|
14
|
+
* - A setState function that works like useState's setState
|
|
15
|
+
*/
|
|
16
|
+
export function useRecyclingState(initialState, deps, onReset) {
|
|
17
|
+
// Store the current state value in a ref to persist between renders
|
|
18
|
+
const valueStore = useRef();
|
|
19
|
+
// Use layoutState to trigger re-renders when state changes
|
|
20
|
+
const [_, setCounter] = useLayoutState(0);
|
|
21
|
+
// Reset state when dependencies change
|
|
22
|
+
useMemo(() => {
|
|
23
|
+
// Calculate initial value from function or direct value
|
|
24
|
+
const initialValue = typeof initialState === "function"
|
|
25
|
+
? initialState()
|
|
26
|
+
: initialState;
|
|
27
|
+
valueStore.current = initialValue;
|
|
28
|
+
// Call onReset callback if provided
|
|
29
|
+
onReset === null || onReset === void 0 ? void 0 : onReset();
|
|
30
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
31
|
+
}, deps);
|
|
32
|
+
/**
|
|
33
|
+
* Proxy setState function that updates the stored value and triggers a re-render.
|
|
34
|
+
* Only triggers a re-render if the new value is different from the current value.
|
|
35
|
+
*/
|
|
36
|
+
const setStateProxy = useCallback((newValue, skipParentLayout) => {
|
|
37
|
+
// Calculate next state value from function or direct value
|
|
38
|
+
const nextState = typeof newValue === "function"
|
|
39
|
+
? newValue(valueStore.current)
|
|
40
|
+
: newValue;
|
|
41
|
+
// Only update and trigger re-render if value has changed
|
|
42
|
+
if (nextState !== valueStore.current) {
|
|
43
|
+
valueStore.current = nextState;
|
|
44
|
+
setCounter((prev) => prev + 1, skipParentLayout);
|
|
45
|
+
}
|
|
46
|
+
}, [setCounter]);
|
|
47
|
+
return [valueStore.current, setStateProxy];
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=useRecyclingState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRecyclingState.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclingState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,EAAqB,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMrE;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAA2C,EAC3C,IAA0B,EAC1B,OAAoB;IAEpB,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM,EAAK,CAAC;IAC/B,2DAA2D;IAC3D,MAAM,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAE1C,uCAAuC;IACvC,OAAO,CAAC,GAAG,EAAE;QACX,wDAAwD;QACxD,MAAM,YAAY,GAChB,OAAO,YAAY,KAAK,UAAU;YAChC,CAAC,CAAE,YAAwB,EAAE;YAC7B,CAAC,CAAC,YAAY,CAAC;QACnB,UAAU,CAAC,OAAO,GAAG,YAAY,CAAC;QAClC,oCAAoC;QACpC,OAAO,aAAP,OAAO,uBAAP,OAAO,EAAI,CAAC;QACZ,uDAAuD;IACzD,CAAC,EAAE,IAAI,CAAC,CAAC;IAET;;;OAGG;IACH,MAAM,aAAa,GAA4B,WAAW,CACxD,CAAC,QAAQ,EAAE,gBAAgB,EAAE,EAAE;QAC7B,2DAA2D;QAC3D,MAAM,SAAS,GACb,OAAO,QAAQ,KAAK,UAAU;YAC5B,CAAC,CAAE,QAAgC,CAAC,UAAU,CAAC,OAAQ,CAAC;YACxD,CAAC,CAAC,QAAQ,CAAC;QAEf,yDAAyD;QACzD,IAAI,SAAS,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACrC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;YAC/B,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO,CAAC,UAAU,CAAC,OAAQ,EAAE,aAAa,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Animated } from "react-native";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { RecyclerViewProps } from "../RecyclerViewProps";
|
|
4
|
+
/**
|
|
5
|
+
* Hook that manages secondary props and components for the RecyclerView.
|
|
6
|
+
* This hook handles the creation and management of:
|
|
7
|
+
* 1. Pull-to-refresh functionality
|
|
8
|
+
* 2. Header and footer components
|
|
9
|
+
* 3. Empty state component
|
|
10
|
+
* 4. Custom scroll component with animation support
|
|
11
|
+
*
|
|
12
|
+
* @param props - The RecyclerViewProps containing all configuration options
|
|
13
|
+
* @returns An object containing:
|
|
14
|
+
* - refreshControl: The pull-to-refresh control component
|
|
15
|
+
* - renderHeader: The header component renderer
|
|
16
|
+
* - renderFooter: The footer component renderer
|
|
17
|
+
* - renderEmpty: The empty state component renderer
|
|
18
|
+
* - CompatScrollView: The animated scroll component
|
|
19
|
+
*/
|
|
20
|
+
export declare function useSecondaryProps<T>(props: RecyclerViewProps<T>): {
|
|
21
|
+
refreshControl: React.JSX.Element | undefined;
|
|
22
|
+
renderHeader: React.JSX.Element | null;
|
|
23
|
+
renderFooter: React.JSX.Element | null;
|
|
24
|
+
renderEmpty: React.ReactElement<any, string | React.JSXElementConstructor<any>> | null;
|
|
25
|
+
CompatScrollView: Animated.AnimatedComponent<Animated.AnimatedComponent<typeof import("react-native").ScrollView>>;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=useSecondaryProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSecondaryProps.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useSecondaryProps.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AACxD,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKzD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;;;;;;EAmG/D"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Animated, RefreshControl } from "react-native";
|
|
2
|
+
import React, { useMemo } from "react";
|
|
3
|
+
import { getValidComponent } from "../utils/componentUtils";
|
|
4
|
+
import { CompatView } from "../components/CompatView";
|
|
5
|
+
import { CompatAnimatedScroller } from "../components/CompatScroller";
|
|
6
|
+
/**
|
|
7
|
+
* Hook that manages secondary props and components for the RecyclerView.
|
|
8
|
+
* This hook handles the creation and management of:
|
|
9
|
+
* 1. Pull-to-refresh functionality
|
|
10
|
+
* 2. Header and footer components
|
|
11
|
+
* 3. Empty state component
|
|
12
|
+
* 4. Custom scroll component with animation support
|
|
13
|
+
*
|
|
14
|
+
* @param props - The RecyclerViewProps containing all configuration options
|
|
15
|
+
* @returns An object containing:
|
|
16
|
+
* - refreshControl: The pull-to-refresh control component
|
|
17
|
+
* - renderHeader: The header component renderer
|
|
18
|
+
* - renderFooter: The footer component renderer
|
|
19
|
+
* - renderEmpty: The empty state component renderer
|
|
20
|
+
* - CompatScrollView: The animated scroll component
|
|
21
|
+
*/
|
|
22
|
+
export function useSecondaryProps(props) {
|
|
23
|
+
const { ListHeaderComponent, ListHeaderComponentStyle, ListFooterComponent, ListFooterComponentStyle, ListEmptyComponent, renderScrollComponent, refreshing, progressViewOffset, onRefresh, data, refreshControl: customRefreshControl, } = props;
|
|
24
|
+
/**
|
|
25
|
+
* Creates the refresh control component if onRefresh is provided.
|
|
26
|
+
*/
|
|
27
|
+
const refreshControl = useMemo(() => {
|
|
28
|
+
if (customRefreshControl) {
|
|
29
|
+
return customRefreshControl;
|
|
30
|
+
}
|
|
31
|
+
else if (onRefresh) {
|
|
32
|
+
return (React.createElement(RefreshControl, { refreshing: Boolean(refreshing), progressViewOffset: progressViewOffset, onRefresh: onRefresh }));
|
|
33
|
+
}
|
|
34
|
+
return undefined;
|
|
35
|
+
}, [onRefresh, refreshing, progressViewOffset, customRefreshControl]);
|
|
36
|
+
/**
|
|
37
|
+
* Creates the header component with optional styling.
|
|
38
|
+
*/
|
|
39
|
+
const renderHeader = useMemo(() => {
|
|
40
|
+
if (!ListHeaderComponent) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
return (React.createElement(CompatView, { style: ListHeaderComponentStyle }, getValidComponent(ListHeaderComponent)));
|
|
44
|
+
}, [ListHeaderComponent, ListHeaderComponentStyle]);
|
|
45
|
+
/**
|
|
46
|
+
* Creates the footer component with optional styling.
|
|
47
|
+
*/
|
|
48
|
+
const renderFooter = useMemo(() => {
|
|
49
|
+
if (!ListFooterComponent) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
return (React.createElement(CompatView, { style: ListFooterComponentStyle }, getValidComponent(ListFooterComponent)));
|
|
53
|
+
}, [ListFooterComponent, ListFooterComponentStyle]);
|
|
54
|
+
/**
|
|
55
|
+
* Creates the empty state component when there's no data.
|
|
56
|
+
* Only rendered when ListEmptyComponent is provided and data is empty.
|
|
57
|
+
*/
|
|
58
|
+
const renderEmpty = useMemo(() => {
|
|
59
|
+
if (!ListEmptyComponent || (data && data.length > 0)) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
return getValidComponent(ListEmptyComponent);
|
|
63
|
+
}, [ListEmptyComponent, data]);
|
|
64
|
+
/**
|
|
65
|
+
* Creates an animated scroll component based on the provided renderScrollComponent.
|
|
66
|
+
* If no custom component is provided, uses the default CompatAnimatedScroller.
|
|
67
|
+
*/
|
|
68
|
+
const CompatScrollView = useMemo(() => {
|
|
69
|
+
let scrollComponent = CompatAnimatedScroller;
|
|
70
|
+
if (typeof renderScrollComponent === "function") {
|
|
71
|
+
// Create a forwarded ref wrapper for the custom scroll component
|
|
72
|
+
const ForwardedScrollComponent = React.forwardRef((_props, ref) => renderScrollComponent({ ..._props, ref }));
|
|
73
|
+
ForwardedScrollComponent.displayName = "CustomScrollView";
|
|
74
|
+
scrollComponent = ForwardedScrollComponent;
|
|
75
|
+
}
|
|
76
|
+
else if (renderScrollComponent) {
|
|
77
|
+
scrollComponent = renderScrollComponent;
|
|
78
|
+
}
|
|
79
|
+
// Wrap the scroll component with Animated.createAnimatedComponent
|
|
80
|
+
return Animated.createAnimatedComponent(scrollComponent);
|
|
81
|
+
}, [renderScrollComponent]);
|
|
82
|
+
return {
|
|
83
|
+
refreshControl,
|
|
84
|
+
renderHeader,
|
|
85
|
+
renderFooter,
|
|
86
|
+
renderEmpty,
|
|
87
|
+
CompatScrollView,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=useSecondaryProps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSecondaryProps.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useSecondaryProps.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that provides a setTimeout which is aware of component unmount state.
|
|
3
|
+
* Any timeouts created with this hook will be automatically cleared when the component unmounts.
|
|
4
|
+
*/
|
|
5
|
+
export declare function useUnmountAwareTimeout(): {
|
|
6
|
+
setTimeout: (callback: () => void, delay: number) => void;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Hook that provides a requestAnimationFrame which is aware of component unmount state.
|
|
10
|
+
* Any animation frames requested with this hook will be automatically canceled when the component unmounts.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useUnmountAwareAnimationFrame(): {
|
|
13
|
+
requestAnimationFrame: (callback: FrameRequestCallback) => void;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useUnmountAwareCallbacks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnmountAwareCallbacks.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,sBAAsB;2BAcvB,MAAM,IAAI,SAAS,MAAM,KAAG,IAAI;EAgB9C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B;sCAc9B,oBAAoB,KAAG,IAAI;EAgBzC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Hook that provides a setTimeout which is aware of component unmount state.
|
|
4
|
+
* Any timeouts created with this hook will be automatically cleared when the component unmounts.
|
|
5
|
+
*/
|
|
6
|
+
export function useUnmountAwareTimeout() {
|
|
7
|
+
// Store active timeout IDs in a Set for more efficient add/remove operations
|
|
8
|
+
const [timeoutIds] = useState(() => new Set());
|
|
9
|
+
// Clear all timeouts on unmount
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
return () => {
|
|
12
|
+
timeoutIds.forEach((id) => global.clearTimeout(id));
|
|
13
|
+
timeoutIds.clear();
|
|
14
|
+
};
|
|
15
|
+
}, [timeoutIds]);
|
|
16
|
+
// Create a safe setTimeout that will be cleared on unmount
|
|
17
|
+
const setTimeout = useCallback((callback, delay) => {
|
|
18
|
+
const id = global.setTimeout(() => {
|
|
19
|
+
// Remove this timeout ID from the tracking set
|
|
20
|
+
timeoutIds.delete(id);
|
|
21
|
+
callback();
|
|
22
|
+
}, delay);
|
|
23
|
+
// Track this timeout ID
|
|
24
|
+
timeoutIds.add(id);
|
|
25
|
+
}, [timeoutIds]);
|
|
26
|
+
return {
|
|
27
|
+
setTimeout,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Hook that provides a requestAnimationFrame which is aware of component unmount state.
|
|
32
|
+
* Any animation frames requested with this hook will be automatically canceled when the component unmounts.
|
|
33
|
+
*/
|
|
34
|
+
export function useUnmountAwareAnimationFrame() {
|
|
35
|
+
// Store active animation frame request IDs in a Set for more efficient add/remove operations
|
|
36
|
+
const [requestIds] = useState(() => new Set());
|
|
37
|
+
// Cancel all animation frame requests on unmount
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
return () => {
|
|
40
|
+
requestIds.forEach((id) => cancelAnimationFrame(id));
|
|
41
|
+
requestIds.clear();
|
|
42
|
+
};
|
|
43
|
+
}, [requestIds]);
|
|
44
|
+
// Create a safe requestAnimationFrame that will be canceled on unmount
|
|
45
|
+
const requestAnimationFrame = useCallback((callback) => {
|
|
46
|
+
const id = global.requestAnimationFrame((timestamp) => {
|
|
47
|
+
// Remove this request ID from the tracking set
|
|
48
|
+
requestIds.delete(id);
|
|
49
|
+
callback(timestamp);
|
|
50
|
+
});
|
|
51
|
+
// Track this request ID
|
|
52
|
+
requestIds.add(id);
|
|
53
|
+
}, [requestIds]);
|
|
54
|
+
return {
|
|
55
|
+
requestAnimationFrame,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=useUnmountAwareCallbacks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnmountAwareCallbacks.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEzD;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,6EAA6E;IAC7E,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAsB,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAEpE,gCAAgC;IAChC,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,2DAA2D;IAC3D,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,QAAoB,EAAE,KAAa,EAAQ,EAAE;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAChC,+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;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,6FAA6F;IAC7F,MAAM,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAc,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IAE5D,iDAAiD;IACjD,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,uEAAuE;IACvE,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,QAA8B,EAAQ,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,SAAS,EAAE,EAAE;YACpD,+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;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook that provides a way to track component unmounting state.
|
|
3
|
+
* This hook is particularly useful for preventing state updates or side effects
|
|
4
|
+
* after a component has unmounted, helping to avoid memory leaks and race conditions.
|
|
5
|
+
*
|
|
6
|
+
* @returns A ref containing a boolean flag that indicates whether the component is unmounted
|
|
7
|
+
* (true) or mounted (false)
|
|
8
|
+
*/
|
|
9
|
+
export declare const useUnmountFlag: () => import("react").MutableRefObject<boolean>;
|
|
10
|
+
//# sourceMappingURL=useUnmountFlag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnmountFlag.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountFlag.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,iDAgB1B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useRef, useLayoutEffect } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Hook that provides a way to track component unmounting state.
|
|
4
|
+
* This hook is particularly useful for preventing state updates or side effects
|
|
5
|
+
* after a component has unmounted, helping to avoid memory leaks and race conditions.
|
|
6
|
+
*
|
|
7
|
+
* @returns A ref containing a boolean flag that indicates whether the component is unmounted
|
|
8
|
+
* (true) or mounted (false)
|
|
9
|
+
*/
|
|
10
|
+
export const useUnmountFlag = () => {
|
|
11
|
+
// Create a ref to store the unmount state
|
|
12
|
+
// Using ref ensures the value persists between renders without causing re-renders
|
|
13
|
+
const isUnmounted = useRef(false);
|
|
14
|
+
// Use layoutEffect to set up cleanup on unmount
|
|
15
|
+
// This ensures the flag is set before any other cleanup effects run
|
|
16
|
+
useLayoutEffect(() => {
|
|
17
|
+
isUnmounted.current = false;
|
|
18
|
+
// Cleanup function that runs when the component unmounts
|
|
19
|
+
return () => {
|
|
20
|
+
isUnmounted.current = true;
|
|
21
|
+
};
|
|
22
|
+
}, []);
|
|
23
|
+
return isUnmounted;
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=useUnmountFlag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnmountFlag.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountFlag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AAEhD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE;IACjC,0CAA0C;IAC1C,kFAAkF;IAClF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAElC,gDAAgD;IAChD,oEAAoE;IACpE,eAAe,CAAC,GAAG,EAAE;QACnB,WAAW,CAAC,OAAO,GAAG,KAAK,CAAC;QAC5B,yDAAyD;QACzD,OAAO,GAAG,EAAE;YACV,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { LayoutParams, RVDimension, RVLayoutInfo, RVLayoutManager } from "./LayoutManager";
|
|
2
|
+
/**
|
|
3
|
+
* GridLayoutManager implementation that arranges items in a grid pattern.
|
|
4
|
+
* Items are placed in rows and columns, with support for items spanning multiple columns.
|
|
5
|
+
*/
|
|
6
|
+
export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
|
|
7
|
+
/** The width of the bounded area for the grid */
|
|
8
|
+
private boundedSize;
|
|
9
|
+
/** If there's a span change for grid layout, we need to recompute all the widths */
|
|
10
|
+
private fullRelayoutRequired;
|
|
11
|
+
constructor(params: LayoutParams, previousLayoutManager?: RVLayoutManager);
|
|
12
|
+
/**
|
|
13
|
+
* Updates layout parameters and triggers recomputation if necessary.
|
|
14
|
+
* @param params New layout parameters
|
|
15
|
+
*/
|
|
16
|
+
updateLayoutParams(params: LayoutParams): void;
|
|
17
|
+
/**
|
|
18
|
+
* Processes layout information for items, updating their dimensions.
|
|
19
|
+
* @param layoutInfo Array of layout information for items
|
|
20
|
+
* @param itemCount Total number of items in the list
|
|
21
|
+
*/
|
|
22
|
+
processLayoutInfo(layoutInfo: RVLayoutInfo[], itemCount: number): 0 | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Estimates layout dimensions for an item at the given index.
|
|
25
|
+
* @param index Index of the item to estimate layout for
|
|
26
|
+
*/
|
|
27
|
+
estimateLayout(index: number): void;
|
|
28
|
+
/**
|
|
29
|
+
* Handles span change for an item.
|
|
30
|
+
* @param index Index of the item
|
|
31
|
+
*/
|
|
32
|
+
handleSpanChange(index: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* Returns the total size of the layout area.
|
|
35
|
+
* @returns RVDimension containing width and height of the layout
|
|
36
|
+
*/
|
|
37
|
+
getLayoutSize(): RVDimension;
|
|
38
|
+
/**
|
|
39
|
+
* Recomputes layouts for items in the given range.
|
|
40
|
+
* @param startIndex Starting index of items to recompute
|
|
41
|
+
* @param endIndex Ending index of items to recompute
|
|
42
|
+
*/
|
|
43
|
+
recomputeLayouts(startIndex: number, endIndex: number): void;
|
|
44
|
+
/**
|
|
45
|
+
* Calculates the width of an item based on its span.
|
|
46
|
+
* @param index Index of the item
|
|
47
|
+
* @returns Width of the item
|
|
48
|
+
*/
|
|
49
|
+
private getWidth;
|
|
50
|
+
/**
|
|
51
|
+
* Processes items in a row and returns the tallest item.
|
|
52
|
+
* Also handles height normalization for items in the same row.
|
|
53
|
+
* Tallest item per row helps in forcing tallest items height on neighbouring items.
|
|
54
|
+
* @param endIndex Index of the last item in the row
|
|
55
|
+
* @returns The tallest item in the row
|
|
56
|
+
*/
|
|
57
|
+
private processAndReturnTallestItemInRow;
|
|
58
|
+
/**
|
|
59
|
+
* Computes the total height of the layout.
|
|
60
|
+
* @param endIndex Index of the last item in the row
|
|
61
|
+
* @returns Total height of the layout
|
|
62
|
+
*/
|
|
63
|
+
private computeTotalHeightTillRow;
|
|
64
|
+
private updateAllWidths;
|
|
65
|
+
/**
|
|
66
|
+
* Checks if an item can fit within the bounded width.
|
|
67
|
+
* @param itemX Starting X position of the item
|
|
68
|
+
* @param width Width of the item
|
|
69
|
+
* @returns True if the item fits within bounds
|
|
70
|
+
*/
|
|
71
|
+
private checkBounds;
|
|
72
|
+
/**
|
|
73
|
+
* Locates the index of the first item in the current row.
|
|
74
|
+
* @param itemIndex Index to start searching from
|
|
75
|
+
* @returns Index of the first item in the row
|
|
76
|
+
*/
|
|
77
|
+
private locateFirstIndexInRow;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=GridLayoutManager.d.ts.map
|
|
@@ -0,0 +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;IAE5B,oFAAoF;IACpF,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAkB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAiB/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAI9B;;;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;IAIhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAqDxC;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,eAAe;IAMvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}
|