UNPKG

@scrolia/react

Version:

A headless scrollbar component

31 lines 1.23 kB
import { CompleteOptions } from "../@types/options.js"; import * as React from "react"; /** Options for the `ScrollCore` context. */ type ScrollCoreOptions = CompleteOptions; /** States for the `ScrollCore` context. */ type ScrollCoreStates = { hvTrack: boolean; setHvTrack: React.Dispatch<React.SetStateAction<boolean>>; hvThumb: boolean; setHvThumb: React.Dispatch<React.SetStateAction<boolean>>; total: React.RefObject<number>; view: React.RefObject<number>; viewOffset: React.RefObject<number>; scrollbarLength: number; setScrollbarLength: React.Dispatch<React.SetStateAction<number>>; scrollbarOffset: number; setScrollbarOffset: React.Dispatch<React.SetStateAction<number>>; }; /** Core for internal logic. */ type ScrollCore = { options: ScrollCoreOptions; contentRef: React.RefObject<HTMLDivElement | null>; x: ScrollCoreStates; y: ScrollCoreStates; }; /** `ScrollCore` context. */ declare const ScrollCoreContext: React.Context<ScrollCore | null>; /** Hook for using the `ScrollCore` context. */ declare const useScrollCore: () => ScrollCore; export { type ScrollCore, ScrollCoreContext, type ScrollCoreOptions, type ScrollCoreStates, useScrollCore }; //# sourceMappingURL=scrollcore.d.ts.map