UNPKG

@ducor/hooks

Version:

A collection of useful React hooks for building modern web applications. Includes hooks for clipboard operations, window events, intervals, timeouts, and more.

41 lines (40 loc) 1.13 kB
import { CSSProperties, RefObject } from 'react'; import { ObserverRect } from '@ducor/types'; interface ScrollOffset { x: number; y: number; } interface ScrollPositionReturn { scrollOffset: ScrollOffset; setScrollOffset: (scrollPosition: ScrollOffset) => void; scrollPercent: { x: number; y: number; }; setScrollPercent: (scrollPosition: ScrollOffset) => void; containerRef: RefObject<HTMLElement>; containerRect: ObserverRect; contentRef: RefObject<HTMLElement>; contentRect: ObserverRect; contentSize: { height: number; width: number; }; getStyles: () => CSSProperties; scrollTo: (attr: ScrollTo) => void; } interface ScrollToPlacement { position: "top" | 'right' | 'bottom' | 'left'; incrementValue?: number; } interface ScrollToAxis { x?: number; y?: number; } export type ScrollTo = ScrollToPlacement | ScrollToAxis; interface UseScrollProps { scrollHideDelay?: number; smoothScroll?: boolean; } export declare const useScroll: (props?: UseScrollProps) => ScrollPositionReturn; export default useScroll;