UNPKG

2.02 kBTypeScriptView Raw
1import * as React from 'react';
2import { Sticky } from '../../Sticky';
3import type { IScrollablePane, IScrollablePaneProps } from './ScrollablePane.types';
4export interface IScrollablePaneState {
5 stickyTopHeight: number;
6 stickyBottomHeight: number;
7 scrollbarWidth: number;
8 scrollbarHeight: number;
9}
10export declare class ScrollablePaneBase extends React.Component<IScrollablePaneProps, IScrollablePaneState> implements IScrollablePane {
11 private _root;
12 private _stickyAboveRef;
13 private _stickyBelowRef;
14 private _contentContainer;
15 private _subscribers;
16 private _stickies;
17 private _mutationObserver;
18 private _notifyThrottled;
19 private _async;
20 private _events;
21 constructor(props: IScrollablePaneProps);
22 get root(): HTMLDivElement | null;
23 get stickyAbove(): HTMLDivElement | null;
24 get stickyBelow(): HTMLDivElement | null;
25 get contentContainer(): HTMLDivElement | null;
26 componentDidMount(): void;
27 componentWillUnmount(): void;
28 shouldComponentUpdate(nextProps: IScrollablePaneProps, nextState: IScrollablePaneState): boolean;
29 componentDidUpdate(prevProps: IScrollablePaneProps, prevState: IScrollablePaneState): void;
30 render(): JSX.Element;
31 setStickiesDistanceFromTop(): void;
32 forceLayoutUpdate(): void;
33 subscribe: (handler: Function) => void;
34 unsubscribe: (handler: Function) => void;
35 addSticky: (sticky: Sticky) => void;
36 removeSticky: (sticky: Sticky) => void;
37 sortSticky: (sticky: Sticky, sortAgain?: boolean | undefined) => void;
38 updateStickyRefHeights: () => void;
39 notifySubscribers: () => void;
40 getScrollPosition: () => number;
41 syncScrollSticky: (sticky: Sticky) => void;
42 private _getScrollablePaneContext;
43 private _checkStickyStatus;
44 private _addToStickyContainer;
45 private _removeStickyFromContainers;
46 private _onWindowResize;
47 private _getStickyContainerStyle;
48 private _getScrollbarWidth;
49 private _getScrollbarHeight;
50 private _onScroll;
51}