@speaker-ender/react-scrollr
Version:
React tools for scroll animations
18 lines • 1.48 kB
TypeScript
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