react-scrollsense
Version:
A lightweight scroll sensor to solve your react scroll into viewport issues.
36 lines (35 loc) • 1.13 kB
TypeScript
import { ReactChild, ReactFragment, ReactPortal } from "react";
export declare type ReactChildren = JSX.Element[] | JSX.Element | ReactChild | ReactFragment | ReactPortal | boolean | null | undefined;
export interface ScrollSensorEvent {
isIntersecting: boolean;
boundingClientRect?: DOMRect;
time?: number;
target?: HTMLElement;
rootBounds?: DOMRect;
intersectionRatio?: number;
intersectionRect?: DOMRect;
wndWidth?: number;
wndHeight?: number;
scrollTop?: number;
scrollLeft?: number;
}
export interface Tracker {
pause: Function;
resume: Function;
}
export declare type ConnectOptionsType = {
rootMargin?: String;
threshold?: number;
root?: HTMLElement;
delay?: string | number;
};
export declare type ScrollConnectedComponentProps = {
rootMargin: string;
threshold?: number;
root?: HTMLElement;
};
export declare type ScrollConnectedComponentState = {
scrollInfo: ScrollSensorEvent;
sensorProxy: Tracker | null;
};
export declare type ScrollConnectedCallbackProps = ScrollConnectedComponentProps;