UNPKG

@uifabric/experiments

Version:

Experimental React components for building experiences for Office 365.

30 lines (29 loc) 1.31 kB
/// <reference types="react" /> import * as React from 'react'; import { IVirtualizedListProps } from './VirtualizedList.types'; import { IScrollContainerContext, ScrollContainerContextTypes } from '../../utilities/scrolling/ScrollContainer'; import { IObjectWithKey } from 'office-ui-fabric-react/lib/Selection'; import { BaseComponent } from 'office-ui-fabric-react/lib/Utilities'; export interface IVirtualizedListState { viewportHeight: number; items: React.ReactNode[]; } export declare class VirtualizedList<TItem extends IObjectWithKey> extends BaseComponent<IVirtualizedListProps<TItem>, IVirtualizedListState> { static contextTypes: typeof ScrollContainerContextTypes; context: IScrollContainerContext; private _root; private _spacerElements; private _focusedIndex; constructor(props: IVirtualizedListProps<TItem>, context: IScrollContainerContext); componentDidMount(): void; componentDidUpdate(): void; componentWillUpdate(): void; render(): JSX.Element; private _updateObservedElements(); private _renderItems(scrollTop, viewportHeight); private _renderRanges(ranges); private _renderSpacerItem(numberOfItems, index); private _spacerRef; private _render(scrollTop); private _onFocus(ev); }