office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
54 lines (53 loc) • 2.4 kB
TypeScript
import * as React from 'react';
import { FocusZone } from '../../FocusZone';
import { Selection } from '../../utilities/selection/index';
import { Suggestions } from './Suggestions/index';
import { IBasePickerProps } from './BasePicker.Props';
import { IPickerItemProps } from './PickerItem.Props';
import { BaseComponent } from '../../common/BaseComponent';
import './BasePicker.scss';
export interface IBasePickerState {
items?: any;
displayValue?: string;
value?: string;
moreSuggestionsAvailable?: boolean;
suggestionsVisible?: boolean;
}
export interface IHTMLInputElementWithSelectionDirection extends HTMLInputElement {
setSelectionRange(start: number, end: number, direction?: string): void;
}
export declare class BasePicker<T, P extends IBasePickerProps<T>> extends BaseComponent<P, IBasePickerState> {
protected _selection: Selection;
protected _root: HTMLElement;
protected _input: HTMLInputElement;
protected _focusZone: FocusZone;
protected _suggestionElement: Suggestions<T>;
private _suggestionStore;
private _SuggestionOfProperType;
constructor(basePickerProps: P);
componentWillReceiveProps(newProps: IBasePickerProps<T>, newState: IBasePickerState): void;
componentDidMount(): void;
focus(): void;
dismissSuggestions(): void;
completeSuggestion(): void;
render(): JSX.Element;
protected _renderSuggestions(): JSX.Element;
protected _renderItems(): JSX.Element[];
protected _resetFocus(index: number): void;
protected _onSuggestionSelect(): void;
protected _onSelectionChange(): void;
protected _updateSuggestions(suggestions: any[]): void;
protected _updateValue(updatedValue: string): void;
protected _updateDisplayValue(updatedValue: string, itemValue?: string): void;
protected _onChange(): void;
protected _onInputChange(ev: React.FormEvent): void;
protected _onSuggestionClick(ev: React.MouseEvent, item: any, index: number): void;
protected _onInputFocus(ev: React.FocusEvent): void;
protected _onKeyDown(ev: React.KeyboardEvent): void;
protected _onGetMoreResults(): void;
protected _addItemByIndex(index: number): void;
protected _addItem(item: T): void;
protected _removeItem(item: IPickerItemProps<T>): void;
protected _removeItems(itemsToRemove: any[]): void;
protected _onBackspace(ev: React.KeyboardEvent): void;
}