UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Microsoft 365.

73 lines (72 loc) 2.73 kB
import * as React from 'react'; import { IAutofillProps, IAutofill } from './Autofill.types'; export interface IAutofillState { displayValue?: string; } /** * {@docCategory Autofill} */ export declare class Autofill extends React.Component<IAutofillProps, IAutofillState> implements IAutofill { static defaultProps: { enableAutofillOnKeyPress: number[]; }; private _inputElement; private _autoFillEnabled; private _value; private _isComposing; private _async; 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; UNSAFE_componentWillReceiveProps(nextProps: IAutofillProps): void; componentDidUpdate(): void; componentWillUnmount(): void; render(): JSX.Element; focus(): void; clear(): void; private _onCompositionStart; private _onCompositionUpdate; private _onCompositionEnd; private _onClick; private _onKeyDown; private _onInputChanged; private _onChanged; private _getCurrentInputValue; /** * 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 - new input value * @param oldValue - old input value * @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; private _notifyInputChange; /** * 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; private _doesTextStartWith; } /** * @deprecated do not use. * {@docCategory Autofill} */ export declare class BaseAutoFill extends Autofill { }