office-ui-fabric-react
Version: 
Reusable React components for building experiences for Office 365.
75 lines (74 loc) • 2.76 kB
TypeScript
/// <reference types="react" />
import { BaseComponent } from '../../Utilities';
import { ISwatchColorPicker, ISwatchColorPickerProps } from './SwatchColorPicker.types';
export interface ISwatchColorPickerState {
    selectedIndex?: number;
}
export declare class SwatchColorPickerBase extends BaseComponent<ISwatchColorPickerProps, ISwatchColorPickerState> implements ISwatchColorPicker {
    static defaultProps: ISwatchColorPickerProps;
    private _id;
    private navigationIdleTimeoutId;
    private isNavigationIdle;
    private readonly navigationIdleDelay;
    private async;
    constructor(props: ISwatchColorPickerProps);
    componentWillReceiveProps(newProps: ISwatchColorPickerProps): void;
    render(): JSX.Element | null;
    /**
     * When the whole swatchColorPicker is blurred,
     * make sure to clear the pending focused stated
     */
    private _onSwatchColorPickerBlur();
    /**
     * Get the selected item's index
     * @param items - The items to search
     * @param selectedId - The selected item's id to find
     * @returns {number} - The index of the selected item's id, -1 if there was no match
     */
    private _getSelectedIndex(items, selectedId);
    /**
     * Render a color cell
     * @param item - The item to render
     * @returns {JSX.Element} - Element representing the item
     */
    private _renderOption(item);
    /**
     * Callback passed to the GridCell that will manage triggering the onCellHovered callback for mouseEnter
     */
    private _onMouseEnter(ev);
    /**
     * Callback passed to the GridCell that will manage Hover/Focus updates
     */
    private _onMouseMove(ev);
    /**
     * Callback passed to the GridCell that will manage Hover/Focus updates
     */
    private _onMouseLeave(ev);
    /**
     * Callback to make sure we don't update the hovered element during mouse wheel
     */
    private _onWheel();
    /**
     * Callback that
     */
    private _onKeyDown(ev);
    /**
     * Sets a timeout so we won't process any mouse "hover" events
     * while navigating (via mouseWheel or arrowKeys)
     */
    private setNavigationTimeout;
    /**
     * Callback passed to the GridCell class that will trigger the onCellHovered callback of the SwatchColorPicker
     * NOTE: This will not be triggered if shouldFocusOnHover === true
     */
    private _onGridCellHovered(item?);
    /**
     * Callback passed to the GridCell class that will trigger the onCellFocus callback of the SwatchColorPicker
     */
    private _onGridCellFocused(item?);
    /**
     * Handle the click on a cell
     * @param item - The cell that the click was fired against
     */
    private _onCellClick(item);
}