UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

66 lines (65 loc) 2.75 kB
/// <reference types="react" /> import { IAutofillProps, IAutofill } from './Autofill.types'; import { BaseComponent, KeyCodes } from '../../Utilities'; export interface IAutofillState { displayValue?: string; } export declare class Autofill extends BaseComponent<IAutofillProps, IAutofillState> implements IAutofill { static defaultProps: { enableAutofillOnKeyPress: KeyCodes[]; }; private _inputElement; private _autoFillEnabled; private _value; constructor(props: IAutofillProps); readonly cursorLocation: number | null; readonly isValueSelected: boolean; readonly value: string; readonly selectionStart: number | null; readonly selectionEnd: number | null; readonly inputElement: HTMLInputElement | null; componentWillReceiveProps(nextProps: IAutofillProps): void; componentDidUpdate(): void; render(): JSX.Element; focus(): void; clear(): void; private _onCompositionStart; private _onCompositionEnd; private _onClick; private _onKeyDown; private _onInputChanged; private _onChanged; private _getCurrentInputValue(ev?); /** * Attempts to enable autofill. Whether or not autofill is enabled depends on the input value, * whether or not any text is selected, and only if the new input value is longer than the old input value. * Autofill should never be set to true if the value is composing. Once compositionEnd is called, then * it should be completed. * See https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent for more information on composition. * @param newValue * @param oldValue * @param isComposing if true then the text is actively being composed and it has not completed. * @param isComposed if the text is a composed text value. */ private _tryEnableAutofill(newValue, oldValue, isComposing?, isComposed?); private _notifyInputChange(newValue); /** * Updates the current input value as well as getting a new display value. * @param newValue The new value from the input */ private _updateValue; /** * Returns a string that should be used as the display value. * It evaluates this based on whether or not the suggested value starts with the input value * and whether or not autofill is enabled. * @param inputValue the value that the input currently has. * @param suggestedDisplayValue the possible full value */ private _getDisplayValue(inputValue, suggestedDisplayValue?); private _doesTextStartWith(text, startWith); } /** * Legacy, @deprecated, do not use. */ export declare class BaseAutoFill extends Autofill { }