UNPKG

@researchgate/react-intersection-list

Version:

React List Component using the Intersection Observer API

53 lines (41 loc) 1.09 kB
import * as React from 'react'; export default class ListClass extends React.PureComponent<ListProps> {} type RenderFunction = (index: number, key: number) => JSX.Element | string; type IterableType = | { length: number; } | { size: number; }; interface ChildrenAsFunction { children: RenderFunction; renderItem?: never; } interface RenderAsProp { renderItem: RenderFunction; children?: never; } interface ItemCountScalar { itemCount: number; items?: never; } interface ItemCountIterable { items: IterableType; itemCount?: never; } interface OptionalProps { awaitMore?: boolean; axis?: 'x' | 'y'; initialIndex?: number; itemsRenderer?: ( items: IterableType, ref: (instance: React.ReactInstance) => void ) => JSX.Element; onIntersection?: (nextSize: number, pageSize: number) => void; pageSize?: number; threshold?: string; } type RenderPropType = ChildrenAsFunction | RenderAsProp; type ItemCountPropType = ItemCountScalar | ItemCountIterable; type ListProps = RenderPropType & ItemCountPropType & OptionalProps;