office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
52 lines (51 loc) • 2.32 kB
TypeScript
/// <reference types="react" />
import * as React from 'react';
import * as PropTypes from 'prop-types';
import { BaseComponent } from '../../Utilities';
import { IScrollablePane, IScrollablePaneProps } from './ScrollablePane.types';
import { Sticky } from '../../Sticky';
export interface IScrollablePaneContext {
scrollablePane: PropTypes.Requireable<object>;
}
export declare class ScrollablePaneBase extends BaseComponent<IScrollablePaneProps, {}> implements IScrollablePane {
static childContextTypes: React.ValidationMap<IScrollablePaneContext>;
refs: {
root: HTMLElement;
stickyContainer: HTMLElement;
stickyAbove: HTMLElement;
stickyBelow: HTMLElement;
};
private _subscribers;
private _stickyAbove;
private _stickyBelow;
constructor(props: IScrollablePaneProps);
getChildContext(): {
scrollablePane: {
subscribe: (handler: (headerBound: ClientRect, footerBound: ClientRect) => void) => void;
unsubscribe: (handler: (headerBound: ClientRect, footerBound: ClientRect) => void) => void;
addStickyHeader: (sticky: Sticky) => void;
removeStickyHeader: (sticky: Sticky) => void;
addStickyFooter: (sticky: Sticky) => void;
removeStickyFooter: (sticky: Sticky) => void;
notifySubscribers: (sort?: boolean | undefined) => void;
};
};
componentDidMount(): void;
componentWillUnmount(): void;
render(): JSX.Element;
forceLayoutUpdate(): void;
subscribe(handler: (headerBound: ClientRect, footerBound: ClientRect) => void): void;
unsubscribe(handler: (headerBound: ClientRect, footerBound: ClientRect) => void): void;
addStickyHeader(sticky: Sticky): void;
addStickyFooter(sticky: Sticky): void;
removeStickyHeader(sticky: Sticky): void;
removeStickyFooter(sticky: Sticky): void;
notifySubscribers(sort?: boolean): void;
private _addSticky(sticky, stickyList, container, addStickyToContainer);
private _removeSticky(sticky, stickyList, container);
private _onWindowResize();
private _resizeContainer();
private _setPlaceholderHeights(stickies);
private _sortStickies(stickyList, container);
private _calculateOffsetParent(ele);
}