react-scrollsense
Version:
A lightweight scroll sensor to solve your react scroll into viewport issues.
41 lines (40 loc) • 1.16 kB
TypeScript
import { ReactChildren, Tracker } from "../types";
export declare type NativeScrollContext = {
addTracking: (el: HTMLElement, fn: any, options: any) => Tracker;
updateTracking: (el: HTMLElement, fn: any, options: any) => void;
removeTracking: (el: HTMLElement) => void;
sensorType: 'native';
};
export interface ScrollSenseProps {
children?: ReactChildren;
config?: {
rootMargin?: string | null;
delay?: string | number;
};
}
export interface ScrollSenseState {
refreshToggle: boolean;
}
export interface ScrollEntry {
fn: (ScrollSensorEvent: any) => void;
el: HTMLElement;
isShowing: boolean;
options: ParsedNativeConfig;
overflowParent: {
el: HTMLElement;
xOverflow: boolean;
yOverflow: boolean;
};
isActive: boolean;
isScrollContainer: boolean;
isTriggered: boolean;
continuous: boolean;
}
export declare type ParsedNativeConfig = {
delay?: number;
rootMargin: ParsedRootMargin | null;
};
export declare type ParsedRootMargin = {
type: string[];
margin: [number, number, number, number];
};