UNPKG

@legendapp/list

Version:

Legend List is a drop-in replacement for FlatList with much better performance and supporting dynamically sized items.

262 lines (259 loc) 12.5 kB
import * as _legendapp_list_reanimated from '@legendapp/list/reanimated'; import * as _legendapp_list from '@legendapp/list'; import { LegendListRef } from '@legendapp/list'; import * as react_native from 'react-native'; import * as React from 'react'; declare const LegendList: <ItemT, ListT extends (<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & { alignItemsAtEnd?: boolean; columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle; data: readonly T[]; drawDistance?: number; estimatedItemSize?: number; estimatedListSize?: { height: number; width: number; }; extraData?: any; getEstimatedItemSize?: ((index: number, item: T) => number) | undefined; initialContainerPoolRatio?: number | undefined; initialScrollOffset?: number; initialScrollIndex?: number | { index: number; viewOffset?: number | undefined; viewPosition?: number | undefined; }; ItemSeparatorComponent?: React.ComponentType<{ leadingItem: T; }> | undefined; keyExtractor?: ((item: T, index: number) => string) | undefined; ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; maintainScrollAtEnd?: boolean; maintainScrollAtEndThreshold?: number; maintainVisibleContentPosition?: boolean; numColumns?: number; onEndReached?: ((info: { distanceFromEnd: number; }) => void) | null | undefined; onEndReachedThreshold?: number | null | undefined; onItemSizeChanged?: ((info: { size: number; previous: number; index: number; itemKey: string; itemData: T; }) => void) | undefined; onRefresh?: () => void; onStartReached?: ((info: { distanceFromStart: number; }) => void) | null | undefined; onStartReachedThreshold?: number | null | undefined; onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined; progressViewOffset?: number; recycleItems?: boolean; refScrollView?: React.Ref<react_native.ScrollView>; refreshing?: boolean; renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T>> | undefined; renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>; suggestEstimatedItemSize?: boolean; viewabilityConfig?: _legendapp_list.ViewabilityConfig; viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined; waitForInitialLayout?: boolean; onLoad?: (info: { elapsedTimeInMs: number; }) => void; } & React.RefAttributes<LegendListRef>) => React.ReactNode) | react_native.Animated.AnimatedComponent<(<T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & { alignItemsAtEnd?: boolean; columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle; data: readonly T[]; drawDistance?: number; estimatedItemSize?: number; estimatedListSize?: { height: number; width: number; }; extraData?: any; getEstimatedItemSize?: ((index: number, item: T) => number) | undefined; initialContainerPoolRatio?: number | undefined; initialScrollOffset?: number; initialScrollIndex?: number | { index: number; viewOffset?: number | undefined; viewPosition?: number | undefined; }; ItemSeparatorComponent?: React.ComponentType<{ leadingItem: T; }> | undefined; keyExtractor?: ((item: T, index: number) => string) | undefined; ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; maintainScrollAtEnd?: boolean; maintainScrollAtEndThreshold?: number; maintainVisibleContentPosition?: boolean; numColumns?: number; onEndReached?: ((info: { distanceFromEnd: number; }) => void) | null | undefined; onEndReachedThreshold?: number | null | undefined; onItemSizeChanged?: ((info: { size: number; previous: number; index: number; itemKey: string; itemData: T; }) => void) | undefined; onRefresh?: () => void; onStartReached?: ((info: { distanceFromStart: number; }) => void) | null | undefined; onStartReachedThreshold?: number | null | undefined; onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined; progressViewOffset?: number; recycleItems?: boolean; refScrollView?: React.Ref<react_native.ScrollView>; refreshing?: boolean; renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T>> | undefined; renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>; suggestEstimatedItemSize?: boolean; viewabilityConfig?: _legendapp_list.ViewabilityConfig; viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined; waitForInitialLayout?: boolean; onLoad?: (info: { elapsedTimeInMs: number; }) => void; } & React.RefAttributes<LegendListRef>) => React.ReactNode)> | (<ItemT_1>(props: _legendapp_list_reanimated.AnimatedLegendListProps<ItemT_1> & { ref?: React.Ref<LegendListRef>; }) => React.ReactElement | null) = <T>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & { alignItemsAtEnd?: boolean; columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle; data: readonly T[]; drawDistance?: number; estimatedItemSize?: number; estimatedListSize?: { height: number; width: number; }; extraData?: any; getEstimatedItemSize?: ((index: number, item: T) => number) | undefined; initialContainerPoolRatio?: number | undefined; initialScrollOffset?: number; initialScrollIndex?: number | { index: number; viewOffset?: number | undefined; viewPosition?: number | undefined; }; ItemSeparatorComponent?: React.ComponentType<{ leadingItem: T; }> | undefined; keyExtractor?: ((item: T, index: number) => string) | undefined; ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; maintainScrollAtEnd?: boolean; maintainScrollAtEndThreshold?: number; maintainVisibleContentPosition?: boolean; numColumns?: number; onEndReached?: ((info: { distanceFromEnd: number; }) => void) | null | undefined; onEndReachedThreshold?: number | null | undefined; onItemSizeChanged?: ((info: { size: number; previous: number; index: number; itemKey: string; itemData: T; }) => void) | undefined; onRefresh?: () => void; onStartReached?: ((info: { distanceFromStart: number; }) => void) | null | undefined; onStartReachedThreshold?: number | null | undefined; onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined; progressViewOffset?: number; recycleItems?: boolean; refScrollView?: React.Ref<react_native.ScrollView>; refreshing?: boolean; renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<T>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<T>> | undefined; renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>; suggestEstimatedItemSize?: boolean; viewabilityConfig?: _legendapp_list.ViewabilityConfig; viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined; waitForInitialLayout?: boolean; onLoad?: (info: { elapsedTimeInMs: number; }) => void; } & React.RefAttributes<LegendListRef>) => React.ReactNode>(props: Omit<Omit<react_native.ScrollViewProps, "scrollEventThrottle">, "contentOffset" | "contentInset" | "maintainVisibleContentPosition" | "stickyHeaderIndices" | "removeClippedSubviews" | "children"> & { alignItemsAtEnd?: boolean; columnWrapperStyle?: _legendapp_list.ColumnWrapperStyle; data: readonly ItemT[]; drawDistance?: number; estimatedItemSize?: number; estimatedListSize?: { height: number; width: number; }; extraData?: any; getEstimatedItemSize?: ((index: number, item: ItemT) => number) | undefined; initialContainerPoolRatio?: number | undefined; initialScrollOffset?: number; initialScrollIndex?: number | { index: number; viewOffset?: number | undefined; viewPosition?: number | undefined; }; ItemSeparatorComponent?: React.ComponentType<{ leadingItem: ItemT; }> | undefined; keyExtractor?: ((item: ItemT, index: number) => string) | undefined; ListEmptyComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListFooterComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; ListHeaderComponent?: React.ComponentType<any> | React.ReactElement | null | undefined; ListHeaderComponentStyle?: react_native.StyleProp<react_native.ViewStyle> | undefined; maintainScrollAtEnd?: boolean; maintainScrollAtEndThreshold?: number; maintainVisibleContentPosition?: boolean; numColumns?: number; onEndReached?: ((info: { distanceFromEnd: number; }) => void) | null | undefined; onEndReachedThreshold?: number | null | undefined; onItemSizeChanged?: ((info: { size: number; previous: number; index: number; itemKey: string; itemData: ItemT; }) => void) | undefined; onRefresh?: () => void; onStartReached?: ((info: { distanceFromStart: number; }) => void) | null | undefined; onStartReachedThreshold?: number | null | undefined; onViewableItemsChanged?: _legendapp_list.OnViewableItemsChanged | undefined; progressViewOffset?: number; recycleItems?: boolean; refScrollView?: React.Ref<react_native.ScrollView>; refreshing?: boolean; renderItem?: ((props: _legendapp_list.LegendListRenderItemProps<ItemT>) => React.ReactNode) | React.ComponentType<_legendapp_list.LegendListRenderItemProps<ItemT>> | undefined; renderScrollComponent?: (props: react_native.ScrollViewProps) => React.ReactElement<react_native.ScrollViewProps>; suggestEstimatedItemSize?: boolean; viewabilityConfig?: _legendapp_list.ViewabilityConfig; viewabilityConfigCallbackPairs?: _legendapp_list.ViewabilityConfigCallbackPairs | undefined; waitForInitialLayout?: boolean; onLoad?: (info: { elapsedTimeInMs: number; }) => void; } & { LegendList?: ListT; } & React.RefAttributes<LegendListRef>) => React.ReactNode; export { LegendList };