UNPKG

react-intersection-observer-hook

Version:
29 lines (25 loc) 1.54 kB
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>; type IntersectionObserverHookArgs = Omit<IntersectionObserverInit, 'root'>; type IntersectionObserverHookRefCallbackNode = Element | null; type IntersectionObserverHookRefCallback = (node: IntersectionObserverHookRefCallbackNode) => VoidFunction; type IntersectionObserverHookRootRefCallbackNode = IntersectionObserverInit['root']; type IntersectionObserverHookRootRefCallback = (node: IntersectionObserverHookRootRefCallbackNode) => VoidFunction; type IntersectionObserverHookResult = [ IntersectionObserverHookRefCallback, { entry: IntersectionObserverEntry | undefined; rootRef: IntersectionObserverHookRootRefCallback; } ]; declare function useIntersectionObserver(args?: IntersectionObserverHookArgs): IntersectionObserverHookResult; type TrackVisibilityHookArgs = IntersectionObserverHookArgs & { once?: boolean; }; type TrackVisibilityHookResult = [ IntersectionObserverHookResult[0], IntersectionObserverHookResult[1] & { isVisible: boolean; } ]; declare function useTrackVisibility(args?: TrackVisibilityHookArgs): TrackVisibilityHookResult; export { type IntersectionObserverHookArgs, type IntersectionObserverHookRefCallback, type IntersectionObserverHookRefCallbackNode, type IntersectionObserverHookResult, type IntersectionObserverHookRootRefCallback, type IntersectionObserverHookRootRefCallbackNode, type TrackVisibilityHookArgs, type TrackVisibilityHookResult, useIntersectionObserver, useTrackVisibility };