UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

52 lines (51 loc) 2.32 kB
/// <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); }