@payfit/unity-components
Version:
18 lines (17 loc) • 768 B
TypeScript
import { MutableRefObject, UIEventHandler } from 'react';
import { ScrollAreaAxis, ScrollEdges } from '../utils/scroll-edges.js';
export interface UseScrollEdgesOptions {
axis?: ScrollAreaAxis;
}
export interface UseScrollEdgesResult<T extends HTMLElement> {
scrollEdges: ScrollEdges;
scrollRef: MutableRefObject<T | null>;
refreshScrollEdges: () => void;
onScroll: UIEventHandler<T>;
}
/**
* Measures a native scroll viewport and reports whether content remains at its
* logical inline and block edges. It intentionally owns no visual treatment,
* so native scrollers such as textareas can reuse it.
*/
export declare function useScrollEdges<T extends HTMLElement = HTMLDivElement>({ axis, }?: UseScrollEdgesOptions): UseScrollEdgesResult<T>;