import React from "react"; import { SwipeableList } from "../SwipeableItem"; import type { FlashListSwipeableListProps, FlatListSwipeableListProps, } from "../SwipeableItem"; import useSplitContentContainerStyles from "./useSplitContentContainerStyles"; import { FlatList as FlatListComponent } from "react-native-gesture-handler"; import { FlashList } from "@shopify/flash-list"; /** * A SwipeableList wrapper that takes a single `style` prop and internally extracts * the appropriate style keys into the `contentContainerStyle` */ const SimpleStyleSwipeableList = React.forwardRef( ( { style: styleProp, data, ...rest }: Omit< FlashListSwipeableListProps | FlatListSwipeableListProps, "contentContainerStyle" >, ref: React.Ref> ) => { const { style, contentContainerStyle } = useSplitContentContainerStyles( styleProp, { isFlashList: rest.listComponent === "FlashList" } ); return ( //@ts-ignore contentContainerStyle has different types for FlashList and FlatList implmentations and confuses TS ); } ); export default SimpleStyleSwipeableList;