import { BackgroundContext } from "design-system/hooks/useBackgroundColor"; import { FilterStyles, RemoveStyles, ScrollableBoxProps, useResolveBoxListTokens, } from "design-system/hooks/useResolveBoxListTokens"; import React, { ForwardedRef, forwardRef, useContext } from "react"; import { FlatList, FlatListProps as RNFlatListProps } from "react-native"; type FlatListProps = RemoveStyles> & { contentContainerStyle?: FilterStyles["contentContainerStyle"]>; style?: FilterStyles["style"]>; }; export type FlatListBoxProps = ScrollableBoxProps & FlatListProps; interface FlatListComponentType { (props: FlatListBoxProps, ref: ForwardedRef>): JSX.Element; } export const FlatListBox = forwardRef(function FlatListBox( { style, contentContainerStyle, ...props }: FlatListBoxProps, ref: ForwardedRef> ) { const { contentContainerStyles, styles, ...rest } = useResolveBoxListTokens(props); const color = useContext(BackgroundContext); return ( ref={ref} contentContainerStyle={[contentContainerStyles, contentContainerStyle]} style={[styles, style]} {...rest} /> ); }) as FlatListComponentType;