@dsmlll/react-scroll
Version:
A React library for synchronizing scroll between a navigation component and content sections, with click-to-scroll functionality.
21 lines (20 loc) • 718 B
TypeScript
export interface ScrollSyncOptions {
debounceDelay?: number;
stickinessFactor?: number;
observerThreshold?: number | number[];
activeLineOffset?: number;
activeZoneHeight?: number;
defaultScrollBehavior?: ScrollBehavior;
}
export interface UseScrollSyncProps {
scrollContainerRef: React.RefObject<HTMLElement | null>;
navTabsRef?: React.RefObject<HTMLElement | null>;
sections: Record<string, React.RefObject<HTMLElement | null>>;
initialActiveTab?: string;
onActiveTabChange?: (tabId: string) => void;
options?: ScrollSyncOptions;
}
export interface UseScrollSyncReturn {
activeTab: string;
handleTabClick: (tabId: string, behavior?: ScrollBehavior) => void;
}