import "../../CommonImports"; import "../../Core/core.css"; import "./DropdownList.css"; import "./List.css"; import "./ListDropIndicator.css"; import * as React from "react"; import { IObservableArray, IReadonlyObservableValue } from '../../Core/Observable'; import { IEventDispatch } from '../../Utilities/Dispatch'; import { IItemProvider } from '../../Utilities/Provider'; import { IList, IListCellDetails, IListItemDetails, IListItemProps, IListMaterializedStats, IListProps, IOverlayRenderProps, IScrollableListProps, ISimpleListCell, ISimpleListProps } from "./List.Props"; interface IRowOverlay { id: string; columnIndex?: number; render: (props: IOverlayRenderProps) => React.ReactNode; rowIndex: number; zIndex: number; } export interface IListState { columnCount: number; eventDispatch: IEventDispatch; firstMaterialized: number; firstRendered: number; itemProvider: IItemProvider>; lastMaterialized: number; lastRendered: number; overlays: IObservableArray; pageSize: number; renderedRows: { [rowIndex: number]: JSX.Element | null; }; rowCount: number; rowHeight: number; rowProportion: number; rows: { [rowIndex: number]: T | IReadonlyObservableValue; }; scrollTop: number; virtualize: boolean; } /** * The List component is used to render a collection of items with a series of rows. */ export declare class List extends React.Component, IListState> implements IList { static contextType: React.Context; static defaultProps: Partial>; static getDerivedStateFromProps(props: Readonly>, state: Readonly>): Partial> | null; private bodyElement; private listElement; private spacerElements; private onScrollComplete?; private scrollToIndex; private scrollToOptions; private selectOnFocus; private focusIndex; private pivotIndex; constructor(props: Readonly>); private onVirtualizeKeyDown; render(): JSX.Element; componentDidMount(): void; componentDidUpdate(): void; componentWillUnmount(): void; addOverlay(id: string, rowIndex: number, render: (props: IOverlayRenderProps) => React.ReactNode, zIndex?: number, columnIndex?: number): void; removeOverlay(id: string): void; getFocusIndex(): number; getStats(): IListMaterializedStats; scrollIntoView(rowIndex: number, options?: ScrollIntoViewOptions, onScrollComplete?: (rowIndex: number) => void): void; focusRow(rowIndex: number, direction?: number): Promise; private onBlur; private onClick; private onDispatch; private onDoubleClick; private onFocusBody; private onFocusItem; private onKeyDown; private onIntersect; private onPointerDownBody; private processSelectionEvent; private renderLoadingRow; private renderOverlay; private renderRow; private getInitialTabbableRow; private renderSpacer; private getHeight; private rowActivated; private rowSelected; private rowFocused; private getFirstMaterializedItemBaseOnRowHeights; } export declare class ScrollableList extends React.Component> implements IList { private list; private scrollableElement; render(): JSX.Element; addOverlay(id: string, rowIndex: number, render: (props: IOverlayRenderProps) => React.ReactNode, zIndex?: number, columnIndex?: number): void; getStats(): IListMaterializedStats; removeOverlay(id: string): void; focusRow(rowIndex: number, direction?: number): Promise; getFocusIndex(): number; scrollIntoView(rowIndex: number, scrollToOptions?: ScrollIntoViewOptions): void; scrollTo(scrollTop: number): void; } export declare class SimpleList extends React.Component implements IList { private list; render(): JSX.Element; addOverlay(id: string, rowIndex: number, render: (props: IOverlayRenderProps) => React.ReactNode, zIndex?: number): void; removeOverlay(id: string): void; focusRow(rowIndex: number, direction?: number): Promise; getFocusIndex(): number; getStats(): IListMaterializedStats; scrollIntoView(rowIndex: number, scrollToOptions?: ScrollIntoViewOptions): void; private renderListItem; } export declare function renderListItem(rowIndex: number, details: IListItemDetails, children: JSX.Element): JSX.Element; export declare function ListItem(props: IListItemProps & { children: React.ReactNode; }): JSX.Element; export declare function renderListCell(listCell: ISimpleListCell | string | number, showOverflowTooltip?: boolean): JSX.Element; export declare function cellFromElement(element: HTMLElement | null): IListCellDetails; export declare function cellFromEvent(event: React.SyntheticEvent): IListCellDetails; export {};