UNPKG

@speaker-ender/react-scrollr

Version:
27 lines 1.21 kB
import React, { MutableRefObject, ReactNode } from "react"; export declare type IObserverOptions = { rootMargin?: string; root?: MutableRefObject<HTMLElement | null> | null; threshold?: number[]; }; export declare type IObserverState = Partial<ReturnType<typeof useObserverState>>; declare type IObserverContext = IObserverState & IObserverOptions; export declare const ObserverContext: React.Context<IObserverContext | null>; export declare type InViewCallback = (isIntersecting: boolean, threshold: number) => void; export declare type IInViewElement = { callback: InViewCallback; untrackOnCallback?: boolean; element: Element; }; export interface IObserverContextProvider extends IObserverOptions { children?: ReactNode; } export declare const useObserverState: (props: IObserverOptions) => { inViewObserver: IntersectionObserver; registerInViewElement: (inViewElement: IInViewElement) => void; unregisterInViewElement: (inViewElement: IInViewElement) => void; }; export declare const useObserverContext: () => IObserverContext; export declare const ObserverContextProvider: React.FC<IObserverContextProvider>; export {}; //# sourceMappingURL=observer.context.d.ts.map