@base-ui/react
Version:
Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.
42 lines • 1.88 kB
TypeScript
import * as React from 'react';
import type { Coords, HiddenState, OverflowEdges, Size, ScrollAreaRootState } from "./ScrollAreaRoot.js";
export interface ScrollAreaRootContext {
cornerSize: Size;
setCornerSize: React.Dispatch<React.SetStateAction<Size>>;
thumbSize: Size;
setThumbSize: React.Dispatch<React.SetStateAction<Size>>;
hasMeasuredScrollbar: boolean;
setHasMeasuredScrollbar: React.Dispatch<React.SetStateAction<boolean>>;
touchModality: boolean;
hovering: boolean;
setHovering: React.Dispatch<React.SetStateAction<boolean>>;
scrollingX: boolean;
setScrollingX: React.Dispatch<React.SetStateAction<boolean>>;
scrollingY: boolean;
setScrollingY: React.Dispatch<React.SetStateAction<boolean>>;
viewportRef: React.RefObject<HTMLDivElement | null>;
rootRef: React.RefObject<HTMLDivElement | null>;
scrollbarYRef: React.RefObject<HTMLDivElement | null>;
thumbYRef: React.RefObject<HTMLDivElement | null>;
scrollbarXRef: React.RefObject<HTMLDivElement | null>;
thumbXRef: React.RefObject<HTMLDivElement | null>;
cornerRef: React.RefObject<HTMLDivElement | null>;
handlePointerDown: (event: React.PointerEvent) => void;
handlePointerMove: (event: React.PointerEvent) => void;
handlePointerUp: (event: React.PointerEvent) => void;
handleScroll: (scrollPosition: Coords) => void;
rootId: string | undefined;
hiddenState: HiddenState;
setHiddenState: React.Dispatch<React.SetStateAction<HiddenState>>;
overflowEdges: OverflowEdges;
setOverflowEdges: React.Dispatch<React.SetStateAction<OverflowEdges>>;
viewportState: ScrollAreaRootState;
overflowEdgeThreshold: {
xStart: number;
xEnd: number;
yStart: number;
yEnd: number;
};
}
export declare const ScrollAreaRootContext: React.Context<ScrollAreaRootContext | undefined>;
export declare function useScrollAreaRootContext(): ScrollAreaRootContext;