@uifabric/experiments
Version:
Experimental React components for building experiences for Office 365.
36 lines (35 loc) • 1.3 kB
TypeScript
/// <reference types="react" />
import * as PropTypes from 'prop-types';
import { IScrollContainerProps } from './ScrollContainer.types';
import { BaseComponent } from 'office-ui-fabric-react/lib/Utilities';
export interface IVisibleCallback {
(scrollTop: number): void;
}
export interface IScrollContainer {
observe(element: Element): void;
unobserve(element: Element): void;
registerVisibleCallback(callback: IVisibleCallback): void;
}
export interface IScrollContainerContext {
scrollContainer: IScrollContainer;
}
export declare const ScrollContainerContextTypes: {
scrollContainer: PropTypes.Validator<any>;
};
export declare class ScrollContainer extends BaseComponent<IScrollContainerProps> implements IScrollContainer {
static childContextTypes: typeof ScrollContainerContextTypes;
private _observer;
private _root;
private _callbacks;
private _pendingElements;
getChildContext(): IScrollContainerContext;
observe(element: Element): void;
unobserve(element: Element): void;
registerVisibleCallback(callback: IVisibleCallback): void;
render(): JSX.Element;
componentWillUnmount(): void;
private _resolveRoot;
private _onIntersection;
private _init();
private _onScroll;
}