UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

71 lines (70 loc) 2.77 kB
/// <reference types="react" /> import { IDropdownProps } from './Dropdown.types'; import { IWithResponsiveModeState } from '../../utilities/decorators/withResponsiveMode'; import { BaseComponent } from '../../Utilities'; export interface IDropdownInternalProps extends IDropdownProps, IWithResponsiveModeState { } export interface IDropdownState { isOpen?: boolean; selectedIndices?: number[]; } export declare class Dropdown extends BaseComponent<IDropdownInternalProps, IDropdownState> { static defaultProps: { options: any[]; }; private static Option; private _root; private _host; private _focusZone; private _dropDown; private _dropdownLabel; private _id; private _isScrollIdle; private readonly _scrollIdleDelay; private _scrollIdleTimeoutId; constructor(props: IDropdownProps); componentWillReceiveProps(newProps: IDropdownProps): void; componentDidUpdate(prevProps: IDropdownProps, prevState: IDropdownState): void; render(): JSX.Element; focus(shouldOpenOnFocus?: boolean): void; setSelectedIndex(index: number): void; private _copyArray(array); /** * Finds the next valid Dropdown option and sets the selected index to it. * @param stepValue Value of how many items the function should traverse. Should be -1 or 1. * @param index Index of where the search should start * @param selectedIndex The selectedIndex Dropdown's state * @returns The next valid dropdown option's index */ private _moveIndex(stepValue, index, selectedIndex); private _onRenderTitle(item); private _onRenderPlaceHolder(props); private _onRenderContainer(props); private _onRenderCaretDown(props); private _onRenderList(props); private _onRenderItem(item); private _renderSeparator(item); private _renderHeader(item); private _renderOption(item); private _onRenderOption(item); private _onPositioned(); private _onItemClick(index); /** * Scroll handler for the callout to make sure the mouse events * for updating focus are not interacting during scroll */ private _onScroll(); private _onItemMouseEnter(item, ev); private _onItemMouseMove(item, ev); private _onMouseItemLeave(item, ev); private _onDismiss(); private _getSelectedIndexes(options, selectedKey); private _getAllSelectedOptions(options, selectedIndices); private _getAllSelectedIndices(options); private _getSelectedIndex(options, selectedKey); private _onDropdownBlur(ev); private _onDropdownKeyDown(ev); private _onDropdownKeyUp(ev); private _onZoneKeyDown(ev); private _onDropdownClick(ev); }