// Metro module 9256 (f9257). import { forwardRef, useCallback, useMemo } from "react"; import { RefreshControl } from "react-native"; import useFastestListPropsScrollReporting_native from "./props/useFastestListPropsScrollReporting.native"; import useFastestListPropsEstimatedListSize_native from "./props/useFastestListPropsEstimatedListSize.native"; import FastList, { FastListItemTypes, AnimatedFastList } from "../../lib/native/FastList"; import FastestListItemType from "./FastestListItemType"; const noop = () => {}; const r24 = forwardRef(function(a0, a1) { const { accessibilityLabel, enabled, estimatedListSize, horizontal: _horizontal, inActionSheet, insetStart, insetEnd, itemSize, keyboardDismissMode, keyboardShouldPersistTaps, keyExtractor, listFooterSize, listFooterAlwaysMounted: _listFooterAlwaysMounted, listHeaderSize, listHeaderAlwaysMounted: _listHeaderAlwaysMounted, onLayout, preventNativeModalDismiss, renderAhead: _renderAhead, renderItem, renderListFooter, renderListHeader, renderSectionHeader, renderSectionFooter, scrollEventThrottle, scrollIndicatorInsetEnd, scrollIndicatorInsetStart, sectionHeaderSize, sectionHeaderIsSticky: _sectionHeaderIsSticky, sectionFooterSize, sections, showsHorizontalScrollIndicator, showsVerticalScrollIndicator, style, ...rest } = a0; a0.enabled; let horizontal = a0.horizontal; if (horizontal === void 0) { horizontal = false; } let c17093_0 = horizontal; let listFooterAlwaysMounted = a0.listFooterAlwaysMounted; if (listFooterAlwaysMounted === void 0) { listFooterAlwaysMounted = false; } let listHeaderAlwaysMounted = a0.listHeaderAlwaysMounted; if (listHeaderAlwaysMounted === void 0) { listHeaderAlwaysMounted = false; } const { renderAhead = "nominal", sectionHeaderIsSticky = true } = a0; const fastestListPropsScrollReporting_native = useFastestListPropsScrollReporting_native(rest, horizontal); const { onScroll, onScrollBeginDrag, onScrollEndDrag } = fastestListPropsScrollReporting_native; const fastestListPropsEstimatedListSize_native = useFastestListPropsEstimatedListSize_native({ estimatedListSize, horizontal }); const callback = useCallback((a0, a1, a2) => { if (FastListItemTypes.ITEM === a0) { return keyExtractor == null ? void 0 : keyExtractor(FastestListItemType.ITEM, a1, a2 == null ? -1 : a2); } if (FastListItemTypes.SECTION === a0) { return keyExtractor == null ? void 0 : keyExtractor(FastestListItemType.SECTION_HEADER, a1, -1); } if (FastListItemTypes.SECTION_FOOTER === a0) { return keyExtractor == null ? void 0 : keyExtractor(FastestListItemType.SECTION_FOOTER, a1, -1); } }, [keyExtractor]); const memo = useMemo(() => scrollIndicatorInsetStart == null ? scrollIndicatorInsetEnd == null ? void 0 : c17093_0 ? { left: scrollIndicatorInsetStart, right: scrollIndicatorInsetEnd } : { top: scrollIndicatorInsetStart, bottom: scrollIndicatorInsetEnd } : c17093_0 ? { left: scrollIndicatorInsetStart, right: scrollIndicatorInsetEnd } : { top: scrollIndicatorInsetStart, bottom: scrollIndicatorInsetEnd }, [horizontal, scrollIndicatorInsetEnd, scrollIndicatorInsetStart]); const memo2 = useMemo(() => preventNativeModalDismiss === true ? inActionSheet === true ? : void 0 : void 0, [preventNativeModalDismiss, inActionSheet]); const Component = rest.scrollReporting === "animatedCallbacks" ? AnimatedFastList : FastList; const batchesToRender = renderAhead === "nominal" ? void 0 : renderAhead === "half" ? 14 : renderAhead !== "full" ? void 0 : 16; const stickySectionsVariant = sectionHeaderIsSticky ? "default" : "disabled"; const onScroll2 = rest.scrollReporting !== "animatedScrollPosition" ? onScroll : void 0; const scrollPosValue = rest.scrollReporting === "animatedScrollPosition" ? rest.scrollPosition : void 0; if (!listHeaderAlwaysMounted) { listHeaderAlwaysMounted = listFooterAlwaysMounted; } return ; }); export default r24;