44 lines
1.3 KiB
TypeScript
44 lines
1.3 KiB
TypeScript
import { EventGroup } from './EventGroup';
|
|
/**
|
|
* Placing this attribute on scrollable divs optimizes detection to know
|
|
* if the div is scrollable or not (given we can avoid expensive operations
|
|
* like getComputedStyle.)
|
|
*
|
|
* @public
|
|
*/
|
|
export declare const DATA_IS_SCROLLABLE_ATTRIBUTE = "data-is-scrollable";
|
|
/**
|
|
* Allows the user to scroll within a element,
|
|
* while preventing the user from scrolling the body
|
|
*/
|
|
export declare const allowScrollOnElement: (element: HTMLElement | null, events: EventGroup) => void;
|
|
/**
|
|
* Same as allowScrollOnElement but does not prevent overscrolling.
|
|
*/
|
|
export declare const allowOverscrollOnElement: (element: HTMLElement | null, events: EventGroup) => void;
|
|
/**
|
|
* Disables the body scrolling.
|
|
*
|
|
* @public
|
|
*/
|
|
export declare function disableBodyScroll(): void;
|
|
/**
|
|
* Enables the body scrolling.
|
|
*
|
|
* @public
|
|
*/
|
|
export declare function enableBodyScroll(): void;
|
|
/**
|
|
* Calculates the width of a scrollbar for the browser/os.
|
|
*
|
|
* @public
|
|
*/
|
|
export declare function getScrollbarWidth(doc?: Document): number;
|
|
/**
|
|
* Traverses up the DOM for the element with the data-is-scrollable=true attribute, or returns
|
|
* document.body.
|
|
*
|
|
* @public
|
|
*/
|
|
export declare function findScrollableParent(startingElement: HTMLElement | null): HTMLElement | Window | undefined | null;
|