UNPKG

@speaker-ender/react-scrollr

Version:
18 lines 1.48 kB
import React, { MutableRefObject, ReactNode } from "react"; export declare type IScrollOptions = { withContext?: boolean; }; export declare type IScrollState = ReturnType<typeof useScrollState>; export declare const ScrollContext: React.Context<[scrollRef: React.MutableRefObject<ScrollState | undefined>, registerScrollCallback: (callback: ScrollCallback) => void, unregisterScrollCallback: (callback: ScrollCallback) => void, setElementContext: (element: HTMLElement) => void] | null>; export interface IScrollContextProvider extends Partial<IScrollOptions> { children?: ReactNode; } export interface ScrollState { currentPosition: number; prevPosition?: number; } export declare type ScrollCallback = (scroll?: number, lastScroll?: number) => void; export declare const useScrollState: ({ withContext, }: IScrollOptions) => [scrollRef: React.MutableRefObject<ScrollState | undefined>, registerScrollCallback: (callback: ScrollCallback) => void, unregisterScrollCallback: (callback: ScrollCallback) => void, setElementContext: (element: HTMLElement) => void]; export declare const useScrollContext: () => [scrollRef: React.MutableRefObject<ScrollState | undefined>, registerScrollCallback: (callback: ScrollCallback) => void, unregisterScrollCallback: (callback: ScrollCallback) => void, setElementContext: (element: HTMLElement) => void]; export declare const ScrollContextProvider: React.FC<IScrollContextProvider>; //# sourceMappingURL=scroll.context.d.ts.map