export type TScrollingInfo = {
isScrolling: boolean,
scrollingTop: number
}
export type TDefaultPosInfo = {
top: number
left: number
index: number
maybeRenderItemCount: number
}
export interface VirtuosoProps {
totalCount: number
overscan?: number
topItems?: number
footer?: () => ReactElement
item: (index: number) => ReactElement
computeItemKey?: (index: number) => number
itemHeight?: number
startReached?: ({touchMoveDistance, scrollTop}:{touchMoveDistance: number, scrollTop:number}) => void
endReached?: (index: number) => void
scrollEventChange?: (e: Event) => void
scrollingStateChange?: (info: TScrollingInfo) => void
quickScrollingStateChange?: (isRunning: boolean) => void
itemsRendered?: TSubscriber<ListItem[]>
itemsLastRendered?: TSubscriber<ListItem[]>
totalListHeightChanged?: TSubscriber<number>
style?: CSSProperties
className?: string
initialItemCount?: number
initialScrollToPos?: TDefaultPosInfo
ScrollContainer?: TScrollContainer
FooterContainer?: TFooterContainer
ListContainer?: TListContainer
ItemContainer?: TItemContainer
}