scroll-u
Version:
high-performance scrollable list component
28 lines (24 loc) • 1.04 kB
TypeScript
import React from 'react';
import * as react_jsx_runtime from 'react/jsx-runtime';
type ReactNodes = React.ReactNode[];
type UpdateNodeHandle = (items: ReactNodes) => ReactNodes;
interface ScrollURef {
updateNodes: (handle: UpdateNodeHandle) => void;
listNodes: () => ReactNodes;
trigerRender: (direction: 'pre' | 'next') => void;
}
interface ScrollUProps {
className?: any;
renderItem?: (direction: 'pre' | 'next', contextData?: React.ReactNode) => Promise<ReactNodes>;
initialItems?: ReactNodes;
showScrollBar?: boolean;
scrollBarRender?: (height: number, top: number) => React.ReactNode;
}
declare const ScrollU: React.ForwardRefExoticComponent<ScrollUProps & React.RefAttributes<ScrollURef>>;
interface ScrollBarRenderProps {
height: number;
top: number;
}
declare const DefaultScrollBar: ({ height, top, }: ScrollBarRenderProps) => react_jsx_runtime.JSX.Element;
export { DefaultScrollBar, ScrollU };
export type { ReactNodes, ScrollBarRenderProps, ScrollUProps, ScrollURef, UpdateNodeHandle };